Warning: setlocale() [function.setlocale]: Passing locale category name as string is deprecated. Use the LC_* -constants instead. in /www/tk/tonnikala.net/webconf/var_tk/2002/header_notitle.conf.v1 on line 32
sunnuntai, 05.02.2012
tonnikala valkoinen [etusivu] [toimitus@tonnikala.net] [hakukone] [tietoa palvelusta]

 
 
Lue: Edellinen koko ChangeLog.


Summary of changes from v2.6.5 to v2.6.6-rc1
============================================


	[netdrvr r8169] Conversion of Rx/Tx descriptors to consistent DMA:
	- use pci_alloc_consistent() for Rx/Tx descriptors in rtl8169_open()
	  (balanced by pci_free_consistent() on error path as well as in
	  rtl8169_close());
	- removal of the fields {Rx/Tx}DescArrays in struct rtl8169_private
	  as there is no need to store a non-256 bytes aligned address any more;
	- fix for rtl8169_open() leak when RxBufferRings allocation fails.
	  Said allocation is pushed to rtl8169_init_ring() as part of an evil
	  cunning plan.


	[netdrvr r8169] Conversion of Rx data buffers to PCI DMA
	- endianness is kept in a fscked state as it is in the original code
	  (will be adressed in a later patch);
	- rtl8169_rx_clear() walks the buffer ring and releases the allocated
	  data buffers. It needs to be used in two places: 
	  - rtl8169_init_ring() failure path;
	  - normal device release (i.e. rtl8169_close);
	- rtl8169_free_rx_skb() releases a Rx data buffer. Mostly an helper
	  for rtl8169_rx_clear(). As such it must:
	  - unmap the memory area;
	  - release the skb;
	  - prevent the ring descriptor from being used again;
	- rtl8169_alloc_rx_skb() prepares a Rx data buffer for use.
	  As such it must:
	  - allocate an skb;
	  - map the memory area;
	  - reflect the changes in the ring descriptor.
	  This function is balanced by rtl8169_free_rx_skb().
	- rtl8169_unmap_rx() simply helps with the 80-columns limit.
	- rtl8169_rx_fill() walks a given range of the buffer ring and
	  try to turn any descriptor into a ready to use one. It returns the
	  count of modified descriptors and exits if an allocation fails.
	  It can be seen as balanced by rtl8169_rx_clear(). Motivation:
	  - partially abstract the (usually big) piece of code for the refill
	    logic at the end of the Rx interrupt;
	  - factorize the refill logic and the initial ring setup.
	- simple conversion of rtl8169_rx_interrupt() without rx_copybreak
	  (will be adressed in a later patch).


	[netdrvr r8169] rtl8169_start_xmit fixes:
	- it forgot to update stats if the skb couldn't be expanded;
	- it didn't free it either if the descriptor was not available;
	- move the spin_unlock nearer of the exit point instead of duplicating
	  it in the new branch.


	[netdrvr r8169] Conversion of Tx data buffers to PCI DMA:
	- endianness is kept in a fscked state as it is in the original code
	  (will be adressed in a later patch);
	- buf_addr of an unmapped descriptor is always set to the same value 
	  (cf rtl8169_unmap_tx_skb);
	- nothing fancy, really.


	[netdrvr r8169] Rx copybreak for small packets.
	- removal of rtl8169_unmap_rx() (unneeded as for now).


	[netdrvr r8169] Add {mac/phy}_version.
	- change of identification logic in rtl8169_init_board();
	- {chip/rtl_chip}_info are merged in rtl_chip_info;
	- misc style nits (lazy braces, SHOUTING MACROS from realtek converted to
	  functions).


	[netdrvr r8169] Merge of changes done by Realtek to rtl8169_init_one():
	- phy capability settings allows lower or equal capability as suggested
	  in Realtek's changes;
	- I/O voodoo;
	- no need to s/mdio_write/RTL8169_WRITE_GMII_REG/;
	- s/rtl8169_hw_PHY_config/rtl8169_hw_phy_config/;
	- rtl8169_hw_phy_config(): ad-hoc struct "phy_magic" to limit duplication
	  of code (yep, the u16 -> int conversions should work as expected);
	- variable renames and whitepace changes ignored.


	[netdrvr r8169] Merge of timer related changes from Realtek:
	- changed their timeout value from 100 to HZ to trigger rtl8169_phy_timer();
	- s/TX_TIMEOUT/RTL8169_TX_TIMEOUT/ to have RTL8169_{TX/PHY}_TIMEOUT.


	[netdrvr r8169] Merge of changes from Realtek:
	- register voodoo in rtl8169_hw_start().


	[netdrvr r8169] Driver forgot to update the transmitted bytes counter.
	Originally done in rtl8169_start_xmit() by Realtek.


	[netdrvr r8169] Modification of the interrupt mask (RealTek).


	[netdrvr r8169] Suspend/resume code (Fernando Alencar Marótica).


	[netdrvr r8169] fix RX
	
	Brown paper bag time: the Rx descriptors are contiguous and EORbit only
	marks the last descriptor in the array. OWNbit implicitly marks the end
	of the Rx descriptors segment which is owned by the nic.


	[netdrvr r8169] Endianness update (original idea from Alexandra N. Kossovsky):
	- descriptors status (bitfields enumerated as _DescStatusBit);
	- address of buffers stored in Rx/Tx descriptors.


	[netdrvr r8169] Stats fix (Fernando Alencar Marótica ).


	[PATCH] 2.6.1-rc1-mm1 - typo of death in the r8169 driver
	
	  silly bug in the r8169 driver.


	[netdrvr r8169] fix oops by removing __devinitdata marker


	[netdrvr r8169] fix rx counter masking bug


	[netdrvr r8169] fix phy initialization loop init


	[netdrvr r8169] fix TX race
	
	- possible tx descriptor index overflow (assume tp->dirty_tx = NUM_TX_DESC/2,
	  tp->cur_tx = NUM_TX_DESC - 1 and watch TxDescArray for example);
	- the status of an inadequate descriptor is checked.
	
	NB: the bug will not necessarily noticed when tx_left == 1.


	[netdrvr r8169] Rx wrap bug:
	- rtl8169_rx_interrupt() can wrap and process an Rx descriptor that it has
	  invalidated a few iterations before. The patch limits the number of
	  allowed descriptors between two invocations of the Rx refill function;
	- rtl8169_rx_interrupt() now looks similar to rtl8169_tx_interrupt to
	  highlight the issue.
	


	[PATCH] PATCH [1/15] qla2xxx:  Update copyright banner
	
	Update copyright banner for all source files.


	[PATCH] PATCH [2/15] qla2xxx:  Track DSDs used by an SRB
	
	Track the number of DSDs and request entries required for an
	SRB in case of a request-entry or command-slot shortage.


	[PATCH] PATCH [3/15] qla2xxx:  Increase MBX IOXB timeout
	
	Fix a problem where during heavy I/O the driver would
	improperly timeout an outstanding MBX IOCB before the
	firmware itself had a chance to issue and wait for the
	command to timeout.


	[PATCH] PATCH [4/15] qla2xxx:  Endianess fix while reading stats
	
	Return firmware statistics retrieved from
	qla2x00_get_link_status() in host-endian form.


	[PATCH] RE: PATCH [5/15] qla2xxx:  request entries update
	
	For now, I'd say keep everything in the original patch except the
	hunk that changes SG_ALL -> 32, revised patch attached.


	[PATCH] PATCH [6/15] qla2xxx:  Track error-state of SBRs
	
	Consistenly track the error-state of a failed SRB.


	[PATCH] PATCH [7/15] qla2xxx:  Misc. updates with FO resync
	
	Misc. updates due to resync with non-embedded (failover-aware) driver.
	
	   o Add ancillary support definitions.
	   o Remove extraneous *_IOCTL #ifs.
	   o Make qla2x00_cmd_timeout() and its support routines visible to the
	     non-embedded driver.


	[PATCH] PATCH [8/15] qla2xxx:  Use proper HA references
	
	Fix issue where the driver would reference the incorrect HA
	during loop state check.


	[PATCH] PATCH [9/15] qla2xxx:  NVRAM id-list updates
	
	Resync with latest NVRAM subsystem ID list.


	[PATCH] PATCH [10/15] qla2xxx: Use fcports list for targets
	
	Consistently use the fcports list of an HA to iterate through the
	known target devices.


	[PATCH] PATCH [11/15] qla2xxx: Add login-retry-count override
	
	Add a module parameter to override the NVRAM's login retry count
	value.


	[PATCH] PATCH [12/15] qla2xxx: Restore update state during resync
	
	Restore the UPDATE state of the HA if a resync event occurs during
	a device (re)discovery.


	[PATCH] PATCH [13/15] qla2xxx: Device reset fix
	
	During a back-door device reset call, hold off execution of
	commands until the reset is complete.


	PATCH [14/15] qla2xxx: 23xx/63xx firmware updates
	
	Andrew Vasquez 
	
	Resync with latest released firmware -- 3.02.26.


	[PATCH] PATCH [15/15] qla2xxx: Update driver version
	
	Update version number to 8.00.00b11-k (to indicate embedded driver).


	[PATCH] USB multi-card reader blacklist updates
	
	Here's a couple more blacklist entries.
	Seems everyone suddenly rushed out and bought one of these multi-card readers.
	
			Dave


	[PATCH] Fix error handler offline behaviour
	
	No-one seems to have noticed, but there's a bug in our offline handling
	which can cause the eh to loop forever when it tries to offline a device
	(basically offline I/O rejections are done in prep, which doesn't work
	for already prepped commands).
	
	The attached fixes this, and also sweeps offline up into a fairly fully
	fledged scsi state model.
	
	With this applied I can now offline my root device under load without
	causing a SCSI hang (ext2 BUG()s rather unhappily but at least that's
	not a SCSI problem).


	[PATCH] aacraid reset handler update
	
	This is an update from the Adaptec version of the driver to the aacraid
	reset handler.  The current code has a logic error that is fixed by this
	version.  This builds against 2.6.5-rc1.


	[PATCH] Replace scsi_host flags with scsi_device sdev_bflags
	
	Replace the scsi_host flags with scsi_device sdev_bflags. Change USB to
	set sdev_bflags in its new slave_alloc function.


	[PATCH] Add 192 byte MODE SENSE flag
	
	Add a BLIST_MS_192_BYTES_FOR_3F flag. If it is set, sends a 192 byte MODE
	SENSE in sd.c.


	SCSI: correct blacklist entry


	[CPUFREQ] If ->init fails, unregister cpufreq driver.
	Some cpufreq drivers can only tell whether they work while the per-CPU
	->init() function is executed [e.g. the acpi driver]. So that cpufreq_driver
	isn't blocked by such stale drivers, unload them unless the driver sets a
	special flag.


	[CPUFREQ] Use KERN_WARNING for warning.


	[CPUFREQ] Move the centrino table matching into an own function
	Only the FEATURE_EST bit for CPU 0 is checked in module_init() directly.
	As cpufreq drivers aren't sticky any longer (see previous patch),
	this will not change user-visible behaviour.


	[CPUFREQ] Merge ACPI perflib.
	Use ACPI _PSS data to determine valid frequency and voltage pairs on Enhanced
	SpeedStep-capable processors. An original form of such ACPI-PentiumM-cpufreq
	interaction was sent to the cpufreq list by David Moore in June last year; the
	attached patch utilizes his code to set _PDC.
	                                                                                                   
	The new ACPI "P-States library" is utilized to obtain the correct frequency
	and MSR value pairs for the speedstep-centrino driver. Only if no such proper
	table exists (!CONFIG_ACPI, broken ACPI tables, etc.), fall back to the
	existing hard-coded table.
	                                                                                                   
	If anyone has a better idea for the Kconfig section, please tell me so.
	                                                                                                   
	This version of this patch has proper acpi_state setting included, and also
	has a hint in the banner of the centrino_cpu_init_acpi() function, as Jeremey
	Fitzhardinge suggested.


	[CPUFREQ] Export an array of available frequency settings of the centrino driver.


	[CPUFREQ] Fix up centrino initcall level
	centrino_init needs to be late_initcall so that the ACPI processor module
	is completely up and running.


	[CPUFREQ] SPEEDSTEP_RELAXED_CAP_CHECK option.
	A few SpeedStep-capable systems don't perform according to specification: the
	CPUID and/or some MSRs don't tell us the CPU is SpeedStep capable even though
	it definitely is. Allow a relaxed checking for one such issue by a module
	parameter only available if a config option is turned on. This is done to
	avoid the risk of doing invalid speedstep instructions on systems which do
	not support it, and which might even lead to (hardware) failure.
	                                                                                                   
	Patch originally from Andres Aeriksson (?) aeriksson at fastmail (dot) fm


	[CPUFREQ] Fix an off-by-10 value in the detection of the Pentium M processor frequency.


	[CPUFREQ] Extra __init section function for longrun driver.
	From Luiz Fernando Capitulino


	[CPUFREQ] Extra __init section function for longhaul driver.
	From Luiz Fernando Capitulino


	[PATCH] I2C: w83781d fan_div code refactoring
	
	Quoting myself:
	
	> This tends to increase the size of the three set_store_regs_fan_div
	> functions, and I am considering refactoring them at some point. Later
	> though.
	
	Here is the promised refactoring. Tested on my AS99127F rev.1, seems to
	work. As for the previous patch, there is a part that I cannot test with
	the AS99127F, so additional testing is welcome.
	
	I agree this makes the code slightly less readable, but this saves 60
	lines of code (1754 bytes, around 3% of the driver total), and is
	actually far less complex that I first feared.


	[PATCH] I2C: add new chip driver: pcf8574
	
	Please find below a patch against kernel 2.6.5-rc1 to add the pcf8574
	driver (an I/O expander for the I2C bus). I have ported it from the 2.4
	version, and it includes some fixes and simplifications.
	
	It has been reviewed by Jean Delvare on IRC.


	[PATCH] Fix scsi_transport_spi.c for gcc-2.95.3
	
	Work around the gcc-2.95 token pasting bug.


	[libata] Add driver for SiS 964/180 SATA.


	[libata sata_sis] minor cleanups


	[PATCH] More domain validation fixes and additions
	
	Following testing in more extreme situations, the following problems
	turned up:
	
	- The error handler can offline the device during DV (most particularly
	true when transport parameters are undetectably mismatched).  Fixed by
	modifying the state model to allow this and then having DV set the
	device back online for the retry.
	
	- DV needs to be serialised.  Fixed by introducing a per device
	semaphore.
	
	- Cosmetically, it's nice to trigger DV from userland, so added a
	revalidate sysfs entry.


	[libata] use new pci_dma_error() to check for pci_map_single() failure


	[libata] use kmap_atomic() rather than kmap()


	[libata ata_piix] do not disable SATA port on module unload
	
	We were disabling the SATA port, but not enabling it on module load.
	So, modprobe+rmmod+modprobe would fail.


	[libata ata_piix] clean up combined mode handling


	[libata ata_piix] fix combined mode device detection
	
	SATA port detection should not have assumed that a single SATA port
	mapped to a single struct ata_port.  Combined mode breaks this
	assumption.
	
	Change code to simply detect if one or more devices are present
	on the struct ata_port, which is what we really wanted to do.


	[libata sata_promise] check for PATA port on PDC20375
	
	We don't handle it yet, but this prints out a message in its presence,
	permitting verification of the check and informing users why their
	PATA device is not recognized.


	[libata] set up some of the per-command data beforehand
	
	The data transfer mode and the set of read/write commands we generate
	during normal operation remains constant until we change the data
	transfer mode.
	
	This removes a series of branches in the read/write fast path,
	and in general cleans up that particular spot of code.


	[libata] consolidate data transfer mode handling
	
	The various ways you can send data to/from your ATA device is
	known as the ATA taskfile protocol:  PIO single sector, PIO
	multiple sector, DMA, DMA TCQ, DMA NCQ, ...
	
	Prior to this change, the data direction (read/write) was encoded
	implicitly into the ATA_PROT_xxx value itself.  This increased
	complexity in some areas, and inhibited flexibility in others.
	
	This change separates data direction from taskfile protocol, and also
	moves the data direction flag (ATA_QCFLAG_WRITE) down to a lower
	level (ATA_TFLAG_WRITE).


	[ata] move some generic stuff linux/libata.h -> linux/ata.h
	
	struct ata_taskfile is generic, and so far its flags (ATA_TFLAG_xxx)
	
	Also, move ATA_PROT_xxx definitions into their own enum.


	[PATCH] I2C: Discard out-of-date comment in adm1021 driver
	
	This simple patch discards an out-of-date comment in the adm1021 driver.
	I've done the same in our CVS repository where many more drivers were
	affected.
	
	I agree it's not very important, but I prefer it to be done before any
	driver with the error is used as a base to port a new driver, and the
	misinformation spreads.


	[PATCH] I2C: initialize fan_mins in w83781d, asb100 and lm78
	
	Quoting myself:
	
	> While testing, I found a corner case that isn't handled properly. It
	> doesn't seem to be handled by the lm78 and the asb100 either. Setting
	> fanN_div before ever reading from the chip or setting fanN_min will
	> make use of fanN_min while it was never initialized.
	
	The following patch addesses the issue. Tested to work on my AS99127F
	rev.1 (which means that only the changes to the w83781d driver were
	actually tested). Testers welcome.


	[PATCH] USB: FTDI 232BM "USB-RS232 OptoBridge"
	
	we (the german company Gude Analog und Digitalsysteme GmbH,
	http://www.gude.info) have manufactored a USB<->RS232 adapter with
	galvanic isolated RS232 Interface. Data is transmitted by optical
	signals only.
	
	The Product's name is "USB-RS232 OptoBridge".
	We used the FTDI 233BM Chip with PID 0xE889 (VID 0x0403).
	The Product will be released this Cebit 2004.
	
	Could you please extend the ftdi_sio code with this PID.
	You find a .diff file attached which I have tested with kernel 2.6.4
	
	At http://ftdi-usb-sio.sourceforge.net/ I saw that you provide a patch
	for 2.4.x kernels. Will our PID also find it's way in this back-ported
	driver patch?
	
	In the future (in the next 10 month), our company will have some more
	Products using the FTDI Chip. The PID's FTDI already allocated for us
	are: E888 to E88F and E808 to E80F
	
	
	Thank you very much,
	   Martin Bachem


	[PATCH] USB: kernel-doc comment tweak
	
	Correct kernel-doc comment with incorrect parameters documented


	[PATCH] USB: gadget zero does endpoint autoconfig
	
	Here's where all those preceding autoconfig patches start
	to fit together:  one gadget driver gets rid of almost all
	the controller-specific #ifdeffery.
	
	Two of the other gadget drivers can do the same thing,
	and just as easily:  file storage, and serial.  (I'll
	hope their maintainers do those changes though.)
	
	The "ether.c" gadget driver is a lot more complicated to
	do this way since it has to cope with some differences
	by switching to alternate protocols (CDC Ethernet vs
	a subset) and soon be able to handle RNDIS.  So that'll
	be a while yet.
	
	
	Gadget Zero learns to autoconfigure.
	
	    - Gets rid of remaining controller-specific #ifdeffery.  Now
	      hardware choices can be made at run time too (not just
	      compile time).
	
	    - Simplifies its use of the "DEBUG" CPP symbol.
	
	    - Force device to report itself consistently as self-powered.


	[PATCH] USB: rtl8150 update
	
	adds two more vid/did and better packet error statistics.  Link
	detection also has been added.


	[libata] pci_dma_error() was renamed to pci_dma_mapping_error()


	[libata] reduce diff with 2.4 libata backport


	[libata] use scsi host lock
	
	In 2.4 we release io_request_lock and take our own per-host lock,
	in the ->queuecommand() hook.  In 2.6, the SCSI layer provides a
	useful to simply use the lock we already have, via scsi_assign_lock().


	[PATCH] USB: new cypress thermometer driver


	[PATCH] USB: add cytherm driver to the build


	[PATCH] USB: USB gadgets can autoconfigure endpoints
	
	This adds some code that gadget drivers can call from
	driver initialization, to simplify the "configure against
	this hardware" step.
	
	
	Add endpoint autoconfiguration for gadget drivers.
	
	Endpoint selection is currently being done with conditional compilation.
	That doesn't look nice, but more importantly it doesn't work well with
	the model that some distributions won't be custom-matched to hardware.
	Say, a PDA distro running on iPaq (pxa2xx_udc) or Axim (mq11xx_udc).
	
	This code just makes it easier for drivers to match to hardware at
	run-time.  It's a convenience function for something they could have
	been doing already, but weren't.


	[libata] documentation, and a couple tiny cleanups
	
	Add more per-function source code documentation.  Some of this stuff
	is esoteric ATA crapola, and definitely needed to be documented.
	
	Also, two tiny cleanups spotted while documenting:
	* kill unused arg from internal function ata_dev_try_classify()
	* kill unused return value from ata_dev_id_string()


	[PATCH] USB: Improve core/config.c error messages
	
	This patch improves error reporting in the configuration parsing routines.
	It also adds a few extra minor tweaks.
	
		#include linux/config.h and make the usual DEBUG settings
		available.
	
		Use the driver-model dev_xxx() macros for log output.
	
		Be much more explicit about the nature of errors, including
		configuration, interface, and altsetting numbers where
		appropriate.
	
		Log fatal problems as errors, non-fatal ones as warnings.
	
		Remove a #define'd constant that is already set in linux/usb.h.
	
		Fix some variables declared as pointer to char that really
		should be pointers to unsigned char.
	
		Replace a whole bunch of "out-of-memory" error messages with
		a single message.
	
		Wrap source lines that are longer than 80 columns (but not
		log output lines!).
	
		Clean up the logic for detecting errors when retrieving a
		configuration descriptor.
	
	Apart from the log messages themselves, this introduces no functional
	changes.


	[PATCH] USB: Code improvements for core/config.c
	
	This patch makes some improvements to the code in config.c.
	
		Create a subroutine to handle the repeated task of skipping
		forward to the next descriptor of a certain type.
	
		Remove some fairly useless debugging messages (they could
		never even have been enabled in the pre-as221 code).
	
		Verify that endpoint descriptors don't have an address
		equal to 0 (as well as not being above 15).
	
		Rename some local variables so they are a little more
		consistent and meaningful.
	
	Despite all the changes, the functionality should remain the same.
	Please apply.


	[PATCH] USB: fix osdl bugid 481 (USB boot messages)
	
	Some boot-time messages were obnoxiously long because
	they used "old-style" diagnostics.
	
	
	OSDL bugid 481
	
	Get rid of most remaining "old style" diagnostics from usbcore.
	Most messages use driver model style diagnostics.  Messages that
	don't have an associated device use the standard kernel printk
	wrappers and label themselves as from "usbcore".  (Except that
	there's no such wrapper for KERN_ERR.)
	
	This doesn't touch usbfs, "config.c" (Alan's patches do this), or
	usb_reset_device() (needs a more substantial overhaul).  Or any
	other USB drivers (notably HID).


	[PATCH] USB: fix osdl bugid 2006 (timer init and fault paths)
	
	Need to initialize timers a bit earlier to handle
	certain initialization faults.
	
	
	OSDL bug 2006
	
	Need to initialize some timers a bit earlier to clean up safely
	after very early init HCD failures.
	
	Those early init faults were needlessly mysterious since they
	didn't emit diagnostics except at HCD discretion.


	[PATCH] USB: Unusual_devs update
	
	On Tue, 16 Mar 2004, John Katzmaier wrote:
	
	> Hi,
	>
	> Just wanted to let you know that when using my Panasonic PV-SD4090 digital
	> camera with kernel 2.6.3, I found this entry in my logs:
	>
	> Mar 16 21:43:27 rocket kernel: usb-storage: Vendor: Panasonic
	> Mar 16 21:43:27 rocket kernel: usb-storage: Product: LS-120 Camera
	> Mar 16 21:43:27 rocket kernel: usb-storage: This device (04da,0901,0109 S 00 P
	> 00) has an unneeded Protocol entry in unusual_devs.h
	> Mar 16 21:43:27 rocket kernel:    Please send a copy of this message to
	> 
	>
	> I thought it might be best to follow its instructions and so I did.
	>
	> Thanks.
	>
	> -John Katzmaier
	
	Thank you for sending this in.  An update will appear in a forthcoming
	kernel.
	
	Greg, here's the patch.


	[PATCH] USB: Regularize unusual_devs entries for Genesys Logic
	
	I saw that you just added another unusual_devs.h entry submitted by
	Henning Schild, for vendor ID 0x05e3.  It turns out this is our old friend
	Genesys Logic.
	
	A recent message from Brad Campbell included a Windows driver file by
	Genesys, and it included these lines:
	
	USB\VID_05E3&PID_0700.DeviceDesc="USB Card Reader"
	USB\VID_05E3&PID_0701.DeviceDesc="USB Optical Device"
	USB\VID_05E3&PID_0702.DeviceDesc="USB Mass Storage Device"
	
	Based on this information, we can clean up the 0x05e3 entries in
	unusual_devs.h.  This patch puts all three entries into a regularized
	form.


	[PATCH] USB: kernel-doc comment tweak in vicam.c
	
	Correct kernel-doc comment with incorrect parameters documented


	[PATCH] USB: fix race in ati_remote and small cleanup
	
	On Thu, 2004-03-18 at 07:44, Oliver Neukum wrote:
	> Hi,
	>
	> you must use set_current_state() only after usb_submit_urb() with GFP_KERNEL
	> as second argument, because it may sleep to allocate memory and is woken up
	> resetting the state to TASK_RUNNING. In that case you had a busy polling loop.
	> Furthermore, always use wake_up unconditionally. It checkes anyway.
	
	Thanks for reviewing this code, I'm new to Linux driver development and
	more eyes on my work is a good thing.   I've actually been working on
	some more cleanups to the driver to fix the race between open and
	disconnect, and was just about to send it in...
	
	So, the attached patch against 2.6.5-rc1-mm1 includes a mutex to lock
	the open/disconnect paths, modelled after the usb-skeleton driver. It
	includes Oliver Neukum's fixes and other cleanups as well.


	[PATCH] USB: Unusual_devs.h update
	
	On Thu, 18 Mar 2004, Urban Borstnik wrote:
	
	> The 2.6.4 and 2.6.3 (and possibly some earlier) kernels log the
	> following message when I plug in a Lexar CompactFlash Reader:
	>
	> usb-storage: This device (05dc,b002,0113 S 06 P 50) has unneeded
	> SubClass and Protocol entries in unusual_devs.h
	>    Please send a copy of this message to 
	>
	> Otherwise it has been working very well with the devepment kernels on at
	> least 4 machines ever since a trivial fix was introduced for this device
	> to unusual_devs.c over a year ago.
	>
	> Best regards,
	> Urban.
	
	Thank you for sending this in.  An update will appear soon.


	[PATCH] USB: race condition in open of w9968cf
	
	there's a race in how open handles multiple openers.
	You implement exclusive opening and wait for close
	in case of further openers. However if there are more than one
	waiter, only one of them must be allowed to proceed.


	[PATCH] USB: Don't trust raw descriptor length in devioc.
	
	This is a very minor point, unlikely ever to come up.  But just in case...
	
	It's conceivable that a device might transmit different values for a
	configuration descriptor's wTotalLength the first time we ask for it (in
	order to get the length) and the second time (to get the entire
	descriptor).  Should that improbable event occur, the rawdescriptor buffer
	could be allocated using a size that's smaller than the length recorded in
	the rawdescriptor itself.  This patch protects devio.c against such a
	problem.
	
	If you feel this sequence of events is too unlikely to worry about, then
	don't bother to apply the patch.


	[PATCH] USB: UHCI: Do short packet detection correctly
	
	This patch makes some simple changes to the way the UHCI driver does short
	packet detection.  The current implementation is incorrect in several
	ways:
	
		The Short-Packet-Detect flag is set for OUT transfers, which
		yields undefined behavior according to the UHCI spec.
	
		It's not set for URBs with URB_SHORT_NOT_OK, which is just the
		opposite of what we want!  Those are the ones where short packets
		do matter.
	
		It is set for the last packet in a transfer, which causes an
		unnecessary pause in the data flow (except of course that the
		pause _is_ necessary when URB_SHORT_NOT_OK is set).
	
	The patch also implements the URB_NO_INTERRUPT flag for bulk transfers,
	which can help improve system performance by reducing interrupt overhead.


	[PATCH] USB: UHCI: Improved handling of short control transfers
	
	This patch simplies the way the UHCI driver handles short control
	transfers.  When a transfer is short the HC will stop handling that
	endpoint, and it's necessary to get it going again so that the status
	stage of the control transfer can take place.  Currently the driver does
	this by allocating a new QH for the transfer and setting its element
	pointer to point at the final status TD.  The old QH is recycled.  But
	it's not necessary to go to all that trouble; the element pointer in the
	original QH can be updated directly.
	
	Normally the element pointer is supposed to be owned by the HC, and it's
	not safe to just change its value since the HC may overwrite it at any
	time.  But when a transfer is stopped because of a short packet, the
	current TD is marked inactive and the HC will not update the element
	pointer.  To write an unchanged pointer value back to memory would be a
	waste of PCI bus cycles.  Now the UHCI spec doesn't say explicitly that an
	HC _can't_ do this, but I've tested both Intel and VIA hardware and
	neither of them does.
	
	As a side effect of this change, some of the code for removing QHs can be
	eliminated.


	[PATCH] USB: UHCI: Get rid of excessive spinlocks
	
	This patch introduces a major simplification into the UHCI driver by
	replacing its multiple spinlocks with a single one.  The protected area of
	code is slightly larger and there's more possibilities for contention on
	an SMP system, but I think that shouldn't be a problem.  Stephen Hemminger
	has been kind enough to test this on his SMP computer and he hasn't
	encountered any difficulties.


	[PATCH] USB: fix error paths in kobil_sct
	
	some error codes are incorrect and there's an URB leak in an error path.


	[PATCH] USB: usb hiddev stack usage patch
	
	Patch below fixes some obscenely high stack uage;
	struct hiddev_usage_ref_multi is well over 4Kb in size so really doesn't
	belong on the stack.


	ia64: Patch by Stephane Eranian: remove irq_stat from cpuinfo_ia64.
	
	irq_stat isn't needed anymore since its members got rolled into
	thread_info.preempt_count.


	[libata sata_promise] minor initialization updates
	
	* remove incorrect PATA port check
	* enable undocumented bit 13 in flash control register,
	  because the Promise driver does so.
	* wait 10 ms after setting TBG mode, for the same reason.


	[libata] clean up command queue/submit path a bit
	
	This change is part of a series that compartmentalizes and consolidates
	ATA taskfile submission.
	
	Here, the device-location-related checks are moved out of the ->queuecommand()
	hook and into an inline helper function.


	[libata] more command queue path cleanup
	
	A new helper ata_scsi_xlat_possible(), and the command queue path
	gets a bit more compact.
	
	As side effects we kill the 'cmd_size' argument from two functions,
	and mark ata_scsi_rw_queue() as static, as its only needed 
	in libata-scsi.c.


	[libata] more cmd queue path cleanups
	
	Final part in tonight's series of changes to clean up the
	command queueing path.
	
	The simulate-ATA-over-SCSI code is moved to a new function,
	ata_scsi_simulate(), and ata_scsi_rw_queue() is renamed to
	ata_scsi_translate().  With the SCSI CDB debugging dump function
	also moved into its own function, the queue-command path is now
	nice, compact, and readable.


	[PATCH] USB: fix bug in usb-skeleton.c


	[PATCH] USB: fix DMA to stack in ftdi driver
	
	this driver is doing DMA to the stack. Here's the obvious fix.


	[PATCH] USB: cleanup of st5481
	
	you are using __devinit which must not be used with USB drivers,
	in addition you are using some false GFP values and fail to check
	some error codes.
	
	  - check for unlink due to removal of controller
	  - correct GFP values
	  - no __devinit in USB


	[PATCH] USB: fix typo in previous patch
	
	I screwed up. This corrects it.


	[PATCH] USB: fix hfc_usb sleeping in irq
	
	you are using GFP_KERNEL in irq and __devinit with hotpluggable code.
	
	      - use proper GFP flags
	      - kill __devinit


	[PATCH] USB:  Fix drivers/usb/net/Kconfig
	
	This allows the pegasus driver to actually be seen as a config option.
	Apparently it's not that popular, though I have confirmed that it still
	works on at least the netgear fv101.


	[PATCH] USB: fix race in whiteheat serial driver
	
	Patch below fixes an obvious race in the whiteheat usb serial driver...


	[PATCH] USB: define USB feature bit indices
	
	This patch provides standard symbols for the various USB
	device and endpoint feature bits, so that drivers can
	use symbolic names for them.  It also changes the code
	relating to endpoint halts so it uses those symbols.


	[PATCH] USB: usbnet, minor probe() fault fix
	
	Some hardware had the poor taste to misbehave during probe(),
	which turned up a minor bug.  This fixes it:  don't try to
	free a network device that hasn't been registerd.


	[PATCH] USB: g_ether does endpoint autoconfig too
	
	Here's an update for the Ethernet gadget that corresponds
	to the earlier one for Gadget Zero ... it gets rid of almost
	all the remaining controller-specific #ifdefs in this driver.
	(And also lets the driver initialize using "dummy_hcd".)
	
	This is a significant step towards doing hardware-specific
	configuration at run time (or at least init-time) rather
	than compile time, but other patches will be needed to take
	it the rest of the way there.   (Especially considering the
	RNDIS support...)  The runtime footprint of the driver shrank
	a bit, mostly because things moved into the init section.


	[PATCH] USB: fix whiteheat USB serial compile failure on PPC
	
	> Bah, looks like PPC doesn't ever define CMSPAR :(
	>
	> How about adding something like:
	> 	#ifndef CMSPAR
	> 	#define CMSPAR 0
	> 	#endif
	> To the beginning of the driver like the cdc-acm.c driver does?  If that
	> works, care to send me a patch?
	
	Yes, it compiles.


	USB: mark pwc driver as broken, as it is.
	
	And the maintainer doesn't seem to want to fix it :(


	[PATCH] USB: Add dummy_hcd to the main kernel
	
	This is a resubmission of as225, together with appropriate changes for the
	g_serial driver.  David Brownell's latest g_ether update makes it
	unnecessary to change that file or gadget_chips.h.
	
	
	
	dummy_hcd is simultaneously a host controller driver and a device
	controller driver.  It creates a simulated HC together with a simulated
	UDC plugged into it.  Gadget drivers can run under the simulated UDC and
	will appear as regular USB devices on the simulated HC.  The simulation is
	reasonably (although not totally) realistic.
	
	It's a wonderful tool for testing and developing gadget drivers without
	the need for lots of additional hardware: Both the host driver and the
	gadget driver can run on the same computer.  It's been available for quite
	some time in David's gadget-2.6 tree and it works well.  I couldn't have
	gotten the file-storage gadget running in any reasonable length of time
	without it.


	[PATCH] USB: more ftdi_sio ids


	USB: ftdi_sio merge fixups.


	[PATCH] USB: add ftdi_sio product ids


	USB: fix compiler warning in whiteheat driver.


	[PATCH] I2C: adm1021 (probably) does something VERY,VERY BAD
	
	Quoting myself:
	
	> 3* Drop adm1021's limit init. This was already done in the 2.4 driver
	> and should have been done in 2.6 as well.
	
	Here is a patch that does that. It also prevents bit 7 (and unused bits)
	of configuration register from being reset, as was discussed before:
	  http://archives.andrew.net.au/lm-sensors/msg04593.html
	That second part needs to be backported to the 2.4 driver, and I will do
	so.
	
	Additionally, we get rid of a useless label.
	
	The patch is untested (I don't own any supported chip) but quite
	straightforward IMHO.


	[PATCH] I2C: Setting w83627hf fan_div preserves fan_min
	
	Here is a patch that updates the w83627hf driver in the exact same way I
	did recently for the w83781d driver. There were two problems:
	1* Fan divisor storing code was ugly, badly ripped from the 2.4 w83627hf
	   driver and/or the 2.6 w83781d driver.
	2* Setting fan divisors wouldn't preserve fan mins.
	
	Exactly the same as w83781d:
	http://archives.andrew.net.au/lm-sensors/msg06952.html
	http://archives.andrew.net.au/lm-sensors/msg07008.html
	
	No surprise since the w83627hf driver is a fork of the w83781d driver.
	
	Since the two drivers are strongly similar, I took the code directly
	from the updated w83781d driver. I cannot test the w83627hf driver
	(testers welcome BTW) but this makes me feel confident that the code is
	correct.
	
	To make it clear, this single patch is the w83627f equivalent of the
	three patches I submitted for the w83781d:
	* Cleanup
	* Refactoring
	* Setting fan_div preserves fan_min
	All in one (much better looking BTW).


	[PATCH] IXP425 -> IXP4XX conversion for USB-gadget
	
	The 2.6 code for Intel's IXP4xx NPU line has been updated to
	remove all references to IXP42x or IXP425 and replace it
	with IXP4XX, including config options and file names. This
	patch updates the USB-gadget pxa-udc driver with these changes.


	[PATCH] USB: ohci misc updates
	
	Mostly from Benjamin Herrenschmidt:
	
	  - prevent usbcore from asking the HCD root hub code
	    to read registers on one more suspend path (some
	    hardware gets upset in those cases);
	
	  - try handling a "device died" cleanup case better
	
	  - add some wmb() calls in spots that could matter
	    on some hardware


	[PATCH] USB: Altsetting update for USB input drivers
	
	This patch continues the update process for the cur_altsetting change.
	The drivers in usb/input were all in good shape and needed only minimal
	changes.


	[libata] more documentation
	
	libata-scsi.c should now be fully documented.


	[libata sata_promise] better locking and error handling
	
	* Prefer spin_lock() to spin_lock_irq() in interrupt handler
	* Reset each port, before probing the SATA phy
	* Reset port when every time an error occurs


	[libata] fix bug with READ(6) and WRITE(6) SCSI commands
	
	Must set the LBA bit on all transfers, not just {read,write}{10,16}
	scsi commands.


	[libata] remove synchronize-cache dead code
	
	Just a placeholder, and now that a better way to do this is coming,
	we don't even need the [unused] placeholder anymore.


	[PATCH] ia64: implement SN2 version of dma_mapping_error()
	
	On sn2, dma_mapping_error is trivial.  pci_map_single was already returning 0 
	in case of failure (0 is an invalid DMA address on sn2), so make 
	dma_mapping_error check for that.


	[PATCH] ia64: only scan SN2 PCI busses that exist
	
	sn_pci_init was unconditionally scanning 255 PCI busses, even though
	only a few are actually present on most systems.  This patch adds a
	check to make sure a given bus exists before doing the scan, which
	saves a little memory and also makes /sys/devices reflect reality a
	bit more closely.


	[PATCH] stack reduction: aic7xxx_old
	
	From: Arjan van de Ven 
	
	aic7xxx_old: constant array of PCI ID's can be static since it's read only


	[PATCH] Update FC transport attributes API
	
	This patch brings the FC transport attributes up to date with the SPI
	attributes API.
	
	The only major change I made was to separate read-only attributes
	from read-write attributes.


	[PATCH] Add FC transport attributes support to qla2xxx
	
	Here is a patch that adds FC transport attributes to the qla2xxx driver.
	The patch should apply cleanly to a recent 2.6 kernel with the FC
	attributes update that I just sent to linux-scsi.


	MPT Fusion driver 3.01.03 update
	
	From: "Moore, Eric Dean" 
	
	Changelog for mpt version 3.01.03:
	
	(1)  Fix fifo memory allocation under 64bit systems
	by merging 3 seperate memory allocations into one call.
	Before this fix, it was possible that these seperate 
	pci_alloc_consistent() calls were crossing the 4GB 
	hardware boundary.
	Delete the MPTBASE_MEM_ALLOC_FIFO_FIX logic.
	Backout recent ak@muc.de workaround.
	
	(2) Replace wrappers for CHIPREG_XXX with defines;
	per request from Jeff Garzik [jgarzik@pobox.com]
	
	(3) Remove support for FC909.
	
	(4) Remove PortIo modules parameter.
	
	(5) Move procmpt_destroy function before pci_unregister_driver,
	as the memory allocated for the proc was not being deallocated.
	
	(6) Remove mptscshi_reset_timeouts function. The timer was
	already expired when mod_timer is called.
	
	(7) Fix small bug in slave_destroy, which could prevent domain
	validation on hidden drive in a RAID volume.
	
	----------------------------------------------------------------------
	
	Changelog for mpt version 3.01.02:
	
	(1) Andi Kleen[ak@suse.de]
	put warning "Device (0:0:0) reported QUEUE_FULL!" into debug messages
	
	(2) Alexander Stohr[Alexander.Stohr@gmx.de]
	fix warnings from mptscsih_setup when driver isn't compiled as module
	
	(3) Randy.Dunlap[rddunlap@osdl.org]
	Remove unnecessary min/max macros and change calls to 
	use kernel.h macros instead.
	


	ServeRAID ( ips ) 7.00.15
	
	ith the completion of testing at Adaptec and IBM, the latest version of
	the ServeRAID Linux device driver ( ips Version 7.00.15 )is now
	available. Attached is the patches against the previous ServeRAID
	releases.  Basically, this is a convergence to a common ips driver code
	base for the 2.4 and 2.6 kernels.  
	
	This driver is based on the driver currently in 2.6, so you while there
	appears to be lots of changes to the 2.4 driver,  the changes to the
	current 2.6 driver are trivial ( the only changes are  version number
	changes and the addition of some new adapter ID's ).  For 2.4, this was
	primarily a testing effort to ensure that the 2.6 driver code was stable
	when built for a 2.4 kernel. 


	[PATCH] Fix template size calculation in transport attributes
	
	This small patch fixes the template size calculation in
	{spi,fc}_attach_transport().


	[libata] back out duplicated upstream fix
	
	We already fixed this bug locally, so fix up the automerge
	by removing the upstream change.


	[PATCH] USB; minor usbfs locking updates
	
	These are "obvious" locking fixes:  using the right lock
	to protect interface claim/release (should be the driver
	model bus lock, not BKL).


	[PATCH] USB: usb/core/config.c null pointers after kfree
	
	Prevents an oops with some other patchsets.
	
	
	Clear some pointers after the memory is kfreed, to avoid
	making some other patch combinations oops.


	[PATCH] USB: ohci unlink tweaks
	
	Minor unlink tweaks, including a case where SMP could oops
	if it were abused, as if from 'usbtest' or 'stir4200'.


	[PATCH] USB Gadget: RNDIS/Ethernet Gadget Driver (1/2)
	
	This patch adds the RNDIS message engine and kbuild/kconfig
	support for it.  This is currently labeled EXPERIMENTAL.
	
	Patch contributed by Robert Schwebel, and developed with
	support from Auerswald GmbH.


	[PATCH] USB Gadget: RNDIS/Ethernet Gadget Driver (2/2)
	
	This updates the existing Ethernet gadget driver to
	support an additional RNDIS configuration on all
	current USB controllers that can support one.
	
	It also includes a bit more work to address the complex
	autoconfiguration of this driver.  Needs testing on PXA.
	
	Patch (mostly) contributed by Robert Schwebel, and developed
	with support from Auerswald GmbH.


	[PATCH] USB: set_configuration locking cleanups
	
	I've posted all these before, the only notable change is
	treating that one gphoto2 case as warn-and-continue rather
	than return-with-failure.
	
	
	usb_set_configuration() cleanup
	
	 * Remove it from the USB kernel driver API.  No drivers need it now,
	   and the sysadmin can change bConfigurationValue using sysfs (say,
	   when hotplugging an otherwise problematic device).
	
	 * Simpler/cleaner locking:  caller must own dev->serialize.
	
	 * Access from usbfs now uses usb_reset_configuration() sometimes,
	   preventing sysfs thrash, and warns about some dangerous usage
	   (which gphoto2 and other programs may be relying on).  (This is
	   from Alan Stern, but I morphed an error return into a warning.)
	
	 * Prevent a couple potential "no configuration" oopses. (Alan's?)
	
	 * Remove one broken call from usbcore,  in the "device morphed" path
	   of usb_reset_device().  This should be more polite now, hanging
	   that one device rather than khubd.


	[libata] fix broken delay
	
	Due to rounding and HZ==100, sometimes delays would not occur for
	the desired length of time, or even at all.
	
	Fix call to schedule_timeout() to ensure we delay -at least- for
	the correct amount of time.


	[PATCH] USB: drivers/usb/gadget/epautoconf.c gcc-3.5 build fix
	
	drivers/usb/gadget/epautoconf.c: In function `ep_matches':
	drivers/usb/gadget/epautoconf.c:175: error: `typeof' applied to a bit-field


	[PATCH] USB: ftdi_sio.c: not unlinking urb on ftdi_close
	
	This patch fixes a bug in ftdi_sio.c where the driver wouldn't unlink the
	read urb if the user application cleared the HUPCL flag on termios->c_cflag.


	[PATCH] USB Storage: datafab fix and unusual devices
	
	datafab.c has an often-seen bug: the SCSI READ_CAPACITY command
	does not need the number of sectors but the last sector.
	
	I just tried the CF and SM parts of a 5-in-1 card reader.
	The CF part works with US_PR_DATAFAB when the bug mentioned is fixed.
	The SM part works with US_PR_SDDR55.
	(Revision Number is 17.08 - that in case the 0000-ffff
	should prove to be too optimistic.)
	
	We still must discuss what setup to use for readers like this -
	I have several of them - that require different drivers for
	different LUNs. As it is now one has to compile usb-storage
	twice, once with CONFIG_USB_STORAGE_DATAFAB defined and once
	without, and remove one usb-storage.ko and insert the other
	to go from CF to SM. (And that hangs with 2.6.4 so a reboot
	is required..)


	[PATCH] USB: kill off CONFIG_USB_BRLVGER detritus.
	
	This died a while ago, but lingers on in defconfigs.


	[PATCH] USB: RNDIS/Ethernet Gadget Driver comment changes
	
	Whoops, I missed something.  You should apply this patch too.
	
	The RNDIS spec license agreement does NOT require tacking any
	GPL-incompatible restrictions on the results of _using_ the
	spec:
	
	   "... may be used solely for the purpose of implementing
	    the RNDIS protocol message set to interface with ..."
	   (the two cases identified in the text)
	
	And that's all the implementation does -- end of story.


	[PATCH] USB: Rename the USB HID driver
	
	> > I like to see this rename as soon as possible. So if nobody minds I send
	> > a patch to LKML and ask Linus for inclusion.
	>
	> Go ahead, but also please patch all relevant documentation in the
	> kernel.
	
	the attached patch should do the renaming everywhere hid or hid.o was
	mentioned. It also removes all references to *.o module names.


	[PATCH] USB: omninet patch
	
	  here's a small patch for omninet.c .


	[PATCH] I2C: Prevent misdetections in adm1021 driver
	
	Yet another patch for the adm1021 chip driver. I refined the detection
	code a bit in order to prevent chip misdetection. Some chips handled
	by the adm1021 driver are hard to detect and identify (LM84 and
	MAX1617) so we tend to accept any chip it the valid I2C address range
	as one of these. It has caused much, much trouble already. See these
	threads for example:
	
	http://archives.andrew.net.au/lm-sensors/msg04448.html
	http://archives.andrew.net.au/lm-sensors/msg04624.html
	http://archives.andrew.net.au/lm-sensors/msg05560.html
	http://archives.andrew.net.au/lm-sensors/msg05871.html
	http://archives.andrew.net.au/lm-sensors/msg06754.html
	http://archives.andrew.net.au/lm-sensors/msg07181.html
	
	And this ticket:
	
	http://www2.lm-sensors.nu/~lm78/readticket.cgi?ticket=1434
	
	So I thought it would be good to prevent this kind of problems if
	possible, and read the 8 datasheets again in search for ways to refine
	the detection method.
	
	I changed it in sensors-detect already, and had positive feedback from
	one user. I will also backport the changes to the driver to the 2.4
	version we have in CVS.
	
	What the patch does:
	
	* Use unused bits of two more registers (configuration and conversion
	rate) to reduce misdetections.
	
	* Return with -ENODEV if the detection fails.
	
	* Change the order in which we try to identify the chips. We better
	finish with the LM84 and the MAX1617, in this order, because they are
	harder to identify and are more likely to result in false positives.
	
	* Refine LM84 detection. The LM84 has less features than the other
	chips(chip cannot be stopped, conversion rate cannot be set, no low
	limits) so it has extra unused bits.
	
	* Do not intialize the chip if it was detected as an LM84. This one
	cannot be stopped so why would we try to start it again? And as said
	right before, conversion rate isn't changeable either.
	
	Note that I couldn't test the changes on any supported chip since I
	don't own any. Still I believe that they should be applied, since the
	current code already broke one system and seriously harmed several
	others. I believe it's not critical if it turns out that we reject
	valid chips (which shouldn't happen if the datasheets are correct,
	anyway). People will simply let us know and we'll be less restrictive.
	In the meantime they can force the driver. That said, testers are
	welcome, as usual.


	[PATCH] I2C: i2c documentation update (1/2)
	
	Here is an update to my 2.4 to 2.6 i2c client porting guide. The changes
	were inspired by the feedback I got with the drivers that have been
	ported so far.


	[PATCH] I2C: i2c documentation update (2/2)
	
	Here is a patch to Documentation/i2c/sysfs-interface. This is mostly my
	intent to make the document more readable. There are also a few
	incorrectnesses fixed, and some comments added.


	[PATCH] I2C: Incorrect memset in eeprom.c
	
	Quoting Ralf Roesch:
	
	> currently I'm only working with Linux MIPS 2.4 kernel,
	> so it would be nice if you could forward the patch for 2.6.
	
	OK, so here we are. Greg, this is the port to 2.6 of Ralf patch that
	fixes an incorrect memset while initializing the eeprom driver. Please
	apply.


	[PATCH] I2C: Discard pointless comment in via686a
	
	The simple patch below discards a comment in via686a referencing a file
	that doesn't belong to the Linux tree. Now that I tell people not to do
	that in my porting guide, we better follow our own advice.


	SCSI: Add noretry check to the error handler path
	
	This still doesn't give us complete fast fail on
	the eh path because we still get delayed to recover
	the transport.


	[PATCH] USB: w9968cf driver misplaced ;


	[PATCH] USB: fix dvb-ttusb-budget driver due to set_configuration locking cleanups
	
	> Oops, you forgot to grep:
	>
	> CC [M]  drivers/media/dvb/ttusb-dec/ttusb_dec.o
	> drivers/media/dvb/ttusb-budget/dvb-ttusb-budget.c: In function `ttusb_setup_interfaces':
	> drivers/media/dvb/ttusb-budget/dvb-ttusb-budget.c:1011: warning: implicit declaration of function `usb_set_configuration'
	
	Well, when I did the grep that bug wasn't there; it
	was just integrated on Feb 26!
	
	
	> Care to send a patch to fix it up before Andrew gets grumpy with me for
	> breaking his build?  :)
	
	The first part makes it use usb_reset_configuration() like
	it did before ... I'm surprised this driver hasn't been
	generating "it deadlocks during probe" reports.
	
	The second part prints a diagnostic if the configuration
	wasn't set right; the fix would use hotplug and sysfs.


	[libata sata_via] Fix detection of device 1
	
	VIA hardware thinks port 1 (second port) is "SATA primary slave".
	Since the hardware rarely configures SATA to present as slave devices,
	we must pretend that the second hardware port (as the user sees it)
	is the third port (as the VIA PCI config registers see it).


	[PATCH] USB Gadget: Use configuration-buffer library in file-storage
	
	This patch imports the config-buffer library into the file-storage gadget,
	simplifying and decreasing the amount of code needed for assembling
	configuration descriptors.  It also changes the driver to remove any
	pretense at bus-powered operation and to use the new DUALSPEED
	configuration option.  This is in line with recent changes made to other
	gadget drivers.


	[PATCH] USB Gadget: Use automatic endpoint selection in file-storage
	
	This patch imports the endpoint auto-config library into the file-storage
	gadget, simplifying the code needed for endpoint selection and removing
	almost all dependencies on the controller type from the driver.  It also
	changes some log messages for reporting fatal problems from INFO to ERROR.


	[PATCH] USB: Complete all URBs in UHCI when releasing the bus
	
	This patch changes the UHCI driver's bus-release routine; now it will
	correctly finish all pending but not-yet-completed URBs.  This fixes a
	reported bug, when trying to rmmod uhci-hcd while using a USB mouse under
	X.  Also, the patch changes a variable name from ...hs... to ...fs...
	("high speed" -> "full speed") -- something I accidentally omitted in an
	earlier patch.


	[PATCH] USB Gadget: Rename the dummy_hcd's gadget
	
	When David added an entry to the gadget_chips.h file for the dummy_hcd
	driver, he mistakenly used the name "dummy_udc" rather than "dummy_hcd".
	The mistake is understandable, since other controllers use "_udc" in their
	names and it is illogical to put "_hcd" in a _device_ controller's name.
	
	This patch updates the dummy_hcd driver and changes the gadget name to
	agree with the gadget_chips.h entry.


	[PATCH] USB: RNDIS/Ethernet Gadget Driver .inf file


	[PATCH] USB: remove usb_interface.driver field
	
	Remove usb_interface.driver, and along with it the "half bound" state
	previously associated with drivers binding with claim() instead of probe().
	This changes usb_driver_claim_interface() semantics slightly: drivers must
	now be prepared to accept disconnect() callbacks.
	
	Fixes more locking bugs, and a claim() oops that snuck in with a
	recent patch.


	USB: remove "released" field from struct usb_interface as it is not needed.


	USB: clean up usb_get_dev() as it was written quite horribly.


	USB: add usb_get_intf() and usb_put_intf() functions as they will be needed.


	SCSI: Updates to non-sector size completion calculations
	
	From: Jens Axboe , Mike Christie 


	[AGPGART] VIA GART driver can use the new generic AGPv3 masks.


	[AGPGART] Efficeon GART driver can use generic masking routine.


	[AGPGART] SiS 746 chipset also needs extra recovery time when changing mode.


	[AGPGART] Fix SiS workaround printk. This happens on multiple chipsets.


	[PATCH] ia64: clean up pcibr_slot.c warnings
	
	A few warnings crept into pcibr_slot.c that this patch takes care of.
	  - forward declare pcibr_slot_pwr so it can be used w/o warning
	  - fix argument passed to pcibr_slot_attach in pcibr_slot_enable


	[PATCH] ia64: fix sn_serial warning
	
	In my fixes to quiet the sn_serial driver, I made sn_debug_printf only
	get used when the DEBUG define was turned on in the driver but forgot
	to #ifdef out the function definition, causing an 'defined but not
	used' warning.  This patch fixes that.


	[PATCH] ia64: small SN2 interface.c patch
	
	Change the calls to link_path_walk() to path_walk().  link_path_walk()
	doesn't initialze current->total_link_count and path_walk() does.
	Without the initialization, path_walks start to fail when 40 sym links
	have been followed.


	[CPUFREQ] Various updates/fixes to the powernow-k8 comment header.


	[CPUFREQ] fix compilation of speedstep-lib with DEBUG set


	[CPUFREQ] powernow-k8 whitespace changes.
	Trying to get the diffsize down between me & Pavel.


	[AGPGART] Actually Call the SiS workaround on SiS 746 too.


	[PATCH] ia64: bring ia64 nodes online properly
	
	Andi's libnuma exposed the fact that we don't bring nodes online
	properly as we discover them in ia64.  Here's a quick patch to fix
	that.  Tested with Andi's numademo program; seems to work fine.


	[AGPGART] EM64T driver should only run when we have a supported CPU.
	Otherwise we see strange things at boottime if we compile in all drivers, like this..
	
	agpgart: Unsupported Intel chipset (device id: 1a30)
	agpgart: Detected an Intel i845 Chipset.


	[CPUFREQ] Step 1 of SMP support for powernow-k8.
	Move lots of code to the cpu init routine from the detection routine.
	Do some SMP sanity checks in the detection routine.


	[CPUFREQ] powernow-k8 SMP work part 2.
	Introduce a per-cpu powernow_k8_data struct, and pass it around between all
	the functions that need to know about it.


	[PATCH] USB: ehci updates:  CONFIG_PCI, integrated TT
	
	Generalize the driver a bit:
	
	 - PCI-specific handling is restricted to a small chunk of
	   init code.  Non-PCI implementations are in the pipeline.
	
	 - Merge support from ARC International (Craig Nadler) for
	   their integrated root hub transaction translators (on PCI).
	   Other implementations should be similar.


	[PATCH] USB Gadget: ethernet/rndis gadget updates
	
	This fixes an oops during "ifconfig usb0 down" after unplug
	from a Windows box.  It also shrinks the driver size to something
	much more reasonable by leaving out debug messaging, and adds
	a few missing newlines.


	[PATCH] I2C: Add ALi 1563 Device ID to pci_ids.h


	[PATCH] I2C: Add support for the ALi 1563 in the PCI IRQ routing code.


	[PATCH] I2C: Add ALi 1563 i2c driver
	
	The i2c interface on the 1563 is totally different than on both the 1533
	and the 1535. It supports i2c 2.0, and happens to be nearly identical to
	the interface on the i810 chipsets.


	[PATCH] I2C: Fix check for DEBUG in i2c-ali1563


	[PATCH] USB: usbcore blinkenlights
	
	The per-port LEDs on the most USB 2.0 hubs are programmable.
	And the USB spec describes some ways to use them, blinking
	to alert users about hardware (amber) or software (green)
	problems.
	
	This patch is the infrastructure for that blinking.  And
	if you should happen to "modprobe usbcore blinkenlights",
	the LEDs will cycle through all the ports ... which is
	not a USB-standard mode, but it can certainly handy be
	handy as a system heartbeat visible across the room.


	[PATCH] sd_shutdown cannot be called when in state SDEV_DEL
	
	sd_remove calls sd_shutdown to finish I/O to the disc.  However, the
	state model puts the device in SDEV_DEL before triggering the
	sd_remove (which won't allow any further I/O at all).
	
	Fix by making SDEV_CANCEL the intermediate state and only transitioning to 
	SDEV_DEL after calling device_del().


	[ARM PATCH] 1777/1: Add TI OMAP support to ARM core files
	
	Patch from Tony Lindgren
	
	This patch updates the ARM Linux core files to add support for 
	Texas Instruments OMAP-1510, 1610, and 730 processors. 
	
	OMAP is an embedded ARM processor with integrated DSP.
	
	OMAP-1610 has hardware support for USB OTG, which might be of interest
	to Linux developers. OMAP-1610 could be easily be used as development 
	platform to add USB OTG support to Linux.
	
	This patch is an updated version of an earlier patch 1767/1 
	with the dummy Kconfig added for OMAP as suggested by Russell King
	here:
	
	http://www.arm.linux.org.uk/developer/patches/viewpatch.php?id=1767/1
	
	This patch is brought to you by various linux-omap developers.


	[ARM PATCH] 1780/1: Add TI OMAP support, include files
	
	Patch from Tony Lindgren
	
	This patch adds the include files for Texas Instruments OMAP-1510 and 
	1610 processors. 
	
	OMAP is an embedded ARM processor with integrated DSP.
	
	OMAP-1610 has hardware support for USB OTG, which might be of interest
	to Linux developers. OMAP-1610 could be easily be used as development 
	platform to add USB OTG support to Linux.
	
	This patch is an updated version of patch 1768/1 with Russell King's
	comments fixed. This patch requires patch 1777/1 applied.
	
	This patch is brought to you by various linux-omap developers.


	[ARM PATCH] 1781/1: Add TI OMAP support, arch files
	
	Patch from Tony Lindgren
	
	This patch adds the arch files for Texas Instruments OMAP-1510 and 
	1610 processors. 
	
	OMAP is an embedded ARM processor with integrated DSP.
	
	OMAP-1610 has hardware support for USB OTG, which might be of interest
	to Linux developers. OMAP-1610 could be easily be used as development 
	platform to add USB OTG support to Linux.
	
	This patch is an updated version of patch 1769/1 with Russell King's
	comments fixed. This patch requires patch 1777/1 applied.
	
	This patch is brought to you by various linux-omap developers.


	[PATCH] SCSI sense buffer size -> 96
	
	some SCSI devices need more than 64bytes of sense buffer.
	I know about one: The IBM MagStar tapes report the necessity to be
	cleaned at bytes 70 and report 96 bytes in total.
	
	Attached patch increases the sense buffer size to 96 bytes.


	Fix scsi_device_get to allow NULL devices
	
	Modification of patch from SLES-9


	[PATCH] sym 2.1.18j
	
	sym 2.1.18j:
	 - Add SPI transport attributes (James Bottomley)
	 - Use generic code to do Domain Validation (James Bottomley)
	 - Stop using scsi_to_pci_dma_dir() (Christoph Hellwig)
	 - Change some constants to their symbolic names (Grant Grundler)
	 - Handle a race between a postponed command completing and the EH retrying
	   it (James Bottomley)
	 - If the auto request sense fails, issue a device reset (James Bottomley)


	[ARM PATCH] 1782/1: discontigmem support for PXA chips
	
	Patch from Nicolas Pitre
	


	[ARM PATCH] 1783/1: more PXA reg definitions
	
	Patch from Nicolas Pitre
	


	[ARM PATCH] 1788/1: SC2410 include/asm-arm/arch-s3c2410 [repost of 1778/1]
	
	Patch from Ben Dooks
	
	This patch is a repost of 1778/1 with the memory.h file fixed.
	
	
	
	This patch contains all the necessary include files for include/asm-arm/arch-s3c2410 for Samsing S3C2410 SoC CPU support. 
	
	
	
	The patch also includes the support headers for IPAQ H1940, Simtec BAST and VR1000 board support.


	[ARM PATCH] 1793/1: S3C2410 - arch/arm/mach-s3c2410 [ repost of 1790/1 ]
	
	Patch from Ben Dooks
	
	Core support for S3C2410 based machines
	
	machine support for Simtec BAST, VR1000 and
	IPAQ H1940
	
	repost of 1790/1 with configuration definition fixed


	[ARM PATCH] 1792/1: S3C2410 - arch/arm/boot [ fix for 1789/1 ]
	
	Patch from Ben Dooks
	
	arch/arm/boot support for S3C2410
	
	support for boot (and debug) messages via EmbeddedICE (CP14)
	comms registers.
	
	fixed typos from 1789/1


	[ARM PATCH] 1794/1: S3C2410 - arch/arm/kernel patches [ repost 1791/1 ]
	
	Patch from Ben Dooks
	
	arch/arm/kernel patch for S3C2410 support
	
	 - default configurations for S3C2410
	 - build changes for S3C2410
	 - IRQ support for kernel entry
	 - debug serial support


	[ARM] Clean up formatting of s3c2410 help texts.


	[CPUFREQ] Transmeta longrun driver fix.
	(From Stelian Pop)
	Upon investigation, the reason is that trying to set the performance
	to 80% in longrun_determine_freqs leaves the performance to 100%.
	The performance level, at least on this particular model, can be lowered
	only in 33% steps. And in order to put the performance to 66%, the
	code should try to set the barrier to 70%.
	                                                                                                           
	The following patch does even more, it tries every value from 80%
	to 10% in 10% steps, until it succeeds in lowering the performance.
	I'm not sure this is the best way to do it but in any case,
	it works for me (and should continue to work for everybody else).


	[ARM] Fix silent build error caused by undefined symbol.
	
	Current binutils silently ignores certain undefined symbols; this
	cset fixes one such instance.


	[AGPGART] Previous AGPv3 SiS fixes broke AGPv2 users. Oops.


	[PATCH] ia64: Missing overflow check in mmap
	
	Calling mmap with len == -1 was silently accepted.  The test in the generic
	code was fixed in July 2003, but the fix didn't make it into the ia64-
	specific code.


	[PATCH] ia64: Missing include in hugetlbpage.c
	
	This fixes a missing include file in arch/ia64/mm/hugetlbpage.c in 2.6.5.
	module.h is needed for EXPORT_SYMBOL.


	[ARM] Add ecard_(request|release)_resources().


	[PATCH] update Compaq Personal Server URL
	
	Patch from Petri T. Koistinen
	
	Update of Compaq Personal Server URL.


	[PATCH] ia64: setup max dma addr earlier on hp boxes
	
	sba_iommu was setting up MAX_DMA_ADDRESS way too late to do any
	good.  This patch makes it get setup via platform_setup, so it's ready
	for paging_init().  All pages should show up in zone DMA now.  Against
	latest 2.6.


	[PATCH] make_coherent pgoff
	
	Patch from Hugh Dickins
	
	In wandering through the Linus 2.6 tree preparing for changeover of
	i_mmap and i_mmap_shared to Rajesh's prio tree for object-based rmap...
	I noticed that pgoff in make_coherent doesn't add up (plus, I think
	we need to mask out the word "don't" in the comment further down).
	2.4.25 looks equally wrong.


	[CPUFREQ] Fix up docbook parameters on x86 drivers.
	From Michael Still 


	[CPUFREQ] Grammar fix in p4-clockmod.c
	Noted by Viktor Radnai.


	[CPUFREQ] Remove useless goto.
	(Pavel Machek)


	[CPUFREQ] Indentation fix.


	[CPUFREQ] Kill off inlines in powernow-k8 driver.
	Gcc should be smart enough to do this itself.


	[CPUFREQ] make powernow-k8 use batps from powernow data struct instead of static struct.


	[CPUFREQ] Merge a bunch of extra powernow-k8 helpers.


	[CPUFREQ] Serialise fid/vid changes in powernow-k8 driver.


	[CPUFREQ] SMP fixes for powernow-k8's check_supported_cpu()


	[CPUFREQ] printk cleanup in powernow-k8's check_pst_table()


	[CPUFREQ] Add missing MSR define to fix the powernow-k8 compile.


	[CPUFREQ] powernow-k8 header cleanups
	remove unused defines, introduce some new ones, and generally cleanup.


	[CPUFREQ] fill out the powernow_k8_data table.


	[CPUFREQ] Use the new fill_powernow_table() to fill struct instead of doing it inline.


	[PATCH] pcnet32.c add support for 79C976
	
	Please include this patch to add support for the 79C976 device to the
	pcnet32 driver.


	[PATCH] pcnet32 all printk under netif_msg
	
	Please apply the following patch to 2.6.5.
	
	All printk's are now done under netif_msg debug level tests.


	[PATCH] pcnet32 correct name display
	
	This displays the device name (eth%d) instead of the device type
	when registering the interrupt handler.


	[PATCH] pcnet32 add led blink capability
	
	Please apply this patch to 2.6.5 to include the capability of blinking
	the LED's for device identification.  Ethtool -p support.


	[CPUFREQ] More SMP/preempt fixes, this time powernowk8_target()
	Also some changes to use some helpers.


	Remove unused compatibility-defines include wan/lmc/lmc_ver.h.
	
	Noticed by Adrian Bunk.


	[CPUFREQ] Change powernow-k8 over to use its new KHz frequency helpers


	[CPUFREQ] Extra debugging foo.


	[CPUFREQ] Stuck pending bit is now checked in the init routine.


	[PATCH] dgrs: add missing iounmaps
	
	[resend]
	
	
	Insert missing iounmap's.
	
	From: Leana Ogasawara 


	[PATCH] lmc header file not needed
	
	From: Domen Puncer 


	[CPUFREQ] numerous powernow-k8 cpu_init() fixes/cleanups.


	[netdrvr r8169] DMA api resync.


	[netdrvr r8169] ethtool driver info
	
	Author: Krishnakumar R. 


	[netdrvr r8169] Barrier against compiler optimization.


	[netdrvr r8169] DAC changes:
	- Rx and Tx descriptors rings handled on 64 bit;
	- enable DAC through use of CPlusCmd register (reserved bits apart, this is
	  similar to the 8139cp driver);
	- use the higher 32 bits of addresses for the Rx/Tx buffers.


	[netdrvr r8169] TX irq handler looping fix
	
	If a few packets have been scheduled for Tx, it is possible to keep looping
	in the Tx irq handler as soon as the irq for the first packet has been
	received until the descriptor of the last packet has been sent (with
	interrupts disabled btw).


	[PATCH] remove magic '31' for netdev priv. alignment
	
	[resend/rediff]
	
	// linux-2.6.5
	// remove magic number of '31' from net_device and private alignment;


	[CPUFREQ] ACPI support for powernow-k8.
	We fall back on the legacy PSB table if the ACPI tables don't work out.


	[PATCH] Support newer revisions of broadcoms in b44.c
	
	This adds support for newer revisions of the chips. The
	b44_disable_ints at the beggining actually kills machine with newer
	revision, but its removal has no ill effects.


	[CPUFREQ] Bump powernow-k8 revision.


	[CPUFREQ] As we're using ACPI in powernow-k8 now, we need ACPI to initialise first.


	[CPUFREQ] Fix %x printk's in powernow-k8.
	These are hex values. Prefix them all with 0x


	[netdrvr] Add S2IO 10gige network driver.
	
	Contributed by Leonid Grossman @ S2IO


	[netdrvr s2io] correct an incorrect cleanup I made


	[PATCH] tc35815 cleanup


	[PATCH] netdev_priv for xirc2ps_cs, nmclan_cs
	
	s/dev->priv/netdev_priv(dev)/ for xirc2ps_cs.c and nmclan_cs.c
	xircom one is tested. against 2.6.4-bk


	[netdrvr 8139cp] rearrange priv struct, add cacheline-align markers
	
	suggested by Jes Sorensen.


	[netdrvr s2io] NAPI build fixes


	[netdrvr 8139cp] locking cleanups
	
	* s/spin_lock_irq/spin_lock_irqsave/ where it was simple and
	  easy to verify.
	* release spinlock earlier in interrupt routine.


	[netdrvr 8139cp] minor cleanups
	
	* update version, copyright date
	* remove unportable "pci_dev->irq < 2" check in ->probe
	* don't use ioremap_nocache() without a real reason


	[netdrvr 8139cp] use netdev_priv()


	[netdrvr 8139cp] complete 64-bit DMA (PCI DAC) support


	[netdrvr 8139cp] better dev->close() handling, and misc related stuff
	
	* don't synchronize_irq() in cp_stop_hw().  when necessary, do so
	  in the callers.
	* call synchronize_irq() in cp_close(), after releasing the spinlock.
	* move netif_stop_queue() and netif_carrier_off() calls inside lock
	* flush last interrupt status write, in cp_stop_hw()
	* add unlikely() check for dev==NULL, first thing in the irq handler


	[PATCH] s2io.h: gcc-3.5 build fix
	
	In file included from drivers/net/s2io.c:68:
	drivers/net/s2io.h: In function `readq':
	drivers/net/s2io.h:757: error: invalid lvalue in assignment
	drivers/net/s2io.h:758: error: invalid lvalue in assignment


	[CPUFREQ] Stop preempt count from going negative.
	Broken failure path spotted by Dominik Brodowski.


	Fix SCSI cdrom disconnection race
	
	This fixes 
	
	http://bugme.osdl.org/show_bug.cgi?id=2400


	[AGPGART] Fix SiS 746 again.
	Turns out that this chipset won't work in AGPv3 mode with the generic AGPv3 routines.
	*somehow*, it works in AGPv3 mode with AGPv2 aperture sizing etc. Very, very strange.
	Still, until we get some docs from SiS, some support is better than none.


	[AGPGART] Whitespace cleanup in sis-agp
	use spaces instead of (borked) tabs.


	Add missing header changes from SCSI cdrom disconnection fix


	[PATCH] USB: retry some descriptor fetches
	
	This helps Linux handle certain enumeration problems better,
	by retrying most stalled descriptor fetches; on some devices,
	those indicate temporary problems.  This match makes at least
	one such (old) device enumerate reliably.


	[PATCH] USB: fix xsane breakage, hangs on device scan at launch
	
	Disable a usbfs disconnect() synchronization hack, which recently
	started deadlocking because this routine is now called in a different
	context.
	
	It shouldn't be needed any longer now that usbcore shuts down endpoints
	as part of driver unbinding.  (Except maybe on UHCI, which will have
	canceled but not necessarily completed all requests.)


	[PATCH] USB: add missing usb entries to sysfs
	
	We have found in the course of hacking on HAL that some information that
	is in /proc/bus/usb/devices is not in sysfs.  It would be nice to rely
	only on sysfs, so the attached patch adds three files to usb devices in
	sysfs: devnum, maxChild, and version.
	
	This patch is actually by David Zuethen, the HAL maintainer - I told him
	I would clean it up and get it upstream.


	[PATCH] USB: fix up previous sysfs patch to actually compile...


	[CPUFREQ] Quieten powernow-k7 in the built-in case.
	The other cpufreq drivers are quiet in the 'dont have hardware' case, so this should follow suit.


	[CPUFREQ] Don't bother checking if we need workarounds if we don't support powernow.


	[PATCH] I2C: Refactor swap_bytes in i2c chip drivers
	
	> Ick, no, we should be using the proper kernel call for this, swab16(),
	> right?  Care to redo this patch to just fix the drivers and get rid of
	> our duplicating of this function.
	
	Oh, I didn't know such a function existed, sorry.
	
	Here's a new patch, hope you like it. Tested to work on my as99127f, btw
	(w83781d driver).
	
	Documentation update follows (well, tomorrow it does).


	[ARM PATCH] 1807/1: S3C2410 - onboard serial
	
	Patch from Ben Dooks
	
	Serial driver for S3C2410 on board UARTs. Re-post of 1796/1
	
	Includes BAST driver to register on-board 16550s.


	[ARM PATCH] 1806/1: Adding barrier() to show_stack () for proper backtracing
	
	Patch from Marc Singer
	
	As suggested by Russell, we add a barrier() before returning from
	stack_trace().  This was helpful when diagnosing a problem with a
	kernel transition to user-space where the problem was a lack of
	floating point support in the kernel.  Without this change, the
	backtrace reported an error.
	
	It is possible that this change has already been made.  I don't see it
	in any of the applied patches that I can read.
	


	[ARM] Fix ordering of machine class selection.
	
	The machine class should be in alphabetical order.  Swap ordering
	of the recently added TI and S3C2410 entries to return it to this
	ordering.


	[PATCH] SCSI: make DV check device capabilities
	
	the SPI transport class DV should check the data we derive from the
	inquiry to see if the device is capable of supporting wide/sync before
	trying to validate the settings.


	[PATCH] I2C: class fixup for the ali1563 driver


	[PATCH] I2C: i2c-ali1563.c section fix
	
	ali1563_shutdown() is called from __init ali1563_probe() and hence cannot be
	marked __init.


	USB: fix pl2303 handling of status bits.
	
	Patch originally from Kevin Watkins 


	USB: fix empty write issue in pl2303 driver.
	
	Patch originally from Christian Groessler  but cleaned up
	by me.


	[ARM] Move definition of the kernel module space to asm-arm
	
	Since all machine classes define module space the same way, we
	move this into the common ARM code.


	[PATCH] ia64: put URLs in documentation files inside angle-brackets
	
	Patch by Petri T. Koistinen.


	[PATCH] ia64: ACPI IRQ cleanup (arch part)
	
	Here's the ia64 part of the ACPI IRQ cleanup I proposed here:
	
	http://www.gelato.unsw.edu.au/linux-ia64/0403/8979.html
	
	After the arch bits are in, I'll post the corresponding ACPI changes.
	I removed the "Found IRQ" printk now because when the ACPI
	change goes in, dev->irq won't be initialized until *after*
	acpi_pci_irq_enable().


	[PATCH] ia64: allow simscsi to be a module
	
	Requiring CONFIG_HP_SIMSCSI to be either  "y" or "n" breaks
	allmodconfig, because simscsi ends up built-in, while scsi itself
	is a module.  So allow simscsi to be a module also.


	[PATCH] ia64: perfmon update
	
	Here is a new perfmon patch. It is important because it
	fixes the problem of the close() when the file descriptor
	is shared between two related processes. The good thing
	is that it simplifies a lot the cleanup of the sampling
	buffer.
	
	Here is the ChangeLog:
	
	- fix bug in pfm_close() when the descriptor is
	  shared between related processed. Introduce
	  a pfm_flush() called for each invocation of
	  close(). pfm_close() only called for the last
	  user.
	
	- fix pfm_restore_monitoring() to also reload
	  the debug registers. They could be modified
	  while monitoring is masked.
	
	- fix pfm_close() to clear ctx_fl_is_sampling.
	
	- fix a bug in pfm_handle_work() which could cause
	  the wrong PMD to be reset. 
	
	- converted PROTECT_CTX/UNPROTECT_CTX into
	  local_irq_save/restore to keep context protection
	  but allow IPI to proceed.
	
	- updated pfm_syswide_force_stop() to use
	  local_irq_save/restore now that the context
	  is protected from the caller side.
	
	- updated pfm_mck_pmc_check() to check if context is 
	  loaded before checking for special IBR/DBR combinations.
	  Clearing the debug registers is not needed when the context
	  is not yet loaded.
	
	- updated perfmon.h to have to correct prototype definitions
	  for the pfm_mod_*() functions.
	
	- got rid of the PFM_CTX_TERMINATED state.
	
	- cleanup the DPRINT() statements to remove
	  explicit output of current->pid. This is done
	   systematically by the macros.
	
	- added a systctl entry (expert_mode) to bypass
	  read/write checks on PMC/PMD. As its name indicates
	  this is for experts ONLY. Must be root to toggle
	  /proc/sys entry.
	
	- corrected pfm_mod_*() to check against the current task.
	
	- removed pfm_mod_fast_read_pmds(). It is never needed.
	
	- added pfm_mod_write_ibrs() and pfm_mod_write_dbrs().


	ia64: Make acpi.c compile again: there was an implicit declaration
		mismatch because the external declaration isn't in the arch-
		independent ACPI bits yet.


	[PATCH] USB: Updated unusual_dev.h entry
	
	On Thu, 8 Apr 2004, Marcin Juszkiewicz wrote:
	
	> usb-storage: This device (054c,0025,0100 S 04 P 01) has unneeded SubClass and
	> Protocol entries in unusual_devs.h
	
	Thank you for sending this in.


	[PATCH] I2C: Enable changing fan_divs in lm80 driver
	
	For some reason the original lm80 driver in 2.6 cannot set fan_divs
	(while the 2.4 driver could). This patch brings support back. It was
	lightly tested by one user.
	
	This patch also suggests some code cleanups (fan code refactoring). I'll
	send a different patch later for these.


	[PATCH] I2C: New chip driver: pcf8591
	
	Please find below a patch against kernel 2.6.5-rc2-mm4 to add the pcf8591
	driver (a 8-bit A/D and D/A converter). I have ported it from the 2.4
	version, and it includes some fixes, improvements and simplifications.
	
	It has been reviewed by Jean Delvare on IRC.
	
	Please also note that the patch also fixes a missing space in
	drivers/i2c/chips/Kconfig, introduced by the previous patch I sent you
	concerning the pcf8574.


	[PATCH] I2C: minor bugfixes for the pcf8591.c driver and formatting cleanups.


	[PATCH] I2C: clean up out of order bus Makefile and Kconfig entries.


	[netdrvr tulip] remove ChangeLog file
	
	It was out of date.  BitKeeper logs are more recent and more accurate.


	[netdrvr tulip] add MII support for Comet chips
	
	Add MII support for ADMtek Comet (Linksys LNE100TX v4.1 & others):
	* tulip_core.c: add HAS_MII flag to COMET entry in tulip_tbl[]
	* timer.c (comet_timer): add missing call to tulip_check_duplex()
	and replace inl() calls with tulip_mdio_read() calls
	Changes modeled after Donald Becker's tulip.c:v0.98 1/8/2004


	[SERIAL] Unuse old SERIAL_IO_xxx macros.
	
	8250.c should be using the replacement UPIO_xxx macros instead.


	[SERIAL] Remove some dead declarations.


	[SERIAL] Correct minor debugging format string error.


	[SERIAL] Don't try to free resources we didn't request.


	[SERIAL] Pass device pointer through to tty_register_device.
	
	This allows drivers to pass their struct device through to
	tty_register_device, which in turn allows sysfs to show which
	device and driver owns the UART.


	[SERIAL] Pass sa11x0 struct device through to tty_register_device.


	[SERIAL] Remove UPF_HUP_NOTIFY; this is no longer used.


	[SERIAL] HCDP IRQ fixup
	
	Some pre-production firmware has incorrect GSI values in the
	HCDP, which tells us where the serial console port is, so we
	have to do the auto-IRQ thing after all.


	[SERIAL] Add extra suspend/resume functionality to serial_cs.
	
	This calls into the 8250 driver so that the serial port settings can
	be saved and restored over a suspend/resume cycle.  Previous kernels
	have assumed that the port will be re-opened after such an event,
	which may not be the case.


	Convert sd to kref and fix sd_open/sd_remove race
	
	We actually fix this race by mediating the object release/get race
	(i.e. we destroy the scsi_disk object when its reference count goes
	1->0, we use a semaphore to prevent something else trying to get a
	reference after or during this).
	
	The open/remove race is actually irrelevant because even if we open an
	already removed object, all that will happen is that we get a
	reference to a device that always returns EIO.


	Convert sr to a kref and fix sr_open/sr_remove race
	
	We actually fix this race by mediating the object release/get race
	(i.e. we destroy the scsi_cd object when its reference count goes
	1->0, we use a semaphore to prevent something else trying to get a
	reference after or during this).
	
	The open/remove race is actually irrelevant because even if we open an
	already removed object, all that will happen is that we get a
	reference to a device that always returns EIO.


	[ARM] Reduce the number of unnecessary includes in decompressor.
	
	This appears to work around the gcc problem where gcc adds extra
	.globl directives into the assembly for misc.s for its internal
	libgcc functions.


	[PCMCIA] Fix resource handling for memory probe
	
	Add claim_region and free_region to claim/free resource regions.
	This ensures that we only attempt to probe memory regions which
	are directly related to the socket in question, rather than any
	memory region we happen to be able to request.
	
	This also fixes a memory leak where we don't kfree the resources
	we previously allocated.


	[PCMCIA] Remove racy check_io_resource()
	
	Convert do_io_probe() to use claim/free_region() rather than the
	racy check_io_resource().  Remove check_io_resource() and the now
	unused resource_parent() functions.


	[PCMCIA] Use kernel resource core as primary resource allocator.
	
	Turn the resource management on its head.  Rather than using PCMCIA's
	resource database as the primary object to allocate resources, use
	Linux's standard resource allocation instead.
	 
	When we have a socket on a PCI bus, we always use the PCI resource
	allocation functions rather than the kernels core resource allocation,
	so that we can take account of any bridges.


	[ARM] Drop -traditional from assembler command line in decompressor.


	[PCMCIA] Re-export pci_bus_alloc_resource() from PCI code.
	
	Since PCMCIA now uses this, re-export it.


	[PCMCIA] Fix warning about truncated integer.


	[ARM] Fix spacing in arch/arm/boot/Makefile and arch/arm/mm/Kconfig.


	NFSv2/v3/v4: Prepare the nfs_page struct to allow for short reads.


	[SERIAL] Add support for TI16C750 hardware flow control.


	NFSv2/v3/v4: Add support for asynchronous reads even if rsize
	NFSv2/v3/v4: Add support for asynchronous writes even if wsize
	NFSv2/v3/v4: When pdflush() is trying to free up memory by calling our
	  writepages() method, throttle all writes to that mountpoint.


	RPC,NFS: remove instances of tests for waitqueue_active(). Those can be racy.
	RPC: remove unnecessary support for sk->sk_sleep on those sockets that are
	  owned by the RPC client.


	RPC: add fair queueing to the RPC scheduler.
	If a wait queue is defined as a "priority queue" then requests are dequeued
	in blocks of 16 in order to work well with write gathering + readahead on the
	server.
	There are 3 levels of priority. The high priority tasks get scheduled 16 times
	for each time the default level gets scheduled. The lowest level gets
	scheduled once every 4 times the normal level gets scheduled.
	Original patch contributed by Shantanu Goel.


	RPC: Close some potential scheduler races in rpciod.


	NFSv2/v3/v4: Deal with the case where the server reads/writes fewer
	bytes than we requested due to resource limitations etc.


	RPCSEC_GSS: Fix integrity checksum bugs. Need to take into account the
	starting offset when calculating the page length.


	NFSv2/v3/v4: Fix a slowdown of O_SYNC and O_DIRECT writes that resulted
	from over-aggressive attribute cache revalidation.


	NFSROOT: clean up the parser routines (patch by Fabian Frederic)


	RPCSEC_GSS: Fix RPC padding in two instances of RPCSEC_GSS code.
	RPC: Clean up XDR encoding of opaque data.


	NFSv4: attribute bitmap values need to be unsigned long integers.


	NFSv4: use the (more efficient) NFSv2/v3-like XDR scheme for generating
	ACCESS RPC calls.


	NFSv4: use the (more efficient) NFSv2/v3-like XDR scheme for generating
	GETATTR RPC calls.


	NFSv4: Remove unnecessary post-op attributes from read/write/... calls. The
	new attribute revalidation scheme doesn't rely on them.


	NFSv4: use the (more efficient) NFSv2/v3-like XDR scheme for generating
	LOOKUP RPC calls.


	NFSv4: use the (more efficient) NFSv2/v3-like XDR scheme for looking up the
	mountpoint.


	NFSv4: use the (more efficient) NFSv2/v3-like XDR scheme for generating
	REMOVE RPC calls.


	NFSv4: use the (more efficient) NFSv2/v3-like XDR scheme for generating
	RENAME RPC calls.


	NFSv4: use the (more efficient) NFSv2/v3-like XDR scheme for hard linking


	NFSv4: use the (more efficient) NFSv2/v3-like XDR scheme for generating
	CREATE RPC calls.


	NFSv4: use the (more efficient) NFSv2/v3-like XDR scheme for generating
	PATHCONF RPC calls.


	NFSv4: use the (more efficient) NFSv2/v3-like XDR scheme for generating
	STATFS RPC calls.


	NFSv4: use the (more efficient) NFSv2/v3-like XDR scheme when doing
	sillyrename() completion.


	NFSv4: use the (more efficient) NFSv2/v3-like XDR scheme for generating
	READLINK RPC calls.


	NFSv4: use the (more efficient) NFSv2/v3-like XDR scheme for generating
	READDIR RPC calls.


	NFSv4: assorted code readability cleanups in the XDR


	NFSv4: clean up the FSINFO XDR code to conform to the new scheme for GETATTR.


	RPC: add a field to the xdr_buf that explicitly contains the maximum buffer
	     length.
	RPC: make the client receive xdr_buf return the actual length of the RPC
	     length.
	NFSv4/RPC: improved checks to prevent XDR reading beyond the actual end of
	     the RPC reply.


	NFSv4: Check server capabilities at mount time so that we can optimize away
	requests for attributes that are not supported. In particular, we wish to
	determine whether or not the server supports ACLs.


	RPC: Fix a bug introduced by trond.myklebust@fys.uio.no|ChangeSet|20040314024328|33542.
	  portmap can fail due to the call to xprt_close() in xprt_connect():
	    xprt_disconnect() wakes up xprt->snd_task, and sets -ENOTCONN,
	    which again gets converted to EIO by xprt_connect_status()
	
	  Fix is to remove call to xprt_disconnect(). We don't need it in the
	  case when we are reconnecting. However we do need to ensure that we
	  wake up xprt->snd_task if reconnection fails.
	
	  Diagnosis & proposed solution by Olaf Kirch


	Lockd: Fix waiting on the server grace period.
	  The old code was wrong in that it assumed that we are out the grace
	  period as soon as the client is finished doing lock recovery.
	  Also ensure that we respect signals when waiting for the server grace
	  period to end.


	RPC: Ensure that we only schedule one RPC request at a time.
	   In theory the current code could cause two to be scheduled
	   if something wakes up xprt->snd_task before keventd has
	   had a chance to run xprt_sock_connect()


	NFSv3: Fix an XDR overflow bug in READDIRPLUS


	[PCMCIA] init_pcmcia_cs() to return error from class_register()
	
	Patch from: Randy Dunlap
	
	From: Walter Harms
	
	Now init_pcmcia_cs() returns the result of class_register().
	Therefore init_pcmcia_cs() will possibly return an error.


	[ARM] use errno #defines in assembly
	
	Patch from: Randy Dunlap
	
	From: Danilo Piazzalunga
	
	Some assembly code (on various archs) either
	 1. uses hardcoded errno numbers instead of the canonical macro
	    names, or
	 2. defines them locally, instead of including the appropriate
	    header (while including other headers).
	
	This patch "fixes" such usage in
	 - getuser.S for arm
	 - putuser.S for arm


	JFS: Fix race in jfs_sync
	
	Don't let final iput happen while jfs_sync is processing inode.


	[PATCH] Fix unaligned stxncpy again
	
	Herbert Xu noted:
	  "The current stxncpy on alpha is still broken when it comes to single
	   word, unaligned, src misalignment > dest misalignment copies.
	
	   I've attached a program which demonstrates this problem."
	
	Ugh, indeed. It fails when there is a zero byte before the data.
	Thanks.
	
	Here is the fix for this (both regular and ev6 version).


	[PATCH] x86-64 update
	
	From: Andi Kleen 
	
	Current x86-64 patchkit for 2.6.5.
	
	- Add drivers/firmware/Kconfig
	
	- Clarify description of CONFIG_IOMMU_DEBUG
	
	- Use correct gcc option to optimize for Intel CPUs
	
	- Add EDD support (Matt Domsch)
	
	- Add workaround for broken IOMMU on VIA hardware.  Uses swiotlb there now.
	
	- Handle more than 8 local APICs (Suresh B Siddha) 
	
	- Delete obsolete mtrr Makefile
	
	- Add x86_cache_alignment and set it up properly for P4 (128 bytes instead
	  of 64bytes).  Also report in /proc/cpuinfo
	
	- Minor cleanup in in_gate_area
	
	- Make asm-generic/dma-mapping.h compile with !CONFIG_PCI Just stub out all
	  functions in this case.  This is mainly to work around sysfs.
	
	- More !CONFIG_PCI compile fixes
	
	- Make u64 sector_t unconditional


	[PATCH] Fix URLs in Kconfig files
	
	From: Rusty Russell 
	
	From: "Petri T. Koistinen" 
	
	1) Various URLs in the Kconfig files are out of date: update them.
	
	2) URLs should be of form .
	
	3) References to files in the source should be of form
	   
	
	4) Email addresses should be of form 


	[PATCH] feed devfs through Lindent
	
	Nobody seems to have any outstanding work against devfs, so...


	[PATCH] generalise system_running
	
	From: Olof Johansson 
	
	It's currently a boolean, but that means that system_running goes to zero
	again when shutting down.  So we then use code (in the page allocator) which
	is only designed to be used during bootup - it is marked __init.
	
	So we need to be able to distinguish early boot state from late shutdown
	state.  Rename system_running to system_state and give it the three
	appropriate states.


	[PATCH] vt.c cleanup
	
	- Remove unneeded casts of a void *
	
	- whitespace consistency.


	[PATCH] con_open() speedup/cleanup
	
	con_open() is called on every open of the tty, even if the tty is already all
	set up.  We only need to do that initialisation if the tty is being set up
	for the very first time (tty->count == 1).
	
	So do that: check for tty_count == 1 inside console_sem() and if so, bypass
	all the unnecessary initialisation.
	
	
	
	Note that this patch reintroduces the con_close()-vs-init_dev() race+oops. 
	This is because that oops is accidentally prevented because when it happens,
	con_open() reinstalls tty->driver_data even when tty->count > 1.
	
	But that's bogus, and when the race happens we end up running
	vcs_make_devfs() and vcs_remove_devfs() against the same console at the same
	time, producing indeterminate results.
	
	So the race needs to be fixed again, for real.


	[PATCH] remove down_tty_sem()
	
	Remove the down_tty_sem() and up_tty_sem() and replace them with open-coded
	up() and down().  This is an equivalent transformation.
	
	I assume these functions were created to open the possibility of per-tty
	semaphores at some time in the future.  But the code which is protected by
	this lock deals with two tty's at the same time, and the next patch will need
	to release the lock after the tty has been destroyed.


	[PATCH] Fix VT open/close race
	
	The race is that con_close() can sleep, and drops the BKL while
	tty->count==1.  But another thread can come into init_dev() and will take a
	new ref against the tty and start using it.
	
	But con_close() doesn't notice that new ref and proceeds to null out
	tty->driver_data while someone else is using the resurrected tty.
	
	So the patch serialises con_close() against init_dev() with tty_sem.
	
	
	Here's a test app which reproduced the oops instantly on 2-way.  It realy
	needs to be run against all tty-capable devices.
	
	/*
	 * Run this against a tty which nobody currently has open, such as /dev/tty9
	 */
	
	#include 
	#include 
	#include 
	#include 
	#include 
	#include 
	
	void doit(char *filename)
	{
		int fd,x;
	
		fd = open(filename, O_RDWR);
		if (fd < 0) {
			perror("open");
			exit(1);
		}
		ioctl(fd, KDKBDREP, &x);
		close(fd);
	}
	
	main(int argc, char *argv[])
	{
		char *filename = argv[1];
	
		for ( ; ; )
			doit(filename);
	}


	[PATCH] i4l: kernelcapi receive workqueue and locking rework
	
	From: Armin Schindler 
	
	With this patch the ISDN kernel CAPI code uses a per application workqueue
	with proper locking to prevent message re-ordering due to the fact a
	workqueue may run on another CPU at the same time.  Also some locks for
	internal data is added.
	
	Removed global recv_queue work, use per application workqueue.  Added
	proper locking mechanisms for application, controller and application
	workqueue function.  Increased max.  number of possible applications and
	controllers.


	[PATCH] Fix get_wchan() FIXME wrt. order of functions
	
	From: William Lee Irwin III 
	
	This addresses the issue with get_wchan() that the various functions acting
	as scheduling-related primitives are not, in fact, contiguous in the text
	segment.  It creates an ELF section for scheduling primitives to be placed
	in, and places currently-detected (i.e.  skipped during stack decoding)
	scheduling primitives and others like io_schedule() and down(), which are
	currently missed by get_wchan() code, into this section also.
	
	The net effects are more reliability of get_wchan()'s results and the new
	ability, made use of by this code, to arbitrarily place scheduling
	primitives in the source code without disturbing get_wchan()'s accuracy.
	
	Suggestions by Arnd Bergmann and Matthew Wilcox regarding reducing the
	invasiveness of the patch were incorporated during prior rounds of review. 
	I've at least tried to sweep all arches in this patch.


	[PATCH] get_wchan() sparc64 fix
	
	From: William Lee Irwin III 
	
	Now the scheduler text is in its own ELF section this branch is asking for
	an illegal displacement.


	[PATCH] ppc32: Fix thinko in the altivec exception code
	
	From: Benjamin Herrenschmidt 
	
	Without this patch, executing an altivec instruction on an altivec capable
	CPU with a kernel that do not have CONFIG_ALTIVEC set would result in a
	kernel crash.
	
	(Fix forward ported from 2.4 by John Whitney
	)


	[PATCH] ppc64: si_addr fix
	
	From: Benjamin Herrenschmidt 
	
	This patch fixes si_addr on some segfaults in 64 bits mode, it used to be
	bogus (address not passed to do_page_fault by the asm code after a failure
	to set an SLB entry).


	[PATCH] ppc64: Fix bug in hugepage support
	
	From: David Gibson 
	
	The PPC64 version of is_aligned_hugepage_range() is buggy.  It is supposed to
	test not only that the given range is hugepage aligned, but that it lies
	within the address space allowed for hugepages.  We were checking only that
	the given range intersected the hugepage range, not that it lay entirely
	within it.  This patch fixes the problem and changes the name of some macros
	to make it less likely to make that misunderstanding again.


	[PATCH] ppc64: hugepage bugfix
	
	From: David Gibson 
	
	Found this again while looking at hugepage extensions.  Haven't actually had
	it bite yet - the race is small and the other bug will never be triggered in
	32-bit processes, and the function is rarely called on 64-bit processes.
	
	This patch fixes two bugs in the (same part of the) PPC64 hugepage code.
	First the method we were using to free stale PTE pages was not safe with some
	recent changes (race condition).  BenH has fixed this to work in the new way.
	 Second, we were not checking for a valid PGD entry before dereferencing the
	PMD page when scanning for stale PTE page pointers.


	[PATCH] ppc64: fix failure return codes from {pci,vio}_alloc_consistent()
	
	From: Olof Johansson 
	
	A bug snuck in during the rewrite of ppc64 IOMMU code.  When a
	{pci,vio}_alloc_consistent() call fails, DMA_ERROR_CODE is returned instead
	of NULL.


	[PATCH] ppc64: Fix G5 build with DART (iommu) support
	
	From: Benjamin Herrenschmidt 
	
	A recent patch that cleaned up some absolute/virt translation macros forgot
	one occurence, thus breaking g5 build with iommu support.


	[PATCH] disable VT on iSeries by default
	
	From: Paul Mackerras 
	
	This patch from Julie DeWandel makes CONFIG_VT default to N on iSeries
	machines which are using the iSeries virtual console driver viocons.c.  The
	VT console and the viocons code can't coexist because they use the same tty
	numbers, that is, viocons supplies /dev/tty1.  Without this patch the user
	has to figure out somehow that s/he has to turn on CONFIG_EMBEDDED in order
	to be able to turn off CONFIG_VT, which is really very non-obvious.


	[PATCH] ppc64: export itLpNaca on iSeries
	
	From: Paul Mackerras 
	
	This patch from Julie DeWandel exports the symbol itLpNaca on iSeries
	machines, for the use of the viodasd driver.


	[PATCH] PPC64: iSeries virtual ethernet driver
	
	From: Stephen Rothwell 
	
	This is the iSeries virtual ethernet driver.  David Gibson has taken you
	previous comments and hopefully sitisfied most of them.  The driver has
	also undergone some more testing which showed up some bugs which have been
	addressed.
	
	Unfortunately, Anton is about to submit some other patches of mine which
	will sightly comflict with this.  I will send a patch shortly that will
	(hopefully) fix that.


	[PATCH] ppc64: allow hugepages anywhere in low 4GB
	
	From: David Gibson 
	
	On PPC64, to deal with the restrictions imposed by the PPC MMU's segment
	design, hugepages are only allowed to be mapping in two fixed address
	ranges, one 2-3G (for use by 32-bit processes) and one 1-1.5T (for use in
	64-bit processes).  This is quite limiting, particularly for 32-bit
	processes which want to use a lot of large page memory.
	
	This patch relaxes this restriction, and allows any of the low 16 segments
	(i.e.  those below 4G) to be individually switched over to allow hugepage
	mappings (provided the segment does not already have any normal page
	mappings).  The 1-1.5T fixed range for 64-bit processes remains.


	[PATCH] ppc64: Move EPOW log buffer to BSS
	
	From: Olof Johansson 
	
	RTAS on IBM pSeries runs in real mode, so all pointers being passed in to
	it need to be in low memory.  There's two places in the RAS code that
	passes in pointers to items on the stack, which might end up being above
	the limit.
	
	Below patch resolves this by creating a buffer in BSS + a lock for
	serialization.  There's no reason to worry about contention on the lock,
	since rtas_call() also serializes on a single spinlock and this is an
	infrequent code path in the first place.


	[PATCH] ppc64: Disable SMT snooze by default
	
	From: Anton Blanchard 
	
	Disable SMT snooze by default


	[PATCH] ppc64: Allow PCI devices to use address that happens to fall in the ISA range
	
	From: Jake Moilanen 
	
	Allow PCI devices to use address that happens to fall in the ISA range,
	but still protect against ISA device accesses when there is not an ISA
	bus.


	[PATCH] ppc64: JS20 PHB devfn fix
	
	From: Jake Moilanen 
	
	The JS20 uses devfn 0 for a HT->PCI bridge.  The PHB devfn
	assumption does not hold for this case.


	[PATCH] ppc64: Correct comments for the offsets of fields in paca
	
	From: Will Schmidt 
	
	Correct comments for the offsets of fields in paca


	[PATCH] ppc64: Make rtasd dump KERN_DEBUG
	
	From: Jake Moilanen 
	
	Change the loglevel of an error log printed so it
	does not goto the console.  Since error logs can
	be upto 2k in size, it can spam the console.


	[PATCH] ppc64: Fix xmon compile warning
	
	From: Joel Schopp 
	
	Fix includes to avoid the compiler warning:
	arch/ppc64/xmon/start.c: In function `xmon_readchar':
	arch/ppc64/xmon/start.c:104: warning: implicit declaration of function
	`xmon_printf'


	[PATCH] ppc64: Misc rtasd fixes
	
	From: Jake Moilanen 
	
	Misc rtasd fixes for some broken firmware versions.


	[PATCH] ppc64: Additional PVR value for power5 processor
	
	From: Will Schmidt 
	
	Additional PVR value for power5 processor


	[PATCH] ppc64: Add support for hotplug cpus
	
	From: Joel Schopp 
	
	Add support for hotplug cpus


	[PATCH] ppc64: Add RTAS os-term call for panic on pSeries
	
	From: Michael Strosaker 
	
	Add RTAS os-term call for panic on pSeries


	[PATCH] ppc64: Fix xics irq affinity bug
	
	From: Anton Blanchard 
	
	Fix xics irq affinity bug. We were anding with cpu_online_map but werent
	using the result later on.


	[PATCH] ppc64: irq cleanups
	
	From: Paul Mackerras 
	
	Create and use irq_offset_up/down, get_irq_desc, for_each_irq


	[PATCH] ppc64: Create xics get_irq_server
	
	From: Anton Blanchard 
	
	Create xics get_irq_server and use it in enable/disable code.


	[PATCH] ppc64: Put SMT threads into global interrupt queue
	
	From: David Engebretsen 
	
	Put SMT threads into global interrupt queue


	[PATCH] ppc64: Update CPU features
	
	From: Anton Blanchard 
	
	Update CPU features. Remove DABR feature, all cpus have it. Add MMCRA,
	PMC8, SMT, COHERENT_ICACHE, LOCKLESS_TLBIE features


	[PATCH] ppc64: Move sysfs specific stuff into sysfs.c
	
	From: Anton Blanchard 
	
	Move sysfs specific stuff into sysfs.c


	[PATCH] ppc64: Add some POWER5 specific optimisations
	
	From: Anton Blanchard 
	
	Add some POWER5 specific optimisations:
	- icache is coherent, no need to explicitly flush
	- tlbie lock no longer required


	[PATCH] ppc64: Add PMCs to sysfs
	
	From: Anton Blanchard 
	
	Add PMCs to sysfs.


	[PATCH] ppc64: Add HW PMC support to oprofile
	
	From: Anton Blanchard 
	
	Add HW PMC support to oprofile


	[PATCH] ppc64: Register secondary threads in NUMA init code
	
	From: Anton Blanchard 
	
	Register secondary threads in NUMA init code


	[PATCH] ppc64: Use enum dma_data_direction for the vio DMA api routines.
	
	From: Stephen Rothwell 
	
	This patch uses enum dma_data_direction for the vio DMA api routines.
	This allows us to remove some include of linux/pci.h.
	
	Also missed some pci_dma_mapping_error uses.


	[PATCH] ppc64: Use enum dma_data_direction for all APIs
	
	From: Stephen Rothwell 
	
	This is just a cleanup to use enum dma_data_direction for all APIs
	except the pci_dma_ ones (since they are defined generically).
	
	Also make most of the functions in arch/ppc64/kernel/pci_iommu.c
	static.


	[PATCH] ppc64: Consolidate some of the iommu DMA mapping routines.
	
	From: Stephen Rothwell 
	
	This patch consolidates some of the iommu DMA mapping routines.


	[PATCH] ppc64: change the iSeries virtual device drivers to use the vio infrastructure for DMA mapping
	
	From: Stephen Rothwell 
	
	This patch changes the iSeries virtual device drivers to use the
	vio infrastructure for DMA mapping instead of the PCI infrastructure.
	This is a step along the way to integrating them correctly into the
	driver model.


	[PATCH] ppc64: replace vio_dma_mapping_error with dma_mapping_error everywhere.
	
	From: Stephen Rothwell 
	
	James Bottomley is right, this was a mistake.  This patch replaces
	vio_dma_mapping_error with dma_mapping_error everywhere.


	[PATCH] ppc64: add platform identification to oops messages
	
	From: Anton Blanchard 


	[PATCH] ppc64: Oops cleanup
	
	From: Anton Blanchard 
	
	Oops cleanup:
	
	- Move prototypes into system.h
	- Move the debugger hooks into die, all the calls sites were calling them.
	- Handle bad values passed to prregs


	[PATCH] ppc64: Add smt_snooze_delay cpu sysfs attribute
	
	From: Anton Blanchard 
	
	Add smt_snooze_delay cpu sysfs attribute


	[PATCH] ppc64: DMA API updates
	
	From: Anton Blanchard 
	
	DMA API updates, in particular adding the new cache flush interfaces.


	[PATCH] ppc64: Remove unused rtas functions
	
	From: Joel Schopp 
	
	I was looking at rtas serialization for reasons I won't go into here.
	While wandering through the code I found that two functions were not
	properly serialized.  phys_call_rtas and phys_call_rtas_display_status are
	the functions.  After looking further they are redundant and not
	used anywhere at all.


	[PATCH] ppc64: Quieten NVRAM driver
	
	From: Anton Blanchard 
	
	Quieten NVRAM driver


	[PATCH] ppc64: UP compile fixes
	
	From: Anton Blanchard 
	
	UP compile fixes


	[PATCH] ppc44x: fix memory leak
	
	From: Matt Porter 
	
	This fixes a memory leak when freeing pgds on PPC44x.


	[PATCH] Quota locking fixes
	
	From: Jan Kara 
	
	Change locking rules in quota code to fix lock ordering especially wrt
	journal lock.  Also some unnecessary spinlocking is removed.  The locking
	changes are mainly: dqptr_sem, dqio_sem are acquired only when transaction is
	already started, dqonoff_sem before a transaction is started.  This change
	requires some callbacks to ext3 (also implemented in this patch) to start
	transaction before the locks are acquired.


	[PATCH] fs/inode.c list_head cleanup
	
	Teach inode.c about list_move().


	[PATCH] search for /init for initramfs boots
	
	From: Olaf Hering 
	
	initramfs can not be used in current 2.6 kernels, the files will never be
	executed because prepare_namespace doesn't care about them.  The only way to
	workaround that limitation is a root=0:0 cmdline option to force rootfs as
	root filesystem.  This will break further booting because rootfs is not the
	final root filesystem.
	
	This patch checks for the presence of /init which comes from the cpio archive
	(and thats the only way to store files into the rootfs).  This binary/script
	has to do all the work of prepare_namespace().


	[PATCH] knfsd: Return -EOPNOTSUPP when unknown mechanism name encountered
	
	From: NeilBrown 
	
	It's better than oopsing.


	[PATCH] knfsd: Minor fix to error return when updating server authentication information
	
	From: NeilBrown 


	[PATCH] knfsd: fix a problem with incorrectly formatted auth_error returns.
	
	From: NeilBrown 
	
	From: Fred Isaman


	[PATCH] knfsd: Remove name_lookup.h that noone is using anymore.
	
	From: NeilBrown 


	[PATCH] knfsd: Add server-side support for the nfsv4 mounted_on_fileid attribute.
	
	From: NeilBrown 


	[PATCH] knfsd: Improve UTF8 checking.
	
	From: NeilBrown 
	
	From: Fred.  We don't do all the utf8 checking we could in the kernel, but we
	do some simple checks.  Implement slightly stricter, and probably more
	efficient, checking.


	[PATCH] knfsd: Export a symbol needed by auth_gss
	
	From: NeilBrown 
	
	From: "J. Bruce Fields" 
	
	Without this compiling auth_gss as module fails.


	[PATCH] knfsd: Add data integrity to serve rside gss
	
	From: NeilBrown 
	
	From: "J. Bruce Fields" 
	
	rpcsec_gss supports three security levels:
	
	1.  authentication only: sign the header of each rpc request and response.
	
	2. integrity: sign the header and body of each rpc request and response.
	
	3.  privacy: sign the header and encrypt the body of each rpc request and
	   response.
	
	The first 2 are already supported on the client; this adds integrity support
	on the server.


	[PATCH] md: merge_bvec_fn needs to know about partitions.
	
	From: Neil Brown 
	
	Addresses http://bugme.osdl.org/show_bug.cgi?id=2355
	
	It seems that a merge_bvec_fn needs to be aware of partitioning...  who
	would have thought it :-(
	
	The following patch should fix the merge_bvec_fn for both linear and raid0.
	We teach linear and raid0 about partitions in the merge_bvec_fn.
	
	->merge_bvec_fn needs to make decisions based on the physical geometry of the
	device.  For raid0, it needs to decide if adding the bvec to the bio will
	make the bio span two drives.
	
	To do this, it needs to know where the request is (what the sector number is)
	in the whole device.
	
	However when called from bio_add_page, bi_sector is the sector number
	relative to the current partition, as generic_make_request hasn't been called
	yet.
	
	So raid_mergeable_bvec needs to map bio->bi_sector (which is partition
	relative) to a bi_sector which is device relative, so it can perform proper
	calculations about when chunk boundaries are.


	[PATCH] posix message queues: code move
	
	From: Manfred Spraul 
	
	cleanup of sysv ipc as a preparation for posix message queues:
	
	- replace !CONFIG_SYSVIPC wrappers for copy_semundo and exit_sem with
	  static inline wrappers.  Now the whole ipc/util.c file is only used if
	  CONFIG_SYSVIPC is set, use makefile magic instead of #ifdef.
	
	- remove the prototypes for copy_semundo and exit_sem from kernel/fork.c
	
	- they belong into a header file.
	
	- create a new msgutil.c with the helper functions for message queues.
	
	- cleanup the helper functions: run Lindent, add __user tags.


	[PATCH] posix message queues: syscall stubs
	
	From: Manfred Spraul 
	
	Add -ENOSYS stubs for the posix message queue syscalls.  The API is a direct
	mapping of the api from the unix spec, with two exceptions:
	
	- mq_close() doesn't exist.  Message queue file descriptors can be closed
	  with close().
	
	- mq_notify(SIGEV_THREAD) cannot be implemented in the kernel.  The kernel
	  returns a pollable file descriptor .  User space must poll (or read) this
	  descriptor and call the notifier function if the file descriptor is
	  signaled.


	[PATCH] posix message queues: implementation
	
	From: Manfred Spraul 
	
	Actual implementation of the posix message queues, written by Krzysztof
	Benedyczak and Michal Wronski.  The complete implementation is dependant on
	CONFIG_POSIX_MQUEUE.
	
	It passed the openposix test suite with two exceptions: one mq_unlink test
	was bad and tested undefined behavior.  And Linux succeeds
	mq_close(open(,,,)).  The spec mandates EBADF, but we have decided to ignore
	that: we would have to add a new syscall just for the right error code.
	
	The patch intentionally doesn't use all helpers from fs/libfs for kernel-only
	filesystems: step 5 allows user space mounts of the file system.
	
	
	
	Signal changes:
	
	The patch redefines SI_MESGQ using __SI_CODE: The generic Linux ABI uses
	a negative value (i.e.  from user) for SI_MESGQ, but the kernel internal
	value must be posive to pass check_kill_value.  Additionally, the patch
	adds support into copy_siginfo_to_user to copy the "new" signal type to
	user space.
	
	
	
	Changes in signal code caused by POSIX message queues patch:
	
	General & rationale:
	
	  mqueues generated signals (only upon notification) must have si_code
	  == SI_MESGQ.  In fact such a signal is send from one process which
	  caused notification (== sent message to empty message queue) to
	  another which requested it.  Both processes can be of course unrelated
	  in terms of uids/euids.  So SI_MESGQ signals must be classified as
	  SI_FROMKERNEL to pass check_kill_permissions (not need to say that
	  this signals ARE from kernel).
	
	  Signals generated by message queues notification need the same
	  fields in siginfo struct's union _sifields as POSIX.1b signals and we
	  can reuse its union entry.
	
	  SI_MESGQ was previously defined to -3 in kernel and also in glibc. 
	  So in userspace SI_MESGQ must be still visible as -3.
	
	Solution:
	
	  SI_MESGQ is defined in the same style as SI_TIMER using __SI_CODE macro.
	
	  Details:
	
	    Fortunately copy_siginfo_to_user copies si_code as short.  So we
	    can use remaining part of int value freely.  __SI_CODE does the
	    work.  SI_MESGQ is in kernel:
	
	 		6<<16 | (-3 & 0xffff) what is > 0
	
	    but to userspace is copied
	
	 		(short) SI_MESGQ == -3
	
	Actual changes:
	
	  Changes in include/asm-generic/siginfo.h
	
	  __SI_MESGQ added in signal.h to represent inside-kernel prefix of
	  SI_MESGQ.  SI_MESGQ is redefined from -3 to __SI_CODE(__SI_MESGQ, -3)
	
	  Except mips architecture those changes should be arch independent
	  (asm-generic/siginfo.h is included in arch versions).  On mips
	  SI_MESGQ is redefined to -4 in order to be compatible with IRIX.  But
	  the same schema can be used.
	
	  Change in copy_siginfo_to_user: We only add one line to order the
	  same copy semantics as for _SI_RT.
	
	  This change isn't very portable - some arch have its own
	  copy_siginfo_to_user.  All those should have similar change (but
	  possibly not one-line as _SI_RT case was sometimes ignored because i
	  wasn't used yet, e.g.  see ia64 signal.c).
	
	Update:
	mq: only fail with invalid timespec if mq_timed{send,receive} needs to block
	From: Jakub Jelinek 
	
	POSIX requires EINVAL to be set if:
	"The process or thread would have blocked, and the abs_timeout parameter
	specified a nanoseconds field value less than zero or greater than or equal
	to 1000 million."
	but 2.6.5-mm3 returns -EINVAL even if the process or thread would not block
	(if the queue is not empty for timedreceive or not full for timedsend).


	[PATCH] posix message queues: linux-specific poll extension
	
	From: Manfred Spraul 
	
	Linux specific extension: make the message queue identifiers pollable.  It's
	simple and could be useful.


	[PATCH] posix message queues: made user mountable
	
	From: Manfred Spraul 
	
	Make the posix message queue mountable by the user.  This replaces ipcs and
	ipcrm for posix message queue: The admin can check which queues exist with ls
	and remove stale queues with rm.
	
	I'd like a final confirmation from Ulrich that our SIGEV_THREAD approach is
	the right thing(tm): He's aware of the design and didn't object, but I think
	he hasn't seen the final API yet.


	[PATCH] posix message queue update
	
	From: Manfred Spraul 
	
	My discussion with Ulrich had one result:
	
	- mq_setattr can accept implementation defined flags.  Right now we have
	  none, but we might add some later (e.g.  switch to CLOCK_MONOTONIC for
	  mq_timed{send,receive} or something similar).  When we add flags, we
	  might need the fields for additional information.  And they don't hurt.
	  Therefore add four __reserved fields to mq_attr.
	
	- fail mq_setattr if we get unknown flags - otherwise glibc can't detect
	  if it's running on a future kernel that supports new features.
	
	- use memset to initialize the mq_attr structure - theoretically we could
	  leak kernel memory.
	
	- Only set O_NONBLOCK in mq_attr, explicitely clear O_RDWR & friends.
	  openposix uses getattr, attr |=O_NONBLOCK, setattr - a sane approach. 
	  Without clearing O_RDWR, this fails.
	
	I've retested all openposix conformance tests with the new patch - the two
	new FAILED tests check undefined behavior.  Note that I won't have net
	access until Sunday - if the message queue patch breaks something important
	either ask Krzysztof or drop it.
	
	Ulrich had another good idea for SIGEV_THREAD, but I must think about it.
	It would mean less complexitiy in glibc, but more code in the kernel.  I'm
	not yet convinced that it's overall better.


	[PATCH] security bugfix for mqueue
	
	From: Manfred Spraul 
	
	I found a security bug in the new mqueue code: a process that has only
	write permissions to a message queue could call mq_notify(SIGEV_THREAD) and
	use the returned notification file descriptor to read from the message
	queue.


	[PATCH] split netlink_unicast
	
	From: Manfred Spraul 
	
	The attached patch splits netlink_unicast into three steps:
	
	- netlink_getsock{bypid,byfilp}: lookup the destination socket.
	
	- netlink_attachskb: perform the nonblock checks, sleep if the socket
	  queue is longer than the limit, etc.
	
	- netlink_sendskb: actually send the skb.
	
	jamal looked over it and didn't see a problem with the netlink change.  The
	actual use from ipc/mqueue.c is still open (just send back whatever the C
	library passed to mq_notify, add an nlmsghdr or perhaps even make it a
	specialized netlink protocol), but the attached patch is independant from
	the the message queue change.
	
	(acked by davem)


	[PATCH] posix message queues: send notifications via netlink
	
	From: Manfred Spraul 
	
	SIGEV_THREAD means that a given callback should be called in the context on a
	new thread.  This must be done by the C library.  The kernel must deliver a
	notice of the event to the C library when the callback should be called.
	
	This patch switches to a new, simpler interface: User space creates a socket
	with socket(PF_NETLINK, SOCK_RAW,0) and passes the fd to the mq_notify call
	together with a cookie.  When the mq_notify() condition is satisfied, the
	kernel "writes" the cookie to the socket.  User space then reads the cookie
	and calls the appropriate callback.


	[PATCH] compat emulation for posix message queues
	
	From: Arnd Bergmann 
	
	I have tested the code with the open posix test suite and found the same
	four failures for both 64-bit and compat mode, most tests pass.  The patch
	is against -mc1, but I guess it also applies to the other trees around.
	
	What worries me more than mq_attr compatibility is the conversion of struct
	sigevent, which might turn out really hard when more fields in there are
	used.  AFAICS, the only other part in the kernel ABI is sys_timer_create(),
	so maybe it's not too late to deprecate the current structure and create a
	structure that can be used properly for compat syscalls.


	[PATCH] IPMI driver updates
	
	From: Corey Minyard 
	
	- Add support for messaging through an IPMI LAN interface, which is
	  required for some system software that already exists on other IPMI
	  drivers.  It also does some renaming and a lot of little cleanups.
	
	- Add the "System Interface" driver.  The previous driver for system
	  interfaces only supported the KCS interface, this driver supports all
	  system interfaces defined in the IPMI standard.  It also does a much better
	  job of handling ACPI and SMBIOS tables for detecting IPMI system
	  interfaces.


	[PATCH] move job control fields from task_struct to signal_struct
	
	From: Roland McGrath 
	
	This patch moves all the fields relating to job control from task_struct to
	signal_struct, so that all this info is properly per-process rather than
	being per-thread.


	[PATCH] Fix page allocator lower zone protection for NUMA
	
	From: Martin Hicks 
	
	This changes __alloc_pages() so it uses precalculated values for the "min".
	This should prevent the problem of min incrementing from zone to zone across
	many nodes on a NUMA machine.  The result of falling back to other nodes with
	the old incremental min calculations was that the min value became very
	large.


	[PATCH] ext3 fsync() and fdatasync() speedup
	
	ext3's fsync/fdatasync implementation is currently syncing the inode via a
	full journal commit even if it was unaltered.
	
	Fix that up by exporting the core VFS's inode sync function to modules and
	calling it if the inode is dirty.  We need to do it this way so that the
	inode is moved to the appropriate superblock list and so that the i_state
	dirty flags are appropriately updated.
	
	This speeds up ext3 fsync() for file overwrites by a factor of four (disk
	non-writeback) to forty (disk in writeback mode).


	[PATCH] speed up ext2 fsync() and fdatasync()
	
	ext2_sync_file() forgets to clear the inode's dirty bits, so we write the
	inode on every fsync(), even if it hasn't changed.
	
	Fix that up via the new sync_file() API which correctly manages the inode
	state bits and the superblock inode lists.
	
	When performing file overwrite on IDE with and without writeback caching
	enabled this patch approximately doubles fsync() speed, bringing it into line
	with O_SYNC writes.
	
	Also, fix up the return value handling in ext2_sync_file().
	
	Credit due to Jeffrey Siegal  who noticed the performance
	discrepancy and wrote a test app.


	[PATCH] jbd: fix ordered-data writeout logic
	
	There's some nasty code in commit which deals with a lock ranking problem. 
	Currently if it fails to get the lock when and local variable `bufs' is zero
	we forget to write out some ordered-data buffers.  So a subsequent
	crash+recovery could yield stale data in existing files.
	
	Fix it by correctly restarting the t_sync_datalist search.


	[PATCH] JBD: ordered-data commit cleanup
	
	For data=ordered, kjournald at commit time has to write out and wait upon a
	long list of buffers.  It does this in a rather awkward way with a single
	list.  it causes complexity and long lock hold times, and makes the addition
	of rescheduling points quite hard
	
	So what we do instead (based on Chris Mason's suggestion) is to add a new
	buffer list (t_locked_list) to the journal.  It contains buffers which have
	been placed under I/O.
	
	So as we walk the t_sync_datalist list we move buffers over to t_locked_list
	as they are written out.
	
	When t_sync_datalist is empty we may then walk t_locked_list waiting for the
	I/O to complete.
	
	As a side-effect this means that we can remove the nasty synchronous wait in
	journal_dirty_data which is there to avoid the kjournald livelock which would
	otherwise occur when someone is continuously dirtying a buffer.


	[PATCH] jbd: fix I/O error handling
	
	Fix a few buglets spotted by Jeff Mahoney .  We're currently
	only checking for I/O errors against journal buffers if they were locked when
	they were first inspected.
	
	We need to check buffer_uptodate() even if the buffers were already unlocked.


	[PATCH] readv/writev range checking fix
	
	do-readv_writev() is trying to fail if
	
	a) any of the segments have a length < 0 or
	
	b) the sum of the segments wraps negative.
	
	But it gets b) wrong because local variable tot_len is unsigned.
	
	Fix that up.


	[PATCH] Fix scripts/kernel-doc to handle __attribute__
	
	From: Tom Rini 
	
	The following patch is needed so that kernel-doc can handle functions which
	have __attribute__'s on them (such as __attribute__ ((weak))).


	[PATCH] slab: updates for per-arch alignments
	
	From: Manfred Spraul 
	
	Description:
	
	Right now kmem_cache_create automatically decides about the alignment of
	allocated objects. The automatic decisions are sometimes wrong:
	
	- for some objects, it's better to keep them as small as possible to
	  reduce the memory usage.  Ingo already added a parameter to
	  kmem_cache_create for the sigqueue cache, but it wasn't implemented.
	
	- for s390, normal kmalloc must be 8-byte aligned.  With debugging
	  enabled, the default allocation was 4-bytes.  This means that s390 cannot
	  enable slab debugging.
	
	- arm26 needs 1 kB aligned objects.  Previously this was impossible to
	  generate, therefore arm has its own allocator in
	  arm26/machine/small_page.c
	
	- most objects should be cache line aligned, to avoid false sharing.  But
	  the cache line size was set at compile time, often to 128 bytes for
	  generic kernels.  This wastes memory.  The new code uses the runtime
	  determined cache line size instead.
	
	- some caches want an explicit alignment.  One example are the pte_chain
	  objects: they must find the start of the object with addr&mask.  Right
	  now pte_chain objects are scaled to the cache line size, because that was
	  the only alignment that could be generated reliably.
	
	The implementation reuses the "offset" parameter of kmem_cache_create and
	now uses it to pass in the requested alignment.  offset was ignored by the
	current implementation, and the only user I found is sigqueue, which
	intended to set the alignment.
	
	In the long run, it might be interesting for the main tree: due to the 128
	byte alignment, only 7 inodes fit into one page, with 64-byte alignment, 9
	inodes - 20% memory recovered for Athlon systems.
	
	
	
	For generic kernels  running on P6 cpus (i.e. 32 byte cachelines), it means
	
	Number of objects per page:
	
	 ext2_inode_cache: 8 instead of 7
	 ext3_inode_cache: 8 instead of 7
	 fat_inode_cache: 9 instead of 7
	 rpc_tasks: 24 instead of 15
	 tcp_tw_bucket: 40 instead of 30
	 arp_cache: 40 instead of 30
	 nfs_write_data: 9 instead of 7


	[PATCH] set mod->waiter before calling stop_machine
	
	From: Rusty Russell 
	
	mod->waiter needs to be set before we try to stop the module: setting it in
	__try_stop_module means it gets set to the kthread, not rmmod.


	[PATCH] fs/proc/proc_tty.c comment fixes
	
	From: Marc-Christian Petersen 


	[PATCH] sb_mixer bounds checking
	
	From: Muli Ben-Yehuda 
	
	This patch add proper bounds checking to the sb_mixer.c code, found by the
	stanford checker[0].  It fixes bugzilla bugs 252[1], 253[2] and 254[3]. 
	Patch is against 2.6.5-rc2.  It was tested by Rene Herman on SN AWE64 gold
	and sound still works.  The issue was previously discussed on lkml[4], but
	apparently no fix was applied.
	
	The patch is a bit more intrusive than I would've liked, but I don't think
	it can be helped without really intrusive changes.  sb_devc has a pointer
	to an array (iomap) that is set at run time to point to arrays of variable
	sizes.  The patch adds an 'iomap_sz' member to sb_devc that is set to the
	length of the array, and does bounds checking in sb_common_mixer_set() and
	smw_mixer_set() agains that.


	[PATCH] pmdisk: fix strcmp in sysfs store
	
	From: Herbert Xu 
	
	This patch fixes the sysfs store functions for pmdisk when the input
	contains a trailing newline.


	[PATCH] add file_operations.fcntl
	
	From: Chuck Lever 
	
	O_DIRECT|O_APPEND cannot possibly work on NFS, so NFS needs some way of
	preventing the user from setting this combination.  We felt that the best
	way of implementing this restriction is to allow the filesytem to implement
	its own fcntl() handler.
	
	This patch does, that, and provide the appropriate handler for NFS.
	
	Additional details from Chuck:
	
	Forgetting O_DIRECT for a moment, O_APPEND writes on NFS don't work in any
	case when multiple clients are writing to a file, since an NFS client can
	never guarantee it knows where the true end of file is 100% of the time.
	it works as expected iff only one client writes to an O_APPEND file at a
	time.
	
	Multi-client O_APPEND writing doesn't seem to be a problem for any
	application I'm aware of.  Since it can be made to behave in the
	multi-client case with careful application logic or by using file locking,
	I don't think we should disallow it.
	
	I want to drop the inode semaphore when doing NFS direct I/O because it is
	synchronous; holding the i_sem means we reduce direct I/O concurrency to
	one I/O per file at a time.  the important thing sct was worried about was
	the case where a single client is writing with O_APPEND and O_DIRECT, and
	we don't hold the i_sem during the write.
	
	We must at least hold the i_sem when determining where the end of file is
	to do the O_APPEND write.  In 2.6, I believe that is handled correctly in
	the VFS layer, so this is not an issue for 2.6, right?


	[PATCH] Fix sys_time() to get subtick correction from the new xtime
	
	From: "La Monte H.P. Yarroll" 
	
	This is a Scott Wood patch against 2.6.3.
	
	
	Use gettimeofday() rather than xtime.tv_sec in sys_time(), since
	sys_stime() uses settimeofday() and thus subtracts the subtick correction
	from the new xtime.
	
	stime() used settimeofday(), but time() did not use gettimeofday().  Since
	settimeofday() subtracts out the current intra-tick correction, and nsec
	was 0 (since stime() only allows seconds), this resulted in xtime being
	slightly earlier than the time that was set.
	
	If time() had used gettimeofday(), the correction would have been applied,
	and everything would be fine.  However, instead time just reads the current
	xtime.tv_sec, so if time() is called immediately after stime(), you'll
	usually get a value one second earlier.


	[PATCH] Broken bitmap_parse for ncpus > 32
	
	From: Joe Korty 
	
	This patch replaces the call to bitmap_shift_right() in bitmap_parse() with
	bitmap_shift_left().
	
	I also prepended comments to the bitmap_shift_* functions defining what
	'left' and 'right' means.  This is under the theory that if I and all the
	reviewers were bamboozled, others in the future occasionally might be too.


	[PATCH] ver_linux fix
	
	From: Rusty Russell 
	
	From:  Adrian Bunk 
	
	Some versions of ps print non-version lines when ps --version is invoked.
	grep them out.


	[PATCH] Update CodingStyle hints for Emacs users.
	
	From: Trivial Patch Monkey 
	
	From:  Ben Greear 
	
	Depending on one's default emacs settings, the suggestion in the
	CodingStyle may or may not work.  This patch adds a few more commands to
	ensure it works in more cases.


	[PATCH] document unused pte bits on i386
	
	From: Rusty Russell 
	
	From:  Ed L Cashin 
	
	This small patch documents that bits 9, 10, and 11 are unused by the Linux
	kernel.  The IA-32 Intel Architecture Software Developer's Manual says that
	these bits are available for programmer use.


	[PATCH] Consistently use quotes for SGML attributes
	
	From: Rusty Russell 
	
	From:  Hans Ulrich Niedermann 
	
	doc patch: Consistently use quotes for SGML attributes This makes it
	possible to process the SGML files without SHORTTAG YES.


	[PATCH] SGML: close tag with ">"
	
	From: Rusty Russell 
	
	From:  Hans Ulrich Niedermann 
	
	doc patch: close tag with ">"


	[PATCH] fix sch_ingress help
	
	From: Rusty Russell 
	
	From:  John Levon 


	[PATCH] i386 irq.c ifdef cleanup
	
	From: Rusty Russell 
	
	From:  Josef 'Jeff' Sipek 
	
	I just noticed the nested ifdefs, and made it little more readable.


	[PATCH] Fix firmware loader docs
	
	From: Rusty Russell 
	
	From:  Pavel Machek 
	
	sysfs should be mounted on /sys these days.


	[PATCH] Trivial Patch Monkey should be in MAINTAINERS
	
	From: Rusty Russell 
	
	From:  Petri Koistinen 


	[PATCH] Fix genksyms parsing
	
	From: Rusty Russell 
	
	From: Andreas Schwab  I'm getting a warning when building
	for ia64 with MODVERSIONS enabled.  This is a bug in genksyms, it can't
	cope with some arguments of __typeof__.
	
	The following patch will fix that.  Actually the argument of __typeof__ is
	an abstract declarator, but the genksyms parser has no production for that;
	decl_specifier_seq also matches some invalid constructs, but I don't think
	this is a problem in practice, since the compiler will reject them.


	[PATCH] CONFIG_X86_GENERIC description fixup
	
	From: Rusty Russell 
	
	From:  Stewart Smith 
	
	A better explanation of the X86_GENERIC config option follows.


	[PATCH] updating email info in CREDITS
	
	From: Rusty Russell 
	
	From:  Thomas Molina 


	[PATCH] Kill duplicate #include 
	
	From: Rusty Russell 
	
	include/linux/device.h includes include/linux/ioport.h twice.


	[PATCH] Use valid node number when unmapping x86 CPUs
	
	From: Rusty Russell 
	
	From:  colpatch@us.ibm.com
	
	The cpu_2_node[] array for i386 is initialized to all 0's, meaning that
	until modified at CPU bring-up, all CPUs are mapped to node 0.
	
	When CPUs are brought online, they are mapped to the appropriate node by
	various mechanisms, depending on the underlying hardware.
	
	When we unmap CPUs (hotplug time), we should return the mapping for the CPU
	that is going away to its original state, ie: 0.
	
	When this code was initially submitted, the misguided poster (me) made the
	mistake of putting a -1 in the cpu_2_node[] array for the CPU going away.
	
	This patch fixes this mistake, and allows code to get a valid node number
	for all valid CPU numbers.  This is important, because most (if not all)
	callers do not error check the value returned by the cpu_to_node() macro,
	and they should not have to.  The API specifies that a valid node number be
	returned for any valid CPU number.


	[PATCH] Add CC Trivial Patch Monkey to SubmittingPatches
	
	From: Rusty Russell 
	
	From: maximilian attems 
	
	Add the Monkey to SubmittingPatches.


	[PATCH] ne2k-pci.c compile fix on ppc[64]
	
	From: Rusty Russell 
	
	These macros are redefined here.  Previously definitions are in
	asm-ppc(64)/io.h


	[PATCH] Update Documentation/Changes
	
	From: Trivial Patch Monkey 
	
	From:  Thomas Molina 


	[PATCH] i830 DRM missing put_user
	
	From: Arjan van de Ven 
	
	The patch below adds a few missing put_user()'s to the i810/i830 drm
	modules.  Users reported oopses with 4g/4g split in action, and sparse
	annotations indeed found the offender in the function in question.  I've
	kept the sparse __user annotations since those are generally useful anyway.
	 I can't test it myself but a few people reported that the oopses went away
	so far.


	[PATCH] export complete_all()
	
	From: Mike Waychison 
	
	Export complete_all for module use.


	[PATCH] /dev/urandom scalability improvement
	
	From: David Mosberger 
	
	Somebody recently pointed out a performance-anomaly to me where an unusual
	amount of time was being spent reading from /dev/urandom.  The problem
	isn't really surprising as it happened only on >= 4-way machines and the
	random driver isn't terribly scalable the way it is written today.  If
	scalability _really_ mattered, I suppose per-CPU data structures would be
	the way to go.  However, I found that at least for 4-way machines,
	performance can be improved considerably with the attached patch.  In
	particular, I saw the following performance on a 4-way ia64 machine:
	
	Test: 3 tasks running "dd if=/dev/urandom of=/dev/null bs=1024":
	
				throughput:
				


	[PATCH] cpu5wdt.c warning fix
	
	From: Heiko Ronsdorf 
	
	- Remvoe a volatile which causes a warning via module_param()
	
	- Remove an unused variable.


	[PATCH] speed up fget() and fget_light()
	
	Eric Dumazet 
	
	We can avoid evaluating `current' in a few places.


	[PATCH] Move __this_module to modpost
	
	From: Brian Gerst 
	
	Move the __this_module structure to the modpost code where it really
	belongs.


	[PATCH] fix modversions now __this_module is created only in .ko
	
	From: Rusty Russell 
	
	Brian Gerst's patch which moved __this_module out from module.h into the
	module post-processing had a side effect.  genksyms didn't see the
	undefined symbols for modules without a module_init (or module_exit), and
	hence didn't generate a version for them, causing the kernel to be tainted.
	
	The simple solution is to always include the versions for these functions. 
	Also includes two cleanups:
	
	1) alloc_symbol is easier to use if it populates ->next for us.
	
	2) add_exported_symbol should set owner to module, not head of module
	   list (we don't use this field in entries in that list, fortunately).


	[PATCH] Support for floppies whose sectors are numbered from zero instead of one
	
	From: Marcelo Tosatti 
	
	From: Alain Knaff 
	
	This patch adds support for floppy disks whose sectors are numbered
	starting at 0 rather than 1 as usual disks would be.  This format is used
	for some CP/M disks, and also for certain music samplers (such as Ensoniq
	Ensoniq EPS 16plus).
	
	In order to use it, you need an fdutils with the current patch from
	http://fdutils.linux.lu as well, and then do setfdrpm /dev/fd0 dd zerobased
	sect=10 or setfdprm /dev/fd0 hd zerobased sect.
	
	In addtion, the patch also fixes my email addresses.  I no longer use
	pobox.com.


	[PATCH] Remove bitmap_shift_*() bitmap length limits
	
	From: William Lee Irwin III 
	
	Chang bitmap_shift_left()/bitmap_shift_right() to have O(1) stackspace
	requirements.
	
	Given zeroed tail preconditions these implementations satisfy zeroed tail
	postconditions, which makes them compatible with whatever changes from Paul
	Jackson one may want to merge in the future.  No particular effort was
	required to ensure this.
	
	A small (but hopefully forgiveable) cleanup is a spelling correction:
	s/bitmap_shift_write/bitmap_shift_right/ in one of the kerneldoc comments.
	
	The primary effect of the patch is to remove the MAX_BITMAP_BITS
	limitation, so restoring the NR_CPUS to be limited only by stackspace and
	slab allocator maximums.  They also look vaguely more efficient than the
	current code, though as this was not done for performance reasons, no
	performance testing was done.


	[PATCH] Fix huge sparse tmpfs files
	
	From: Hugh Dickins 
	
	Kevin P.  Fleming pointed out that the 2.6 tmpfs does not allow writing huge
	sparse files.  This is an unintended side-effect of the strict memory commit
	changes: which should make no difference.
	
	The solution is to treat the tmpfs files (of variable size) and the shmem
	objects (of fixed size) differently: sounds nasty but works out well.  The
	shmem objects follow the VM preallocation convention as before, but the tmpfs
	files revert to allocation on demand as a filesystem would.  If there's not
	enough memory to write to a tmpfs hole, it is reported as -ENOSPC rather than
	-ENOMEM, so the mmap writer gets SIGBUS rather than everyone else getting
	OOM-killed.


	[PATCH] Strip quotes from kernel parameters
	
	From: Rusty Russell 
	
	Agustin Martin  pointed out that this doesn't work:
	
		options ide-mod options="ide=nodma hdc=cdrom"
	
	The quotes are understood by kernel/params.c (ie.  it skips over spaces
	inside them), but are not stripped before handing to the underlying
	function.  They should be.


	[PATCH] summit: per-subarch NR_IRQ_VECTORS
	
	From: James Cleverdon 
	
	Break out the definition of NR_IRQ_VECTORS, etc from irq_vectors.h into
	irq_vectors_limits.h, so we can change it per subarch without having code
	duplication for the rest of the file.  Stick the same values back for
	mach-default, and override them for mach-summit/generic which needs bigger
	limits.


	[PATCH] summmit: increase MAX_MP_BUSSES
	
	From: James Cleverdon 
	
	Bump up MAX_MP_BUSSES for summit/generic subarch to cope with big IBM x440
	systems.


	[PATCH] ia64 MSI support
	
	From: "Nguyen, Tom L" 
	
	Adds MSI support for ia64.
	
	- Modified existing code in drivers/pci/msi.c and drivers/pci/msi.h to
	  include MSI support on IA64 platform.
	
	- Based on the comments received from Zwane Mwaikambo and David Mosberger,
	  this patch consolidates the vector allocators as
	  assign_irq_vector(AUTO_ASSIGN) has the same semantics as
	  ia64_alloc_vector() by converting the existing uses of ia64_alloc_vector()
	  to assign_irq_vector(AUTO_ASSIGN).
	
	- Based on the comments received from Zwane Mwaikambo, this patch
	  consolidates the semantics of vector allocator assign_irq_vector() in
	  drivers/pci/msi.c into the relevant architecture's vector allocator
	  assign_irq_vector() in arch/i386/kernel/io_apic.c.
	
	- Regarding vector allocation, this patch modifies the existing function
	  assign_irq_vector() to maximize the number of allocated vectors to 188
	  before going -ENOSPC.
	
	- Based on your comments, this patch creates ,
	   and , includes  from within
	  drivers/pci/msi.h and then places all the code which is currently under
	  ifdef in msi.h into the relevant architecture's  file.
	
	- Based on your comments, this patch places pci_vector_resources() in
	  existing drivers/pci/msi.c in the relevant architecture implementations
	  such as into arch/.../pci/irq.c.


	[PATCH] stv0299.c unused variable
	
	From: "Luiz Fernando N. Capitulino" 
	
	drivers/media/dvb/frontends/stv0299.c:356: warning: unused variable `i'


	[PATCH] selinux: fix struct type
	
	From: Stephen Smalley 
	
	This patch fixes the type of the ssec pointer in the sk_free_security
	function.  This has no current impact as the magic element is the top of each
	structure.  Thanks to Chad Hanson of TCS for discovering the bug and
	submitting the patch.


	[PATCH] missing NULL pointer check in pte_alloc_one.
	
	From: Martin Schwidefsky 
	
	Just found an small bug in pgalloc for s390*.  Comparing notes with other
	architectures I found that pte_alloc_one is sick for alpha and sparc64 as
	well.


	[PATCH] kill spurious MAKDEV scripts
	
	From: Christoph Hellwig 
	
	Kill magic ide/sound makedev scripts in scripts/.  The userland MAKEDEV is
	the proper place and already has support for them.


	[PATCH] oss/wavfront.c warning fix.
	
	From: "Luiz Fernando N. Capitulino" 
	
	sound/oss/wavfront.c: At top level:
	sound/oss/wavfront.c:2498: warning: `errno' defined but not used


	[PATCH] remove bogus MOD_{INC,DEC}_USE_COUNT from hysdn
	
	From: Christoph Hellwig 
	
	the maintainer doesn't response unfortauntely, but removing these from
	net_devices unconditionally is the 2.6 way to go, there's no more module
	refcounting on net devices.


	[PATCH] improve CONFIG_EMBEDDED help text
	
	From: Matt Mackall 
	
	Make CONFIG_EMBEDDED description more accurate


	[PATCH] eliminate nswap and cnswap
	
	From: Matt Mackall 
	
	The nswap and cnswap variables counters have never been incremented as
	Linux doesn't do task swapping.


	[PATCH] shrink inode when quota is disabled
	
	From: Matt Mackall 
	
	drop quota array in inode struct if no quota support


	[PATCH] enable suspend-on-halt for NS Geode
	
	From: Matt Mackall 
	
	From: Zwane Mwaikambo 
	
	This enables deep powersaving mode on Geode boxes.


	[PATCH] O_DIRECT data exposure fixes
	
	From: Badari Pulavarty, Suparna Bhattacharya, Andrew Morton
	
	Forward port of Stephen Tweedie's DIO fixes from 2.4, to fix various DIO vs
	buffered IO exposures involving races causing:
	
	(a) stale data from uninstantiated blocks to be read, e.g.
	
	    - O_DIRECT reads against buffered writes to a sparse region
	
	    - O_DIRECT writes to a sparse region against buffered reads
	
	(b) potential data corruption with
	
	    - O_DIRECT IOs against truncate
	
	    due to writes to truncated blocks (which may have been reallocated to
	    another file).
	
	Summary of fixes:
	
	1) All the changes affect only regular files.  RAW/O_DIRECT on block are
	   unaffected. 
	
	2) The DIO code will not fill in sparse regions on a write.  Instead
	   -ENOTBLK is returned and the generic file write code would fallthrough to
	   buffered IO in this case followed by writing through the pages to disk
	   using filemap_fdatawrite/wait.
	
	3) i_sem is held during both DIO reads and writes.  For reads, and writes
	   to already allocated blocks, it is released right after IO is issued,
	   while for writes to newly allocated blocks (e.g file extending writes and
	   hole overwrites) it is held all the way through until IO completes (and
	   data is committed to disk).
	
	4) filemap_fdatawrite/wait are called under i_sem to synchronize buffered
	   pages to disk blocks before issuing DIO.
	
	5) A new rwsem (i_alloc_sem) is held in shared mode all the while a DIO
	   (read or write) is in progress, and in exclusive mode by truncate to guard
	   against deallocation of data blocks during DIO. 
	
	6) All this new locking has been pushed down into blockdev_direct_IO to
	   avoid interfering with NFS direct IO.  The locks are taken in the order
	   i_sem followed by i_alloc_sem.  While i_sem may be released after IO
	   submission in some cases, i_alloc_sem is held through until dio_complete
	   (in the case of AIO-DIO this happens through the IO completion callback).
	
	7) i_sem and i_alloc_sem are not held for the _nolock versions of write
	   routines, as used by blockdev and XFS.  Filesystems can specify the
	   needs_special_locking parameter to __blockdev_direct_IO from their direct
	   IO address space op accordingly.
	
	Note from Badari:
	Here is the locking (when needs_special_locking is true):
	
	(1) generic_file_*_write() holds i_sem (as before) and calls
	    ->direct_IO().  blockdev_direct_IO gets i_alloc_sem and call
	    direct_io_worker().
	
	(2) generic_file_*_read() does not hold any locks.  blockdev_direct_IO()
	    gets i_sem and then i_alloc_sem and calls direct_io_worker() to do the
	    work
	
	(3) direct_io_worker() does the work and drops i_sem after submitting IOs
	    if appropriate and drops i_alloc_sem after completing IOs.


	[PATCH] Fix race between ll_rw_block() and block_write_full_page()
	
	Fix a race which was identified by Daniel McNeil 
	
	If a buffer_head is under I/O due to JBD's ordered data writeout (which uses
	ll_rw_block()) then either filemap_fdatawrite() or filemap_fdatawait() need
	to wait on the buffer's existing I/O.
	
	Presently neither will do so, because __block_write_full_page() will not
	actually submit any I/O and will hence not mark the page as being under
	writeback.
	
	The best-performing fix would be to somehow mark the page as being under
	writeback and defer waiting for the ll_rw_block-initiated I/O until
	filemap_fdatawait()-time.  But this is hard, because in
	__block_write_full_page() we do not have control of the buffer_head's end_io
	handler.  Possibly we could make JBD call into end_buffer_async_write(), but
	that gets nasty.
	
	This patch makes __block_write_full_page() wait for any buffer_head I/O to
	complete before inspecting the buffer_head state.  It only does this in the
	case where __block_write_full_page() was called for a "data-integrity" write:
	(wbc->sync_mode != WB_SYNC_NONE).
	
	Probably it doesn't matter, because kjournald is currently submitting (or has
	already submitted) all dirty buffers anyway.


	[PATCH] blockdev direct-io speedups
	
	From: Badari Pulavarty 
	
	1) blkdev_direct_IO() calls blockdev_direct_IO() instead of
	   blockdev_direct_IO_no_locking().
	
	2) writev entry point is generic_file_writev() which grabs i_sem.  It
	   should use generic_file_write_nolock() instead.


	[PATCH] direct-io AIO fixes
	
	From: Suparna Bhattacharya 
	
	Fixes the following remaining issues with the DIO code:
	
	1. During DIO file extends, intermediate writes could extend i_size
	   exposing unwritten blocks to intermediate reads (Soln: Don't drop i_sem
	   for file extends)
	
	2. AIO-DIO file extends may update i_size before I/O completes,
	   exposing unwritten blocks to intermediate reads.  (Soln: Force AIO-DIO
	   file extends to be synchronous)
	
	3. AIO-DIO writes to holes call aio_complete() before falling back to
	   buffered I/O !  (Soln: Avoid calling aio_complete() if -ENOTBLK)
	
	4. AIO-DIO writes to an allocated region followed by a hole, falls back
	   to buffered i/o without waiting for already submitted i/o to complete;
	   might return to user-space, which could overwrite the buffer contents
	   while they are still being written out by the kernel (Soln: Always wait
	   for submitted i/o to complete before falling back to buffered i/o)


	[PATCH] AIO+DIO bio_count race fix
	
	From: Suparna Bhattacharya ,
	      Daniel McNeil 
	
	This patch ensures that when the DIO code falls back to buffered i/o after
	having submitted part of the i/o, then buffered i/o is issued only for the
	remaining part of the request (i.e.  the part not already covered by DIO),
	rather than redo the entire i/o.  Now, instead of returning written ==
	-ENOTBLK, generic_file_direct_IO returns the number of bytes already handled
	by DIO, so that the caller knows how much of the I/O is left to be handled
	via fallback to buffered write.
	
	We need to careful not to access dio fields if its possible that the dio
	could already have been freed asynchronously during i/o completion.  A tricky
	part of this involves plugging the window between the decrement of bio_count
	and accessing dio->waiter during i/o completion where the dio could get freed
	by the submission path.  This potential "bio_count race" was tackled (by
	Daniel) by changing bio_list_lock into bio_lock and using that for all the
	bio fields.  Now bio_count and bios_in_flight have been converted from
	atomics into int and are both protected by the bio_lock.  The race in
	finished_one_bio() could thus be fixed by leaving the bio_count at 1 until
	after the dio_complete() and then doing the bio_count decrement and wakeup
	holding the bio_lock.  It appears that shifting to the spin_lock instead of
	atomic_inc/decs is ok performance wise as well.
	
	Update:
	
	An AIO O_DIRECT request was extending the file so it was done
	synchronously.  However, the request got an EFAULT and direct_io_worker()
	was calling aio_complete() on the iocb and returning the EFAULT.  When
	io_submit_one() got the EFAULT return, it assume it had to call
	aio_complete() since the i/o never got queued.
	
	The fix is for direct_io_worker() to only call aio_complete() when the
	upper layer is going to return -EIOCBQUEUED and not when getting errors
	that are being return to the submit path.


	[PATCH] rw_swap_page_sync(): place the pages in swapcache
	
	This function is setting page->mapping = swapper_space, but isn't actually
	adding the page to swapcache.  This triggers soon-to-be-added BUGs in the
	radix tree code.
	
	So temporarily add these pages to swapcache for real.
	
	Also, make rw_swap_page_sync() go away if it has no callers.


	[PATCH] radix-tree tags for selective lookup
	
	Add radix-tree tagging so we can look up dirty or writeback pages in
	O(log64(n)) time.
	
	Each radix-tree node gains two bits for each slot: one for page dirtiness and
	one for page writebackness.
	
	If a tag bit is set on a leaf node, it indicates that item at the
	corresponding slot is tagged (say, a dirty page).
	
	If a tag bit is set in a non-leaf node it indicates that the same tag bit is
	set in the subtree which lies under the corresponding slot.  ie: "there is a
	dirty page under here somewhere, but you need to search down further to find
	it".
	
	A gang lookup function is provided which can walk the radix tree in
	logarithmic time looking for items which are tagged, starting from a
	specified offset.  We use this for in-order searches for dirty or writeback
	pages.
	
	There is a userspace test harness for this code at
	
	http://www.zip.com.au/~akpm/linux/patches/stuff/rtth.tar.gz


	[PATCH] make the pagecache lock irq-safe.
	
	Intro to these patches:
	
	- Major surgery against the pagecache, radix-tree and writeback code.  This
	  work is to address the O_DIRECT-vs-buffered data exposure horrors which
	  we've been struggling with for months.
	
	  As a side-effect, 32 bytes are saved from struct inode and eight bytes
	  are removed from struct page.  At a cost of approximately 2.5 bits per page
	  in the radix tree nodes on 4k pagesize, assuming the pagecache is densely
	  populated.  Not all pages are pagecache; other pages gain the full 8 byte
	  saving.
	
	  This change will break any arch code which is using page->list and will
	  also break any arch code which is using page->lru of memory which was
	  obtained from slab.
	
	  The basic problem which we (mainly Daniel McNeil) have been struggling
	  with is in getting a really reliable fsync() across the page lists while
	  other processes are performing writeback against the same file.  It's like
	  juggling four bars of wet soap with your eyes shut while someone is
	  whacking you with a baseball bat.  Daniel pretty much has the problem
	  plugged but I suspect that's just because we don't have testcases to
	  trigger the remaining problems.  The complexity and additional locking
	  which those patches add is worrisome.
	
	  So the approach taken here is to remove the page lists altogether and
	  replace the list-based writeback and wait operations with in-order
	  radix-tree walks.
	
	  The radix-tree code has been enhanced to support "tagging" of pages, for
	  later searches for pages which have a particular tag set.  This means that
	  we can ask the radix tree code "find me the next 16 dirty pages starting at
	  pagecache index N" and it will do that in O(log64(N)) time.
	
	  This affects I/O scheduling potentially quite significantly.  It is no
	  longer the case that the kernel will submit pages for I/O in the order in
	  which the application dirtied them.  We instead submit them in file-offset
	  order all the time.
	
	  This is likely to be advantageous when applications are seeking all over
	  a large file randomly writing small amounts of data.  I haven't performed
	  much benchmarking, but tiobench random write throughput seems to be
	  increased by 30%.  Other tests appear to be unaltered.  dbench may have got
	  10-20% quicker, but it's variable.
	
	  There is one large file which everyone seeks all over randomly writing
	  small amounts of data: the blockdev mapping which caches filesystem
	  metadata.  The kernel's IO submission patterns for this are now ideal.
	
	
	  Because writeback and wait-for-writeback use a tree walk instead of a
	  list walk they are no longer livelockable.  This probably means that we no
	  longer need to hold i_sem across O_SYNC writes and perhaps fsync() and
	  fdatasync().  This may be beneficial for databases: multiple processes
	  writing and syncing different parts of the same file at the same time can
	  now all submit and wait upon writes to just their own little bit of the
	  file, so we can get a lot more data into the queues.
	
	  It is trivial to implement a part-file-fdatasync() as well, so
	  applications can say "sync the file from byte N to byte M", and multiple
	  applications can do this concurrently.  This is easy for ext2 filesystems,
	  but probably needs lots of work for data-journalled filesystems and XFS and
	  it probably doesn't offer much benefit over an i_semless O_SYNC write.
	
	
	  These patches can end up making ext3 (even) slower:
	
		for i in 1 2 3 4
		do
			dd if=/dev/zero of=$i bs=1M count=2000 &
		done          
	
	  runs awfully slow on SMP.  This is, yet again, because all the file
	  blocks are jumbled up and the per-file linear writeout causes tons of
	  seeking.  The above test runs sweetly on UP because the on UP we don't
	  allocate blocks to different files in parallel.
	
	  Mingming and Badari are working on getting block reservation working for
	  ext3 (preallocation on steroids).  That should fix ext3 up.
	
	
	This patch:
	
	- Later, we'll need to access the radix trees from inside disk I/O
	  completion handlers.  So make mapping->page_lock irq-safe.  And rename it
	  to tree_lock to reliably break any missed conversions.


	[PATCH] tag dirty pages as such in the radix tree
	
	Arrange for all dirty pagecache pages to be tagged as dirty within their
	radix tree.


	[PATCH] tag writeback pages as such in their radix tree
	
	Arrange for under-writeback pages to be marked thus in their pagecache radix
	tree.


	[PATCH] stop using the address_space dirty_pages list
	
	Move everything over to walking the radix tree via the PAGECACHE_TAG_DIRTY
	tag.  Remove address_space.dirty_pages.


	[PATCH] fix the kupdate function
	
	Juggle dirty pages and dirty inodes and dirty superblocks and various
	different writeback modes and livelock avoidance and fairness to recover from
	the loss of mapping->io_pages.


	[PATCH] remove address_space.io_pages
	
	Now remove address_space.io_pages.


	[PATCH] Stop using address_space.locked_pages
	
	Instead, use a radix-tree walk of the pages which are tagged as being under
	writeback.
	
	The new function wait_on_page_writeback_range() was generalised out of
	filemap_fdatawait().  We can later use this to provide concurrent fsync of
	just a section of a file.


	[PATCH] stop using address_space.clean_pages
	
	Remove remaining references to address_space.clean_pages.


	[PATCH] revert the slabification of i386 pgd's and pmd's
	
	This code is playing with page->lru from pages which came from slab.  But to
	remove page->list we need to convert slab over to using page->lru.  So we
	cannot allow the i386 pagetable code to go scribbling on the ->lru field of
	active slab pages.
	
	This optimisation was pretty thin, and it is more important to shrink the
	pageframe (on all architectures).


	[PATCH] slab: stop using page.list
	
	slab.c is using page->list.  Switch it over to using page->lru so we can
	remove page.list.


	[PATCH] stop using page.list in the page allocator
	
	Switch the page allocator over to using page.lru for the buddy lists.


	[PATCH] stop using page->list in the hugetlbpage implementations
	
	Switch them over to page.lru


	[PATCH] stop using page.list in pageattr.c
	
	Switch it to ->lru


	[PATCH] stop using page.list in readahead
	
	The address_space.readapges() function currently takes a list of pages,
	strung together via page->list.  Switch it to using page->lru.
	
	This changes the API into filesystems.


	[PATCH] stop using page->lru in compound pages
	
	The compound page logic is using page->lru, and these get will scribbled on
	in various places so switch the Compound page logic over to using ->mapping
	and ->private.


	[PATCH] arm: stop using page->list
	
	Switch the ARM `small_page' code over to page->lru.


	[PATCH] switch the m68k pointer-table code over to page->lru
	
	Switch the m68k pointer-table code over to page->lru.


	[PATCH] remove page.list
	
	Remove the now-unneeded page.list field.


	[PATCH] fdatasync integrity fix
	
	fdatasync can fail to wait on some pages due to a race.
	
	If some task (eg pdflush) is flushing the same mapping it can remove a page's
	dirty tag but not then mark that page as being under writeback, because
	pdflush hit a locked buffer in __block_write_full_page().  This will happen
	because kjournald is writing the buffer.  In this situation
	__block_write_full_page() will redirty the page so that fsync notices it, but
	there is a window where the page eludes the radix tree dirty page walk.
	
	Consequently a concurrent fsync will fail to notice the page when walking the
	radix tree's dirty pages.
	
	The approach taken by this patch is to leave the page marked as dirty in the
	radix tree while ->writepage is working out what to do with it.  This ensures
	that a concurrent write-for-sync will successfully locate the page and will
	then block in lock_page() until the non-write-for-sync code has finished
	altering the page state.


	[PATCH] don't allow background writes to hide dirty buffers
	
	If pdflush hits a locked-and-clean buffer in __block_write_full_page() it
	will just pass over the buffer.  Typically the buffer is an ext3 data=ordered
	buffer which is being written by kjournald, but a similar thing can happen
	with blockdev buffers and ll_rw_block().
	
	This is bad because the buffer is still under I/O and a subsequent fsync's
	fdatawait() needs to know about it.
	
	It is not practical to tag the page for writeback - only the submitter of the
	I/O can do that, because the submitter has control of the end_io handler.
	
	So instead, redirty the page so a subsequent fsync's fdatawrite() will wait on
	the underway I/O.
	
	There is a risk that pdflush::background_writeout() will lock up, repeatedly
	trying and failing to write the same page.  This is prevented by ensuring
	that background_writeout() always throttles when it made no progress.


	[PATCH] writeback efficiency and QoS improvements
	
	The radix-tree walk for writeback has a couple of problems:
	
	a) It always scans a file from its first dirty page, so if someone
	   is repeatedly dirtying the front part of a file, pages near the end
	   may be starved of writeout.  (Well, not completely: the `kupdate'
	   function will write an entire file once the file's dirty timestamp
	   has expired).  
	
	b) When the disk queues are huge (10000 requests), there can be a
	   very large number of locked pages.  Scanning past these in writeback
	   consumes quite some CPU time.
	
	So in each address_space we record the index at which the last batch of
	writeout terminated and start the next batch of writeback from that
	point.


	[PATCH] Add mpage_writepages() scheduling point
	
	From: Jens Axboe 
	
	Takashi did some nice latency testing of the current kernel (with -mm
	writeback changes), and the biggest offender in general core is
	mpage_writepages().


	[PATCH] mpage_writepages() cleanup
	
	Rework the code layout a bit.  No logic change.


	[PATCH] use compound pages for hugetlb pages only
	
	The compound page logic is a little fragile - it relies on additional
	metadata in the pageframes which some other kernel code likes to stomp on
	(xfs was doing this).
	
	Also, because we're treating all higher-order pages as compound pages it is
	no longer possible to free individual lower-order pages from the middle of
	higher-order pages.  At least one ARM driver insists on doing this.
	
	We only really need the compound page logic for higher-order pages which can
	be mapped into user pagetables and placed under direct-io.  This covers
	hugetlb pages and, conceivably, soundcard DMA buffers which were allcoated
	with a higher-order allocation but which weren't marked PageReserved.
	
	The patch arranges for the hugetlb implications to allocate their pages with
	compound page metadata, and all other higher-order allocations go back to the
	old way.
	
	(Andrea supplied the GFP_LEVEL_MASK fix)


	[PATCH] fork vma ordering during fork
	
	From: Hugh Dickins 
	
	First of six patches against 2.6.5-rc3, cleaning up mremap's move_vma, and
	fixing truncation orphan issues raised by Rajesh Venkatasubramanian. 
	Originally done as part of the anonymous objrmap work on mremap move, but
	useful fixes now extracted for mainline.  The mremap changes need some
	exposure in the -mm tree first, but the first (fork one-liner) is safe enough
	to go straight into 2.6.5.
	
	
	
	From: Rajesh Venkatasubramanian.  Despite the comment that child vma should
	be inserted just after parent vma, 2.5.6 did exactly the reverse: thus a
	racing vmtruncate may free the child's ptes, then advance to the parent, and
	meanwhile copy_page_range has propagated more ptes from the parent to the
	child, leaving file pages still mapped after truncation.


	[PATCH] mremap: copy_one_pte cleanup
	
	From: Hugh Dickins 
	
	Clean up mremap move's copy_one_pte:
	
	- get_one_pte_map_nested already weeded out the pte_none case,
	  now don't even call copy_one_pte if it has nothing to do.
	
	- check pfn_valid before passing page to page_remove_rmap.


	[PATCH] mremap: move_vma fixes and cleanup
	
	From: Hugh Dickins 
	
	Partial rewrite of mremap's move_vma.  Rajesh Venkatasubramanian has pointed
	out that vmtruncate could miss ptes, leaving orphaned pages, because move_vma
	only made the new vma visible after filling it.  We see no good reason for
	that, and time to make move_vma more robust.
	
	Removed all its vma merging decisions, leave them to mmap.c's vma_merge, with
	copy_vma added.  Removed duplicated is_mergeable_vma test from vma_merge, and
	duplicated validate_mm from insert_vm_struct.
	
	move_vma move from old to new then unmap old; but on error move back from new
	to old and unmap new.  Don't unwind within move_page_tables, let move_vma
	call it explicitly to unwind, with the right source vma.  Get the
	VM_ACCOUNTing right even when the final do_munmap fails.


	[PATCH] mremap: vma_relink_file race fix
	
	From: Hugh Dickins 
	
	Subtle point from Rajesh Venkatasubramanian: when mremap's move_vma fails and
	so rewinds, before moving the file-based ptes back, we must move new_vma
	before old vma in the i_mmap or i_mmap_shared list, so that when racing
	against vmtruncate we cannot propagate pages to be truncated back from
	new_vma into the just cleaned old_vma.


	[PATCH] mremap: check map_count
	
	From: Hugh Dickins 
	
	mremap's move_vma should think ahead to lessen the chance of failure during
	its rewind on failure: running out of memory always possible, but it's silly
	for it to embark when it's near the map_count limit.


	[PATCH] Fix rmap comment
	
	From: Hugh Dickins 
	
	rmap's try_to_unmap_one comments on find_vma failure, that a page may
	temporarily be absent from a vma during mremap: no longer, though it is still
	possible for this find_vma to fail, while unmap_vmas drops page_table_lock
	(but that is no problem for file truncation).


	[PATCH] kswapd: remove pages_scanned local
	
	This is always equal to constant zero.


	[PATCH] laptop mode
	
	From: Bart Samwel 
	
	Adds /proc/sys/vm/laptop-mode: a special knob which says "this is a laptop".
	In this mode the kernel will attempt to avoid spinning disks up.
	
	Algorithm: the idea is to hold dirty data in memory for a long time, but to
	flush everything which has been accumulated if the disk happens to spin up
	for other reasons.
	
	- Whenever a disk request completes (read or write), schedule a timer a few
	  seconds hence.  If the timer was already pending, reset it to a few seconds
	  hence.
	
	- When the timer expires, write back the whole world.  We use
	  sync_filesystems() for this because it will force ext3 journal commits as
	  well.
	
	- In balance_dirty_pages(), kick off background writeback when we hit the
	  high threshold (dirty_ratio), not when we hit the low threshold.  This has
	  the effect of causing "lumpy" writeback which is something I spent a year
	  fixing, but in laptop mode, it is desirable.
	
	- In try_to_free_pages(), only kick pdflush if the VM is getting into
	  distress: we want to keep scanning for clean pages, deferring writeback.
	
	- In page reclaim, avoid writing back the odd random dirty page off the
	  LRU: only start I/O if the scanning is working harder.
	
	The effect is to perform a sync() a few seconds after all I/O has ceased.
	
	The value which was written into /proc/sys/vm/laptop-mode determines, in
	seconds, the delay between the final I/O and the flush.
	
	Additionally, the patch adds tools which help answer the question "why the
	heck does my disk spin up all the time?".  The user may set
	/proc/sys/vm/block_dump to a non-zero value and the kernel will print out
	information which will identify the process which is performing disk reads or
	which is dirtying pagecache.
	
	The user should probably disable syslogd before setting block-dump.


	[PATCH] Add commit=0 to ext3, meaning "set commit to default".
	
	From: Bart Samwel 
	
	Add support for the value "0" to ext3's "commit" option.  When this value
	is given, ext3 substitutes it by the default commit interval.  Introduce a
	constant JBD_DEFAULT_MAX_COMMIT_AGE for this.


	[PATCH] Honour the readahead tunable in filemap_nopage()
	
	Remove the hardwired pagefault readaround distance in filemap_nopage() and
	use the per-file readahead setting.
	
	The main reason for this is in fact laptop-mode.  If you want to prevent the
	disk from spinning up then you want all of your application's pages to be
	pulled into memory in one hit.  Otherwise the disk will spin up each time you
	use a new part of whatever application(s) you are running.


	[PATCH] Fix logic in filemap_nopage()
	
	The filempa_nopage() logic will go into a tight loop if
	do_page_cache_readahead() doesn't actually start I/O against the target page.
	This can happen if the disk is read-congested, or if the filesystem doesn't
	want to read that part of the file for some reason.
	
	We will accidentally break out of the loop because
	
		 (ra->mmap_miss > ra->mmap_hit + MMAP_LOTSAMISS)
	
	will eventually become true.
	
	Fix that up.


	[PATCH] acpi printk fix
	
	drivers/acpi/events/evmisc.c: In function `acpi_ev_queue_notify_request':
	drivers/acpi/events/evmisc.c:143: warning: too many arguments for format


	[PATCH] ia32: 4Kb stacks (and irqstacks) patch
	
	From: Arjan van de Ven 
	
	Below is a patch to enable 4Kb stacks for x86. The goal of this is to
	
	1) Reduce footprint per thread so that systems can run many more threads
	   (for the java people)
	
	2) Reduce the pressure on the VM for order > 0 allocations. We see real life
	   workloads (granted with 2.4 but the fundamental fragmentation issue isn't
	   solved in 2.6 and isn't solvable in theory) where this can be a problem.
	   In addition order > 0 allocations can make the VM "stutter" and give more
	   latency due to having to do much much more work trying to defragment
	
	The first 2 bits of the patch actually affect compiler options in a generic
	way: I propose to disable the -funit-at-a-time feature from gcc.  With this
	enabled (and it's default with -O2), gcc will very agressively inline
	functions, which is nice and all for userspace, but for the kernel this makes
	us suffer a gcc deficiency more: gcc is extremely bad at sharing stackslots,
	for example a situation like this:
	
	if (some_condition)
		function_A();
	else
		function_B();
	
	with -funit-at-a-time, both function_A() and _B() might get inlined, however
	the stack usage of both functions of the parent function grows the stack
	usage of both functions COMBINED instead of the maximum of the two.  Even
	with the normal 8Kb stacks this is a danger since we see some functions grow
	3Kb to 4Kb of stack use this way.  With 4Kb stacks, 4Kb of stack usage growth
	obviously is deadly ;-( but even with 8Kb stacks it's pure lottery.
	Disabling -funit-at-a-time also exposes another thing in the -mm tree; the
	attribute always_inline is considered harmful by gcc folks in that when gcc
	makes a decision to NOT inline a function marked this way, it throws an
	error.  Disabling -funit-at-a-time disables some of the agressive inlining
	(eg of large functions that come later in the .c file) so this would make
	your tree not compile.
	
	The 4k stackness of the kernel is included in modversions, so people don't
	load 4k-stack modules into 8k-stack kernels.
	
	At present 4k stacks are selectable in config.  When the feature has settled
	in we should remove the 8k option.  This will break the nvidia modules.  But
	Fedora uses 4k stacks so a new nvidia driver is expected soon.


	[PATCH] procfs LoadAVG/load_avg scaling fix
	
	From: Ingo Molnar 
	
	Dave reported that /proc/*/status sometimes shows 101% as LoadAVG, which
	makes no sense.
	
	the reason of the bug is slightly incorrect scaling of the load_avg value. 
	The patch below fixes this.


	[PATCH] ppc64: NUMA fix for 16MB LMBs
	
	From: Olof Johansson 
	
	As discussed on the ppc64 list yesterday and today:
	
	On some ppc64 systems, Open Firmware will give memory device nodes that are
	only 16MB in size, instead of the 256MB that our NUMA code currently
	expects (see MEMORY_INCREMENT in mmzone.h).
	
	Just changing the defines from 256MB to 16MB makes the table blow up from
	32KB to 512KB, so this patch also makes it dynamically allocated based on
	actual memory size.  Since all this is done before (well, during) bootmem
	init so we need to use lmb_alloc().
	
	Finally, there's no need to use a full int for node ID. Current max is 16
	nodes, so a signed char still leaves plenty of room to grow.


	[PATCH] build fails on sparc64 in hugetlbpage.c
	
	From: Romain Francoise 
	
	arch/sparc64/mm/hugetlbpage.c does not include linux/module.h so
	EXPORT_SYMBOL prints out warnings, and since sparc64 Makefiles have
	-Werror, the build fails.


	[PATCH] epoll comment fix
	
	From: Davide Libenzi 
	
	When I split evenpoll_release() in an inline fast path plus an
	eventpoll_release_file() slow path, I forgot to change comments.


	[PATCH] add stop_machine barriers
	
	From: Andrea Arcangeli 
	
	We need a barrier before checking for kthread_should_stop in do_stop.


	[PATCH] sunrpc: connection dropping tweaks
	
	From: Olaf Kirch 
	
	Some NFS clients respond badly to a TCP connection being reset immediately
	after it has been accepted so:
	
	- Accept more connections before starting to drop them
	
	- Always drop the oldest connection - Random Early Drop doesn't really help
	  here, and can hurt
	
	- ratelimit the friendly warnings.


	[PATCH] ACL version mismatch error code fix
	
	From: Andreas Gruenbacher 
	
	Return EOPNOTSUPP rather than EINVAL when we discover an ACL version
	mismatch.


	[PATCH] v4l: cropcap ioctl fix
	
	From: Gerd Knorr 
	
	The VIDIOC_CROPCAP ioctl had wrong R/W bits, this patch fixes it.


	[PATCH] v4l: v4l1-compat fix
	
	From: Gerd Knorr 
	
	Minor tweak in the v4l1 compatibility layer: Make sure that capture actually
	is active before going to wait for a frame so we don't block forever.


	[PATCH] v4l: tuner fix
	
	From: Gerd Knorr 
	
	This patch fixes a bug in the tuner descriptions and prepares for the removal
	of the type= insmod option by printing a warning when it is used.


	[PATCH] v4l: msp3400 update
	
	From: Gerd Knorr 
	
	This patch allows to use switch to the second external input of the msp34xx
	chips.  Also has some minor cleanups and more verbose debug info.


	[PATCH] v4l: add support for pv951 remote to ir-kbd-i2c
	
	From: Gerd Knorr 
	
	Trivial patch, $subject says all, just a new keytable.


	[PATCH] v4l: saa7134 driver update
	
	From: Gerd Knorr 
	
	This is a update for the saa7134 driver.  Changes:
	
	  * add cropping support.
	  * fix Makefile to build the saa6752hs module.
	  * fix locking bug in oss dsp driver.
	  * infrared remote keytable update.
	  * some card-specific fixes.


	[PATCH] v4l-saa7134-update fix
	
	drivers/built-in.o(.text+0x32912b): In function `dsp_buffer_init':
	drivers/media/video/saa7134/saa7134-oss.c:77: undefined reference to `videobuf_dma_init'


	[PATCH] v4l: bttv driver update
	
	From: Gerd Knorr 
	
	This patch updates the bttv driver.  Changes:
	
	  (1) several card-specific tweaks.
	  (2) make software vs. hardware i2c configurable per TV card.
	  (3) reinitialize image parameters after chip reset.
	  (4) make bttv quite by default on frame drops.
	  (5) new insmod option: "debug_latency=1" to enable frame drop
	      debug messages.
	
	bttv is quite sensitive to irq latencies, especially when capturing both
	video and vbi.  There are several reports about problems due to this, I don't
	see that on my machines through.  (5) dumps a stracktrace if the driver
	thinks the frame drop is is caused by high latencies as experiment, lets see
	whenever that helps ...


	[PATCH] v4l: documentation update
	
	From: Gerd Knorr 
	
	This patch updates the documentation for the v4l drivers.


	[PATCH] cx88 update.
	
	From: Gerd Knorr 
	
	This is a update for the cx88 driver.  There are *lots* of changes:
	
	  * vbi support was added.
	  * plenty of fixes for audio support (there are still problems
	    through).
	  * new cards added.
	  * serveral minor tweaks.


	[PATCH] drivers/base/platform.c typo fix
	
	From: Geert Uytterhoeven 


	[PATCH] Subject: [PATCH] Fix overflow bug in READDIRPLUS...
	
	From: Trond Myklebust 
	
	Fixes the Oops reported by Paul Blazejowski.  Bug turned out to be in the page
	overflow checking for READDIRPLUS.


	[PATCH] Fix 32bit statfs on NFS
	
	From: Olaf Kirch 
	
	The attached patch fixes a problem with the 32bit statfs call on NFS file
	systems.  Some NFS servers return a value of -1 for the f_files and f_ffree.
	The current code would think this is a 64bit value that cannot be converted
	to 32bits.  Consequently, the system call would always fail.
	
	The patch adds two special if() to detect a value of -1 for f_files and
	f_ffree.


	[PATCH] nfs-32bit-statfs-fix warning fix
	
	With CONFIG_LBD=n:
	
	fs/open.c: In function `vfs_statfs_native':
	fs/open.c:67: warning: comparison is always true due to limited range of data type
	fs/open.c:70: warning: comparison is always true due to limited range of data type


	[PATCH] wavefront_synth.c var not used.
	
	From: "Luiz Fernando N. Capitulino" 
	
	sound/isa/wavefront/wavefront_synth.c:1923: warning: `errno' defined but not used


	[PATCH] tda1004x.c var not used.
	
	From: "Luiz Fernando N. Capitulino" 
	
	drivers/media/dvb/frontends/tda1004x.c:191: warning: `errno' defined but not used


	[PATCH] pmdisk needs asmlinkage
	
	From: Pavel Machek 
	
	This function will break with -mregparm, so mark it asmlinkage.


	[PATCH] cycx_drv.c warning fix.
	
	From: "Luiz Fernando N. Capitulino" 
	
	drivers/net/wan/cycx_drv.c: In function `load_cyc2x':
	drivers/net/wan/cycx_drv.c:430: warning: unsigned int format, long unsigned int arg (arg 3)


	[PATCH] ibmlana needs CONFIG_MCA_LEGACY
	
	From: "Luiz Fernando N. Capitulino" 
	
	IBM LAN Adapter/A driver depends on mca-legacy.


	[PATCH] Improve list.h documentation for _rcu() primitives
	
	From: "Paul E. McKenney" 
	
	The attached patch improves the documentation of the _rcu list primitives.


	[PATCH] list.h cleanup
	
	- s/__inline__/inline/
	
	- Remove lots of extraneous andi-was-here trailing whitespace


	[PATCH] Non-Exec stack support
	
	From: Kurt Garloff 
	
	A patch to parse the elf binaries for a PT_GNU_STACK section to set the stack
	non-executable if possible.  Most parts have been shamelessly stolen from
	Ingo Molnar's more ambitious stackshield
	http://people.redhat.com/mingo/exec-shield/exec-shield-2.6.4-C9
	
	The toolchain has meanwhile support for marking the binaries with a
	PT_GNU_STACK section wwithout x bit as needed.
	
	If no such section is found, we leave the stack to whatever the arch defaults
	to.  If there is one, we explicitly disabled the VM_EXEC bit if no x bit is
	found, otherwise explicitly enable.


	[PATCH] Fix ext3 transaction batching
	
	ext3 transaction batching has been ineffective since the scheduler changes
	forced us to replace the yield() with a schedule().
	
	Using schedule_timeout(1) fixes it up again.  Benchmarking is positive with
	wither a 1 or 10 millisecond delay in there, so there appears to be no need
	to play around with HZ.


	[PATCH] reiserfs: support for nested transactions
	
	From: Chris Mason 
	
	reiserfs support for nested transactions.  This originally came from Peter
	Braam for 2.4.x and was ported forward by Jeff Mahoney.


	[PATCH] reiserfs: cleanups
	
	From: Chris Mason 
	
	reiserfs cleanup, get rid of old debugging code.


	[PATCH] reiserfs: logging rework
	
	From: Chris Mason 
	
	reiserfs logging rework, making things much faster for small transactions. 
	metadata buffers are dirtied when they are safe to write, so normal kernel
	mechanisms can contribute to log cleaning.


	[PATCH] reiserfs: data=ordered support
	
	From: Chris Mason 
	
	reiserfs data=ordered support.


	[PATCH] reiserfs: locking fix
	
	From: Chris Mason 
	
	Make sure to hold the BKL while ending a transaction in the error path or
	reiserfs_prepare_write.


	[PATCH] reiserfs: preallocation support
	
	From: Chris Mason 
	
	Enable preallocation for reiserfs_file_write when the write size is smaller
	than the default preallocation size.


	[PATCH] reiserfs: tail repacking fix
	
	From: Chris Mason 
	
	Repacking a tail might leave a journal handle attached to an unmapped buffer.
	 If that buffer gets dirtied again (via mmap for example), the reiserfs
	data=ordered code might try to write the dirty unmapped buffer to disk.
	
	The fix is to make sure we remove the journal handle when we unmap buffers.


	[PATCH] reiserfs: fix race with writepage
	
	From: Chris Mason 
	
	Fix reiserfs_writepage so it doesn't race with data=ordered writes.  This
	still has a pending fix to redirty the page when it finds a locked buffer. 
	Waiting for Andrew to finish sorting that out on ext3 first.


	[PATCH] reiserfs: sparse file handling fix
	
	From: Chris Mason 
	
	reiserfs_file_write makes a hole one block too large if it is the first thing
	in the file.


	[PATCH] reiserfs: laptop-mode support
	
	From: Chris Mason 
	
	Add reiserfs support for laptop mode.


	[PATCH] reiserfs: truncate leak fix
	
	From: Chris Mason 
	
	reiserfs_unmap_buffer should clean and wait on all buffers.  This fixes a
	leak under fsx workloads.


	[PATCH] reiserfs: scheduling latency improvements
	
	From: Chris Mason 
	
	Some latency improvements for the reiserfs data=ordered code from Takashi.


	[PATCH] reiserfs: fix dirty-buffer warnings
	
	From: Chris Mason 
	
	block_write_full_page() might see and lock clean metadata buffers, which leads
	to journal-1777 messages.  Change the message to ignore bh locked.


	[PATCH] reiserfs_kfree warning fix
	
	fs/reiserfs/journal.c: In function `reiserfs_end_persistent_transaction':
	fs/reiserfs/journal.c:2616: warning: unused variable `s'
	
	Make the functions static inline so that typechecking is enabled if
	!CONFIG_REISERFS_CHECK.


	[PATCH] reiserfs writepage race with data=ordered
	
	From: Chris Mason 
	
	reiserfs-writepage-ordered-race needs a minor update to include your latest
	__block_write_full_page fixes for the direct_read_under bug Daniel was
	hitting.


	[PATCH] selinux: add IPv6 support
	
	From: James Morris 
	
	The patch below adds explicit IPv6 support to SELinux.
	
	Brief description of changes:
	
	o IPv6 networking is now subject to the same controls as IPv4 (in
	  addition to the generic socket permissions which cover all protocols),
	  namely: bind to local node address; bind to local port; send & receive
	  TCP/UDP and raw IP packets based on local network interface and remote
	  node address.
	
	o Packet parsing has been extended to IPv6 packets for logging and
	  control, and simplified for IPv4.
	
	o Support for logging of IPv6 addresses has also been added.
	
	o The kernel policy database code has been modified to support IPv6, and
	  reworked to provide generic security policy version handling so that
	  older policy versions will still work, making upgrading simpler.
	
	Corresponding userspace patches are available at
	, although current
	userspace tools will continue to function normally (but without explicit
	IPv6 support).
	
	For more details at the security management level, see
	
	
	This code has been under testing and review for several weeks.


	[PATCH] From: James Morris 
	
	This patch removes a harmless duplicate assignment from the IPv6 code.


	[PATCH] Light-weight Auditing Framework
	
	From: Rik Faith 
	
	This patch provides a low-overhead system-call auditing framework for Linux
	that is usable by LSM components (e.g., SELinux).  This is an update of the
	patch discussed in this thread:
	
	    http://marc.theaimsgroup.com/?t=107815888100001&r=1&w=2
	
	In brief, it provides for netlink-based logging of audit records that have
	been generated in other parts of the kernel (e.g., SELinux) as well as the
	ability to audit system calls, either independently (using simple
	filtering) or as a compliment to the audit record that another part of the
	kernel generated.
	
	The main goals were to provide system call auditing with 1) as low overhead
	as possible, and 2) without duplicating functionality that is already
	provided by SELinux (and/or other security infrastructures).  This
	framework will work "stand-alone", but is not designed to provide, e.g.,
	CAPP functionality without another security component in place.
	
	This updated patch includes changes from feedback I have received,
	including the ability to compile without CONFIG_NET (and better use of
	tabs, so use -w if you diff against the older patch).
	
	Please see http://people.redhat.com/faith/audit/ for an early example
	user-space client (auditd-0.4.tar.gz) and instructions on how to try it.
	
	My future intentions at the kernel level include improving filtering (e.g.,
	syscall personality/exit codes) and syscall support for more architectures.
	 First, though, I'm going to work on documentation, a (real) audit daemon,
	and patches for other user-space tools so that people can play with the
	framework and understand how it can be used with and without SELinux.
	
	
	Update:
	
	Light-weight Auditing Framework receive filter fixes
	From: Rik Faith 
	
	Since audit_receive_filter() is only called with audit_netlink_sem held, it
	cannot race with either audit_del_rule() or audit_add_rule(), so the
	list_for_each_entry_rcu()s may be replaced by list_for_each_entry()s, and
	the rcu_read_{un,}lock()s removed.  A fix for this is part of the attached
	patch.
	
	Other features of the attached patch are:
	
	1) generalized the ability to test for inequality
	
	2) added syscall exit status reporting and testing
	
	3) added ability to report and test first 4 syscall arguments (this adds
	   a large amount of flexibility for little cost; not implemented or tested
	   on ppc64)
	
	4) added ability to report and test personality
	
	User-space demo program enhanced for new fields and inequality testing:
	http://people.redhat.com/faith/audit/auditd-0.5.tar.gz


	[PATCH] selinux: make IPv6 code work with audit framework
	
	From: James Morris 
	
	This patch makes the IPv6 code work with the audit framework, following the
	merge of both.


	[PATCH] selinux: Audit compute_sid errors
	
	From: Stephen Smalley 
	
	This patch changes an error message printk'd by security_compute_sid to use
	the audit framework instead.  These errors reflect situations where a
	security transition would normally occur due to policy, but the resulting
	security context is not valid.  The patch also changes the code to always
	call the audit framework rather than only doing so when permissive as this
	was causing problems with testing policy, and does some code cleanup.


	[PATCH] selinux: remove ratelimit from avc
	
	From: Stephen Smalley 
	
	This patch drops the ratelimit code from the SELinux avc, as this can now
	be handled by the audit framework.  Enabling and setting the ratelimit is
	then left to userspace.


	[PATCH] CONFIG_SND_MIXART doesn't compile
	
	From: Bernhard Rosenkraenzer 
	
	mixart.h uses tasklet_struct without including linux/interrupt.h -- fix
	attached.


	[PATCH] unmap_vmas latency improvement
	
	unmap_vmas() will cause scheduling latency when tearing down really big vmas
	on !CONFIG_PREEMPT.  That's a bit unkind to the non-preempt case, so let's do
	a cond_resched() after zapping 1024 pages.


	[PATCH] more i386 head.S cleanups
	
	From: Brian Gerst 
	
	- Move empty_zero_page and swapper_pg_dir to BSS.  This requires that BSS
	  is cleared earlier, but reclaims over 3k that was lost due to page
	  alignment.
	
	- Move stack_start, ready, and int_msg, boot_gdt_descr, idt_descr, and
	  cpu_gdt_descr to .data.  They were interfering with disassembly while in
	  .text.


	[PATCH] intermezzo leak fixes
	
	- Don't leak a pathname ref on error
	
	- Don't do putname() on a nameidata.


	[PATCH] es1688 Definition redundancy
	
	From: Fabian Frederick 
	
	Here's a trivial patch to avoid definition redundancy in es1688.


	[PATCH] binfmt_elf.c fix for 32-bit apps with large bss
	
	From: Julie DeWandel 
	
	A problem exists where a 32-bit application can have a huge bss, one that
	is so large that an overflow of the TASK_SIZE happens.  But in this case,
	the overflow is not detected in load_elf_binary().  Instead, because
	arithmetic is being done using 32-bit containers, a truncation occurs and
	the program gets loaded when it shouldn't have been.  Subsequent execution
	yields unpredictable results.
	
	The attached patch fixes this problem by checking for the overflow
	condition and sending a SIGKILL to the application if the overflow is
	detected.  This problem can in theory exist when loading the elf
	interpreter as well, so a similar check was added there.


	[PATCH] stack reduction: ide-cd
	
	From: Arjan van de Ven 
	
	ide-cd: a few 512 byte scratch buffers can be static; they are just for
	putting "padding" sectors in that aren't used.
	
	(acked by Jens)


	[PATCH] stack reductions: ide
	
	From: Arjan van de Ven 
	
	ide.c: constant array of strings can be static


	[PATCH] stack reduction: ISDN
	
	From: Arjan van de Ven 
	
	isdn: dynamically allocate big structures


	[PATCH] use EFLAGS #defines instead of inline constants
	
	From: "Randy.Dunlap" 
	
	Use x86 EFLAGS defines in place of hardwired constants.


	[PATCH] H8/300 support update (1/3) - ptrace fix
	
	From: Yoshinori Sato 
	
	- fix PTRACE_SIGLESTEP bug.
	- separate to CPU depend.


	[PATCH] H8/300 support update (2/3) - entry.S cleanup
	
	From: Yoshinori Sato 
	
	- cleanup define


	[PATCH] H8/300 support update (3/3) - others
	
	From: Yoshinori Sato 
	
	- use new serial driver (drivers/serial/sh-sci.[ch])
	- typo fix
	- add message level


	[PATCH] H8/300 support update
	
	From: Yoshinori Sato 
	
	- fix any error/warning
	- fix {request,freee}_irq interrupt control fix
	- add dump_stack
	- fix show_trace_task
	- fix typo


	[PATCH] sh-sci compile error fix patch
	
	From: Yoshinori Sato 
	
	- add Kconfig depends H8300
	- H8/300 support compile error fixed.


	[PATCH] fix posix-timers to have proper per-process scope
	
	From: Roland McGrath 
	
	The posix-timers implementation associates timers with the creating thread
	and destroys timers when their creator thread dies.  POSIX clearly
	specifies that these timers are per-process, and a timer should not be torn
	down when the thread that created it exits.  I hope there won't be any
	controversy on what the correct semantics are here, since POSIX is clear
	and the Linux feature is called "posix-timers".
	
	The attached program built with NPTL -lrt -lpthread demonstrates the bug.
	The program is correct by POSIX, but fails on Linux.  Note that a until
	just the other day, NPTL had a trivial bug that always disabled its use of
	kernel timer syscalls (check strace for lack of timer_create/SYS_259).  So
	unless you have built your own NPTL libs very recently, you probably won't
	see the kernel calls actually used by this program.
	
	Also attached is my patch to fix this.  It (you guessed it) moves the
	posix_timers field from task_struct to signal_struct.  Access is now
	governed by the siglock instead of the task lock.  exit_itimers is called
	from __exit_signal, i.e.  only on the death of the last thread in the
	group, rather than from do_exit for every thread.  Timers' it_process
	fields store the group leader's pointer, which won't die.  For the case of
	SIGEV_THREAD_ID, I hold a ref on the task_struct for it_process to stay
	robust in case the target thread dies; the ref is released and the dangling
	pointer cleared when the timer fires and the target thread is dead.  (This
	should only come up in a buggy user program, so noone cares exactly how the
	kernel handles that case.  But I think what I did is robust and sensical.)
	
	/* Test for bogus per-thread deletion of timers.  */
	
	#include 
	#include 
	#include 
	#include 
	#include 
	#include 
	#include 
	#include 
	#include 
	
	/* Creating timers in another thread should work too.  */
	static void *do_timer_create(void *arg)
	{
		struct sigevent *const sigev = arg;
		timer_t *const timerId = sigev->sigev_value.sival_ptr;
		if (timer_create(CLOCK_REALTIME, sigev, timerId) < 0) {
			perror("timer_create");
			return NULL;
		}
		return timerId;
	}
	
	int main(void)
	{
		int i, res;
		timer_t timerId;
		struct itimerspec itval;
		struct sigevent sigev;
	
		itval.it_interval.tv_sec = 2;
		itval.it_interval.tv_nsec = 0;
		itval.it_value.tv_sec = 2;
		itval.it_value.tv_nsec = 0;
	
		sigev.sigev_notify = SIGEV_SIGNAL;
		sigev.sigev_signo = SIGALRM;
		sigev.sigev_value.sival_ptr = (void *)&timerId;
	
		for (i = 0; i < 100; i++) {
			printf("cnt = %d\n", i);
	
			pthread_t thr;
			res = pthread_create(&thr, NULL, &do_timer_create, &sigev);
			if (res) {
				error(0, res, "pthread_create");
				continue;
			}
			void *val;
			res = pthread_join(thr, &val);
			if (res) {
				error(0, res, "pthread_join");
				continue;
			}
			if (val == NULL)
				continue;
	
			res = timer_settime(timerId, 0, &itval, NULL);
			if (res < 0)
				perror("timer_settime");
	
			res = timer_delete(timerId);
			if (res < 0)
				perror("timer_delete");
		}
	
		return 0;
	}


	[PATCH] v850: use volatile qualifier on v850 test-n-bitop asm statements
	
	From:  (Miles Bader)
	
	Otherwise the compiler can delete them (this is one of those "how on earth
	did it ever work before" moments).


	[PATCH] v850: make v850 dma-mapping.h header work when !CONFIG_PCI
	
	From:  (Miles Bader)
	
	Is this something that should be done in ?


	[PATCH] m68knommu: create dma-mapping.h
	
	From: 
	
	Create a dma-mapping.h for m68knommu architecture.


	[PATCH] m68knommu: fix kernel_thread()
	
	From: 
	
	Some kernel janitor clean ups of printk for the m68knommu specific process
	code.
	
	And more importantly a fix to the kernel_thread() asm code to correctly
	return the pid back to the return var from the clone system call.


	[PATCH] m68knommu: Kconfig cleanup
	
	From: 
	
	A few changes to the m68knommu Kconfig:
	
	. Add support for 64MHz clocked CPU's
	. Add support for selecting the COBRA5272 and COBRA5282 boards
	. Use drivers/Kconfig for driver configuration
	. Allow configuring compilation with frame-pointer


	[PATCH] m68knommu: comempci.c printk cleanup
	
	From: 
	
	Cleanup m68knommu's comempci.c support code.  Add type to all printk calls.
	Patch originally from kernel janitors.


	[PATCH] m68knommu: coherent dma allocation
	
	From: 
	
	Create the coherent DMA allocation functions for m68knommu.  No current
	hardware in this class requires anything special, so it just just does
	normal allocations after sanity checks.


	[PATCH] m68knommu: build dma.c
	
	From: 
	
	Add local m68knommu dma allocation code to build list.


	[PATCH] m68knommu cleanup setup.c (printk and irqreturn_t)
	
	From: 
	
	Cleanup m68knommu/kernel/setup.c.  Add type to all printk calls, remove
	obsolete framebuffer setup and fix a few irqreturn_t for interrupt handlers
	in prototypes.
	
	Printk cleanup originally from kernel janitors.


	[PATCH] m68knommu cleanup traps.c (printk and dump_stack)
	
	From: 
	
	Add type to all printk calls in m68knommu traps.c.  Also added a modern
	dump_stack function.


	[PATCH] m68knommu: platform additions in linker script
	
	From: 
	
	A couple of additions to the linker script for m68knommu platforms:
	
	. add support for COBRA5272 and COBRA5282 boards
	. link in .rodata.str1 generated by gcc-3.3.x compilers


	[PATCH] m68knommu/coldfire: fix gcc cpu define
	
	From: 
	
	Fix architecture/cpu defines to support those used by modern versions of
	gcc (that is gcc > 3.3.x) for m68knommu.  The standard for defining
	ColdFire architectures is no longer __mcf5200__, it is now __mcoldfire__.
	This patch fixes all the occurances in the m68knommu/lib functions.


	[PATCH] m68knommu: add senTec vendor support to Makefile
	
	From: 
	
	Add build support for the senTec vendor to m68knommu architecture Makefile.


	[PATCH] m68knommu: fault.c printk cleanup
	
	From: 
	
	Add type field to printk calls.  Patch original provided by kernel
	janitors.


	[PATCH] m68knommu: mm/init.c printk cleanup
	
	From: 
	
	Add type field to printk calls in m68knommu mm/init.c.  Patch originally
	from kernel janitors.


	[PATCH] m68knommu/ColdFire base DMA addresses
	
	From: 
	
	Define the DMA register set base address array for those m68knommu/ColdFire
	CPU's that have a DMA engines.


	[PATCH] m68knommu: timers.c printk cleanup
	
	From: 
	
	Add type field to printk calls in m68knommu timers.c


	[PATCH] m68knommu: auto-size DRAM on Motorola/5272 ColdFire board
	
	From: 
	
	Allow for auto-detecting the size of the DRAM in the startup code for the
	Motorola/5272 (ColdFire) board.  Use the DRAM sizing register, since it will
	have been setup by the debug boot monitor (dBUG).


	[PATCH] m68knommu: add start code for COBRA5272 board
	
	From: 
	
	Add startup code specific to newly supported COBRA5272 board.


	[PATCH] m68knommu: use irqreturn_t in ColdFire 5282 setup code
	
	From: 
	
	Fixes to the Motorola ColdFire 5282 setup code:
	
	. fix interrupt routine return types to be irqreturn_t
	. add DMA base addresses array


	[PATCH] m68knommu: add start code for COBRA5282 board
	
	From: 
	
	Add start up code specific to the newly added COBRA5282 board.


	[PATCH] m68knommu: cleanup ColdFire/5307 ints code
	
	From: 
	
	. add type field to printk calls (from kernel janitors)
	. there is no loop in show_interrupts(), don't use continue


	[PATCH] m68knommu: use irqreturn_t in ColdFire 5307 setup code
	
	From: 
	
	Fixes to the Motorola ColdFire 5307 setup code:
	
	. fix interrupt routine return types to be irqreturn_t
	. add DMA base addresses array


	[PATCH] m68knommu: mm/5307/vectors.c printk cleanup
	
	From: 
	
	Add type field to printk call.  Original patch supplied bu kernel janitors.


	[PATCH] m68knommu: conditional ROMfs copy for 5407 CLEOPATRA board
	
	From: 
	
	Conditionaly copy an attached ROMfs filesystem in memory on kernel startup.
	This should only be done if there really is a ROMfs there.


	[PATCH] m68knommu: 68360 commproc.c printk cleanup
	
	From: 
	
	Add type specifier to printk calls.  Original patch from kernel janitors.


	[PATCH] m68knommu: 68360 config.c printk cleanup
	
	From: 
	
	Add type specifier to printk calls.  Patch originally from kernel janitors.


	[PATCH] m68knommu: 68EZ328 config.c printk cleanup
	
	From: 
	
	Add type specifier to printk calls.  Patch originally from kernel janitors.


	[PATCH] 68knommu: use irqreturn_t in ColdFire 5407 setup code
	
	From: 
	
	Fixes to the Motorola ColdFire 5407 setup code:
	
	. fix interrupt routine return types to be irqreturn_t
	. add DMA base addresses array
	. support compile time setting of kernel boot arguments


	[PATCH] 68knommu: use irqreturn_t in Motorola 68328 setup code
	
	From: 
	
	A number of small fixes for the Motorola 68328 setup code:
	
	. fix interrupt routine return types to be irqreturn_t
	. add type specifier to printk calls (from kernel janitors)
	. rework asm code to be gcc-3.3.x clean


	[PATCH] 68knommu: cleanup Motorola 68328 ints code
	
	From: 
	
	Some fixes for the 68328 common ints management code:
	
	. use irqreturn_t for return type of interrupt handlers
	. clean up asm code to be gcc-3.3.x clean
	. add type field to printk calls (from kernel janitors)
	. there is no loop in show_interrupts(), don't use continue


	[PATCH] 68knommu: cleanup Motorola 68360 ints code
	
	From: 
	
	Some fixes for the 68360 common ints management code:
	
	. use irqreturn_t for return type of interrupt handlers
	. add type field to printk calls (from kernel janitors)
	. there is no loop in show_interrupts(), don't use continue


	[PATCH] 68knommu: mk68knommu DragonEngine setup code printk cleanup
	
	From: 
	
	A couple of fixes for the DragonEngine sepcific setup code:
	
	. remove cs8900 ethernet setup from here
	. add type specifier to printk calls (from kernel janitors)


	[PATCH] 68knommu: cleanup startup code for 68EZ328 DragonEngine board
	
	From: 
	
	Clean up debug trace in startup code of 68EZ328 DragonEngine board.


	[PATCH] 68knommu: 68EZ328/ucdimm setup code printk cleanup
	
	From: 
	
	Add type specifier to printk calls in 68EZ328/ucdimm setup code.  Patch
	original from kernel janitors.


	[PATCH] 68knommu: add support for 64MHz clock for ColdFire boards
	
	From: 
	
	Add support for boards that have a 64MHz clock to common Coldfire header.


	[PATCH] missing \n in timer_tsc.c
	
	From: Arjan van de Ven 
	
	patch below fixes a missing \n in a printk; without this you get to see a
	<4> in the middle of that line...


	[PATCH] hugetlb consolidation
	
	From: William Lee Irwin III 
	
	The following patch consolidates redundant code in various hugetlb
	implementations.  I took the liberty of renaming a few things, since the
	code was all moved anyway, and it has the benefit of helping to catch
	missed conversions and/or consolidations.


	[PATCH] s390: core s390
	
	From: Martin Schwidefsky 
	
	s390 core changes:
	 - Fix _raw_spin_trylock for 64 bit.
	 - Add clarification to s390 debug debug documentation.


	[PATCH] s390: common i/o layer
	
	From: Martin Schwidefsky 
	
	Common i/o layer changes:
	 - Avoid de-registering a ccwgroup device multiple times.
	 - Remove check for channel path objects in get_subchannel_by_schid.
	   Channel patch objects are never in the bus list.
	 - Avoid NULL pointer deref. in qdio_unmark_q.
	 - Fix reference counting on subchannel objects.
	 - Add shutdown function to terminate i/o and disable subchannels at reipl.
	 - Remove all ccwgroup devices if the ccwgroup driver is unregistered.


	[PATCH] s390: tape driver fixes
	
	From: Martin Schwidefsky 
	
	Tape driver changes:
	 - Add missing break in tape_34xx_work_handler to avoid misleading message.
	 - Cleanup offline/remove code.


	[PATCH] s390: dasd driver fix
	
	From: Martin Schwidefsky 
	
	dasd driver changes:
	 - Fix check for device type in error recovery for fba devices.


	[PATCH] s390: network driver fixes
	
	From: Martin Schwidefsky 
	
	Network driver changes:
	 - ctc: move kfree of driver structure after the last use of it.
	 - netiucv: stay in state startwait if peer is down.
	 - lcs: initialize ipm_list and unregister netdev only if it is present.


	[PATCH] s390: dcss block driver fix
	
	From: Martin Schwidefsky 
	
	DCSS block device driver changes:
	 - Fix remove_store function, put_device is called too early.


	[PATCH] s390: zfcp fixes (without kfree hack)
	
	From: Martin Schwidefsky 
	
	zfcp host adapter fixes:
	 - Reuse freed scsi_ids and scsi_luns for mappings.
	 - Order list of ports/units by assigned scsi_id/scsi_lun.
	 - Don't update max_id/max_lun in scsi_host anymore.
	 - Get rid of all magics.
	 - Add owner field to ccw_driver structure.
	 - Avoid deadlock on bus->subsys.rwsem.
	 - Use a macro for all scsi device sysfs attributes.
	 - Change proc_name from "dummy" to "zfcp".
	 - Don't wait for scsi_add_device to complete while holding a semaphore.
	 - Cleanup include files in zfcp_aux.c & zfcp_def.h.
	 - Get rid of zfcp_erp_fsf_req_handler.
	 - Proper link up/down handling.
	 - Avoid possible NULL pointer dereference in zfcp_erp_schedule_work.
	 - Remove module_exit function. Without an external release function for
	   the zfcp_port/zfcp_unit objects module unloading is racy.


	[PATCH] s390: zfcp log messages part 1
	
	From: Martin Schwidefsky 
	
	zfcp host adapter log message cleanup part 1:
	 - Shorten log output.
	 - Increase log level for some messages.
	 - Always print leading zeroes for wwpn and fcp-lun.


	[PATCH] s390: zfcp log messages part 2
	
	From: Martin Schwidefsky 
	
	zfcp host adapter log message cleanup part 2:
	 - Shorten log output.
	 - Increase log level for some messages.
	 - Always print leading zeroes for wwpn and fcp-lun.


	[PATCH] s390: crypto device driver part 1
	
	From: Martin Schwidefsky 
	
	The crypto device driver for PCICA & PCICC cards, part 1.


	[PATCH] s390: crypto device driver part 2
	
	From: Martin Schwidefsky 
	
	The crypto device driver for PCICA & PCICC cards, part 2.


	[PATCH] ia64: Allow IO port space without EFI RT attribute
	
	Some firmware does not require run-time mapping of the legacy IO port
	space.  (It may not need to perform any IO port operations, or it may
	do them with translation disabled.)
	
	(efi_get_iobase): Don't require that IO port space be marked RT, since
	there's no reason the firmware should require mappings for it.
	Thanks to Greg Albrecht for noticing this.
	
	Also, allow attributes in addition to EFI_MEMORY_UC.  I can't
	think of another current attribute that makes sense, but the
	kernel only depends on being able to use UC.


	[PATCH] ia64: set_rte() should get iosapic_lock
	
	Currently set_rte() changes RTE without iosapic_lock held. I guess it
	assumes to be called only at the boot time. But set_rte() can be
	called by PCI driver not only at the boot time. So I think set_rte()
	should get iosapic_lock.
	
	pci_enable_device(drivers/pci/pci.c)
	|
	+-> pci_enable_device_bars(drivers/pci/pci.c)
	    |
	    +-> pcibios_enable_device(arch/ia64/pci/pci.c)
	        |
	        +-> acpi_pci_irq_enable (drivers/acpi/pci_irq.c)
	            |
	            +-> iosapic_enable_intr (arch/ia64/kernel/iosapic.c)
	                |
	                +-> set_rte (arch_ia64/kernel/iosapic.c)
	
	A following patch fixes this issue.


	[PATCH] s390: rewritten qeth driver
	
	From: Martin Schwidefsky 
	
	The rewritten qeth network driver.


	[PATCH] Add queue congestion callout
	
	From: Miquel van Smoorenburg 
	
	The VM and VFS use the address_space_backing_dev_info to track the realtime
	status of the device which backs the mapping.  The read_congested and
	write_congested fields are used to determine whether a read or write
	against that device may block.
	
	We use this infrastructure to
	
	a) allow pdflush to service many queues in parallel (by not getting
	   stuck on any particular one) and
	
	b) to avoid undesirable and uncontrolled latencies in places such as
	   page reclaim and
	
	c) To avoid blocking in readahead operations
	
	The current code only supports simple disk queues (and I have a patch here
	for NFS).  Stacked queues (MD and DM) don't get this information right and
	problems were expected.  Efficiency problems have now been noted and it's
	time to fix it.
	
	This patch lays down the infrastructure which permits the queue
	implementation to get control when someone at a higher level is querying
	the queue's congestion state.  So DM (for example) can run around and
	examine all the queues which contribute to the higher-level queue.
	
	
	It also adds bdi_rw_congested() for code in xfs and ext2 that calls both
	bdi_read_congested() and bdi_write_congested() in a row, and it was "free"
	anyway.


	[PATCH] Implement queue congestion callout for device mapper
	
	From: Miquel van Smoorenburg 
	      Joe Thornber 
	
	This implements the queue congestion callout for DM stacks.  To make
	bdi_read/write_congested() return correct information.
	
	- md->lock protects all fields in md _except_ md->map
	- md->map_lock protects md->map
	- Anyone who wants to read md->map should use dm_get_table() which
	  increments the tables reference count.
	
	This means the spin lock is now only held for the duration of a
	reference count increment.
	
	Udpate:
	
	dm.c: protect md->map with a rw spin lock rather than the md->lock
	semaphore.  Also ensure that everyone accesses md->map through
	dm_get_table(), rather than directly.


	[PATCH] dmL remove __dm_request
	
	From: Joe Thornber 
	
	dm.c: remove __dm_request (merge with previous patch).


	[PATCH] per-backing dev unplugging
	
	From: Jens Axboe ,
	      Chris Mason,
	      me, others.
	
	The global unplug list causes horrid spinlock contention on many-disk
	many-CPU setups - throughput is worse than halved.
	
	The other problem with the global unplugging is of course that it will cause
	the unplugging of queues which are unrelated to the I/O upon which the caller
	is about to wait.
	
	So what we do to solve these problems is to remove the global unplug and set
	up the infrastructure under which the VFS can tell the block layer to unplug
	only those queues which are relevant to the page or buffer_head whcih is
	about to be waited upon.
	
	We do this via the very appropriate address_space->backing_dev_info structure.
	
	Most of the complexity is in devicemapper, MD and swapper_space, because for
	these backing devices, multiple queues may need to be unplugged to complete a
	page/buffer I/O.  In each case we ensure that data structures are in place to
	permit us to identify all the lower-level queues which contribute to the
	higher-level backing_dev_info.  Each contributing queue is told to unplug in
	response to a higher-level unplug.
	
	To simplify things in various places we also introduce the concept of a
	"synchronous BIO": it is tagged with BIO_RW_SYNC.  The block layer will
	perform an immediate unplug when it sees one of these go past.


	[PATCH] Use BIO_RW_SYNC in swap write page
	
	From: Jens Axboe 
	
	Dog slow software suspend found this one. If WB_SYNC_ALL, then you need
	to mark the bio as sync as well.
	
	This is because swap_writepage() does a remove_exclusive_swap_page() (going
	to __delete_from_swap_cache -> __remove_from_page_cache) which can kill
	page->mapping, thus aops->sync_page() has nothing to work with for unplugging
	the address space.


	[PATCH] unplugging: md update
	
	From: Neil Brown 
	
	I've made a bunch of changes to the 'md' bits - largely moving the
	unplugging into the individual personalities which know more about which
	drives are actually in use.


	[PATCH] Correct unplugs on nr_queued
	
	From: Jens Axboe 
	
	There's a small discrepancy in when we decide to unplug a queue based on
	q->unplug_thresh.  Basically it doesn't work for tagged queues, since
	q->rq.count[READ] + q->rq.count[WRITE] is just the number of allocated
	requests, not the number of requests stuck in the io scheduler.  We could
	just change the nr_queued == to a nr_queued >=, however that is still
	suboptimal.
	
	This patch adds accounting for requests that have been dequeued from the io
	scheduler, but not freed yet.  These are q->in_flight.  allocated_requests
	- q->in_flight == requests_in_scheduler.  So the condition correctly
	becomes
	
		if (requests_in_scheduler == q->unplug_thresh)
	
	instead.  I did a quick round of testing, and for dbench on a SCSI disk the
	number of timer induced unplugs was reduced from 13 to 5 :-).  Not a huge
	number, but there might be cases where it's more significant.  Either way,
	it gets ->unplug_thresh always right, which the old logic didn't.


	[PATCH] CFQ io scheduler
	
	From: Jens Axboe 
	
	CFQ I/O scheduler


	[PATCH] rmap 1 linux/rmap.h
	
	From: Hugh Dickins 
	
	First of a batch of three rmap patches: this initial batch of three paving
	the way for a move to some form of object-based rmap (probably Andrea's, but
	drawing from mine too), and making almost no functional change by itself.  A
	few days will intervene before the next batch, to give the struct page
	changes in the second patch some exposure before proceeding.
	
	rmap 1 create include/linux/rmap.h
	
	Start small: linux/rmap-locking.h has already gathered some declarations
	unrelated to locking, and the rest of the rmap declarations were over in
	linux/swap.h: gather them all together in linux/rmap.h, and rename the
	pte_chain_lock to rmap_lock.


	[PATCH] rmap 2 anon and swapcache
	
	From: Hugh Dickins 
	
	Tracking anonymous pages by anon_vma,pgoff or mm,address needs a
	pointer,offset pair in struct page: mapping,index the natural choice.  But
	swapcache uses those for &swapper_space,swp_entry_t.
	
	It's trivial to separate swapcache from pagecache with radix tree; most of
	swapper_space is actually unused, just a fiction to pretend swap like file;
	and page->private is a good place to keep swp_entry_t, now that swap never
	uses bufferheads.
	
	Define PG_anon bit, page_add_rmap SetPageAnon and put an oopsable address in
	page->mapping to test that we're not confused by it.  Define
	page_mapping(page) macro to give NULL when PageAnon, whatever may be in
	page->mapping.  Define PG_swapcache bit, deduce swapper_space from that in
	the few places we need it.
	
	add_to_swap_cache now distinct from add_to_page_cache.  Separating the caches
	somewhat simplifies the tmpfs swizzling in swap_state.c, now the page can
	briefly be in both caches.
	
	The rmap method remains pte chains, no change to that yet.  But one small
	functional difference: the use of PageAnon implies that a page truncated
	while still mapped will no longer be found and freed (swapped out) by
	try_to_unmap, will only be freed by exit or munmap.  But normally pages are
	unmapped by vmtruncate: this should only affect nonlinear mappings, and a
	later patch not in this batch will fix that.


	[PATCH] rw_swap_page_sync fixes
	
	Fix up the rw_swap_page_sync() gorrors by fully decoupling this function
	from the VM - it is now just a helper function which reads a page from or
	writes a page to swap.


	[PATCH] rmap 3 arches + mapping_mapped
	
	From: Hugh Dickins 
	
	Some arches refer to page->mapping for their dcache flushing: use
	page_mapping(page) for safety, to avoid confusion on anon pages, which will
	store a different pointer there - though in most cases flush_dcache_page is
	being applied to pagecache pages.
	
	arm has a useful mapping_mapped macro: move that to generic, and add
	mapping_writably_mapped, to avoid explicit list_empty checks on i_mmap and
	i_mmap_shared in several places.
	
	Very tempted to add page_mapped(page) tests, perhaps along with the
	mapping_writably_mapped tests in do_generic_mapping_read and
	do_shmem_file_read, to cut down on wasted flush_dcache effort; but the
	serialization is not obvious, too unsafe to do in a hurry.


	[PATCH] rename page_to_nodenum()
	
	From: "Martin J. Bligh" 
	
	I'd prefer we renamed this to page_to_nid() before anyone starts using it. 
	This fits with the naming convention of everything else (pfn_to_nid, etc). 
	Nobody uses it right now - I grepped the whole tree.


	[PATCH] cyclades works OK on SMP
	
	From: Marcelo Tosatti 
	
	The cyclades.c driver was marked BROKEN_ON_SMP during early 2.6.  It was
	fixed later on but the tag was left in Kconfig.
	
	The driver is not very smart wrt SMP locking, it can be improved.  There is
	only one spinlock per card which guarantees command block ordering and
	protects different shared data, which can be held for long periods.
	
	_But_ the locking works reliably, so remove the BROKEN_ON_SMP tag.


	[PATCH] dnotify_parent speedup
	
	From: Anton Blanchard 
	
	Directory notify code was showing up in a dd bs=1024k from 2 raid arrays
	on an emulex FC adapter:
	
	3635     69.4896  vmlinux-2.6.5            .default_idle
	332       6.3468  vmlinux-2.6.5            .__copy_tofrom_user
	112       2.1411  vmlinux-2.6.5            .save_remaining_regs
	76        1.4529  vmlinux-2.6.5            .scsi_dispatch_cmd
	64        1.2235  vmlinux-2.6.5            .dnotify_parent
	61        1.1661  vmlinux-2.6.5            .do_generic_mapping_read
	
	We already have a sysctl to enable/disable it, the patch below uses it
	in dnotify_parent. dnotify_parent disappears and idle time goes up:
	
	4508     70.8582  vmlinux-2.6.5            .default_idle
	253       3.9767  vmlinux-2.6.5            .__copy_tofrom_user
	142       2.2320  vmlinux-2.6.5            .save_remaining_regs
	88        1.3832  vmlinux-2.6.5            .shrink_zone
	84        1.3203  vmlinux-2.6.5            .elx_drvr_unlock
	75        1.1789  vmlinux-2.6.5            .scsi_dispatch_cmd
	69        1.0846  vmlinux-2.6.5            .do_generic_mapping_read
	
	Of course, to gain this small speedup isers need to know to set
	/proc/sys/fs/dir-notify-enable to zero.  Nobody does that.


	[PATCH] Feed floppy.c through Lindent
	
	From: "Randy.Dunlap" 


	[PATCH] jbd: do_get_write_access lock contention reduction
	
	We're seeing heavy contention against j_list_lock on 8-way in
	do_get_write_access().
	
	We actually don't need j_list_lock in there except for one little case - the
	per-bh jbd_lock_bh_state() is sufficient to protect this buffer's internal
	state.
	
	On some nice quick LVM array Ram Pai measured an overall 3x speedup from this
	patch:
	
	the script took the following time on 265mm1
	 real    0m57.504s
	 user    0m0.400s
	 sys     7m29.867s
	
	
	 and with the 2patches it took
	 real 	0m19.983s
	 user    0m0.438s
	 sys     1m55.896s


	[PATCH] jbd: b_transaction zeroing cleanup
	
	Almost everywhere where JBD removes a buffer from the transaction lists the
	caller then nulls out jh->b_transaction.  Sometimes, the caller does that
	without holding the locks which are defined to protect b_transaction.  This
	makes me queazy.
	
	So change things so that __journal_unfile_buffer() nulls out b_transaction
	inside both j_list_lock and jbd_lock_bh_state().
	
	It cleans things up a bit, too.


	[PATCH] i386 probe_roms(): preparation
	
	From: Rene Herman 
	
	The i386 probe_roms() function has a fair number of problems currently:
	
	- When you actually have an adapter ROM in the machine, your video ROM
	  disappears.  This is due to the pc9800 subarch merge that split it up in
	  probe_video_rom(int roms) and probe_extension_roms(int roms), but expects a
	  "roms++" in probe_video_roms() to have an effect outside of that function.
	
	- The majority of VGA adapters these days host a ROM larger then 32K, yet
	  the current code hardcodes a 32K ROM.  The VGA BIOS "length" byte is
	  normally valid (it in fact needs to be for a regular mainboard BIOS to
	  accept it) and I've verified on a few dozen very new to very old VGAs that
	  it is.  However, assuming someone actually did not check for the length and
	  checksum there for a reason, the safe thing to do here is accept the length
	  byte when we also get a valid checksum.
	
	- The current code scans 0xc0000 to 0xdffff for a video ROM while the
	  standard PC thing to do (that which the BIOS does) is only scan for a video
	  ROM starting between 0xc0000 and 0xc7fff.  This means that on a headless-
	  (or BIOS-less monochrome adapter-) box, the first adapter ROM found
	  triggers the registration of a 32K "Video ROM" at hardcoded address
	  0xc0000, even when _nothing_ is present between 0xc0000 and 0xc7fff.
	
	- The current adapter ROM scan stops at 0xdffff, whether or not an
	  extension ROM is present at 0xe0000.  The PC thing to do is scan 0xc8000
	  upto 0xdffff if an extension ROM is present, and upto 0xeffff when it's not
	  (it's not/hardly ever).
	
	- Adapter ROMs are called "Extension ROM", but the latter term is really
	  better reserved for a motherboard extension ROM.
	
	- Currently, the code happily starts scanning through a ROM it just
	  registered looking for the next one (just does += 2048, even when that's
	  inside the previous ROM) which is at least silly.
	
	Unfortunately, this code is "subarched" between mach-default and
	mach-pc9800, meaning the patch got a bit involved. Currently all this
	code, and gobs of data, is defined (not just declared) in the header:
	
	   include/asm-i386/mach-{default,pc9800}/mach_resources.h
	
	which isn't nice. That .h really wants to be a .c. The first patch, in
	the next message, does not change any code but only undoes the
	probe_video_rom / probe_extension_roms split and moves the code to a new
	file
	
	   arch/i386/mach-{default,pc9800}/std_resources.c
	
	with a header
	
	   include/asm-i386/std_resources.h
	
	for the prototypes only. The second patch overhauls the code itself for
	mach-default. Please see comments on top of that patch for (yet more)
	comments. It's tested on various machines, with and without adapter ROMs.
	
	I haven't touched pc9800. Nothing should have changed though. The pc9800
	author, as given in the code, is CCed.
	
	Also, x86-64 inherits the probe_roms() code from 2.4, and while it
	doesn't have the subarch specific problems, it has all others. I'll
	convert it to if this i386 version is deemed desirable.
	
	
	
	This patch doesn't change any code, just moves stuff from the
	"mach_resources.h" header to a "std_resources.c" subarch specific file, and
	introduces a "std_resources.h" header for the prototypes.


	[PATCH] i386 probe_roms(): fixes
	
	From: Rene Herman 
	
	This patch tries to improve the i386/mach-default probe_roms().  This also
	c99ifies the data, adds an IORESOURCE_IO flag for the I/O port resources,
	an IORESOURCE_MEM flag for the VRAM resource, IORESOURCE_READONLY |
	IORESOURCE_MEM for the ROM resources and adds two additional "adapter ROM
	slots" (for a total of 6) since it now also scans the 0xe0000 segment.


	[PATCH] swsusp update: supports discontingmem/highmem
	
	From: Pavel Machek 
	
	Bill Irwin did some work on this.  It makes swsusp behave correctly w.r.t. 
	discontingmem, and adds highmem handling (very simple-minded, but should work
	ok with 1GB).  It now should behave correctly w.r.t.  more than one swap
	device, and fixes double restoring of console.


	[PATCH] swsusp update: supports discontingmem/highmem fixes
	
	From: Pavel Machek 
	
	It makes swsusp behave correctly w.r.t.  discontingmem, and adds highmem
	handling.


	[PATCH] Swsusp should not wake up stopped processes
	
	From: Pavel Machek 
	
	If you stop process with ^Z, then suspend, process is awakened.  Thats a
	bug.  Solution is to simply leave already stopped processes alone.  Plus we
	no longer use TASK_STOPPED for processes in refrigerator.  Userland might
	see us and get confused.


	[PATCH] Correct kernel-doc comment with incorrect parameters documented
	
	From: "Randy.Dunlap" 
	
	From: Michael Still 
	
	Correct kernel-doc comment with incorrect parameters documented


	[PATCH] get_user_pages shortcut for anonymous pages
	
	From: Martin Schwidefsky 
	
	The patch avoids the instantiation of pagetables for not-present pages in
	get_user_pages().  Without this, the coredump code can cause total memory
	exhaustion in pagetables.  Consider a store to current stack - 1TB.  The
	stack vma is extended to include this address because of VM_GROWSDOWN.  If
	such a process dies (which is likely for a defunc process) then the elf core
	dumper will cause the system to hang because of too many page tables.
	
	We especially recognise this situation and simply return a ref to the zero
	page.


	[PATCH] isicom.c: jiffies must be unsigned long
	
	From: Geert Uytterhoeven 
	
	jiffies must be unsigned long


	[PATCH] isicom.c: unused vars
	
	From: Geert Uytterhoeven 
	
	Recent serial changes moved some code, causing unused variable warnings.


	[PATCH] parport dependency fix
	
	From: Geert Uytterhoeven 
	
	PCI multi-IO card support depends on PCI


	[PATCH] DVB dependency fix
	
	From: Geert Uytterhoeven 
	
	DVB_TWINHAN_DST depends on DVB_BT8XX (dependency is explicitly mentioned in
	help text, but not enforced)


	[PATCH] isicom error path fix
	
	From: Geert Uytterhoeven 
	
	Variable error is not initialized, but printed if tty_unregister_driver()
	fails.


	[PATCH] QD65xx I/O ports fix
	
	From: Geert Uytterhoeven 
	
	I/O port numbers can be larger than 8-bit on many platforms (this caused a
	warning when {out,in}b() cast reg to a pointer on platforms with memory
	mapped I/O)


	[PATCH] Fix parportbook build again
	
	From: Herbert Xu 
	
	The previous fix causes a syntax error when building:
	
	Working on: /home/gondolin/herbert/src/debian/work/kernel/build/2.6/kernel-source-2.6.5-2.6.5/Documentation/DocBook/parportbook.sgml
	jade:/home/gondolin/herbert/src/debian/work/kernel/build/2.6/kernel-source-2.6.5-2.6.5/Documentation/DocBook/parportbook.sgml:4059:2:E: invalid comment declaration: found character "!" outside comment but inside comment declaration
	jade:/home/gondolin/herbert/src/debian/work/kernel/build/2.6/kernel-source-2.6.5-2.6.5/Documentation/DocBook/parportbook.sgml:4058:0: comment declaration started here
	jade:/home/gondolin/herbert/src/debian/work/kernel/build/2.6/kernel-source-2.6.5-2.6.5/Documentation/DocBook/parportbook.sgml:4059:4:E: character data is not allowed here
	
	This patch removes the offending line completely since that file is probably
	not coming back anyway.


	[PATCH] saa7134 - Add two inputs for Asus TV FM
	
	From: Martin Hicks 
	
	I just bought an ASUS TV FM capture card, based on the saa7134 chip.  It only
	had one input specified, coax.  This patch adds the Composite and S-Video
	inputs.  It seems to work correctly for me.


	[PATCH] pdaudiocf.c needs init.h
	
	From: Herbert Xu 
	
	This patch makes this file includes linux/init.h since it uses the __init
	tag.


	[PATCH] don't offer GEN_RTC on ia64
	
	From: Bjorn Helgaas 
	
	gen_rtc.c doesn't work on ia64 (we don't have asm/rtc.h, for starters), so
	don't offer it there.


	[PATCH] remove concatenation with __FUNCTION__ arch/*
	
	From: Tony Breeds 


	[PATCH] remove concatenation with __FUNCTION__ drivers/*
	
	From: Tony Breeds 


	[PATCH] remove concatenation with __FUNCTION__ include/*
	
	From: Tony Breeds 


	[PATCH] remove concatenation with __FUNCTION__ sound/*
	
	From: Tony Breeds 


	[PATCH] Fix Raid5/6 above 2 Terabytes
	
	From: Evan Felix 
	
	Here is a patch that fixes a major issue in the raid5/6 code.  It seems
	that the code:
	
	logical_sector = bi->bi_sector & ~(STRIPE_SECTORS-1);
	(sector_t)     = (sector_t)    & (constant)
	
	that the right side of the & does not get extended correctly when the
	constant is promoted to the sector_t type.  I have CONFIG_LBD turned on so
	sector_t should be 64bits wide.  This fails to properly mask the value of
	4294967296 (2TB/512) to 4294967296.  in my case it was coming out 0.  this
	cause the loop following this code to read from 0 to 4294967296 blocks so
	it could write one character.
	
	As you might imagine this makes a format of a 3.5TB filesystem take a very
	long time.


	[PATCH] make ibmasm driver uart support depend on SERIAL_8250
	
	From: Max Asbock 
	
	This patch makes serial line registration in the ibmasm service processor
	driver depend on CONFIG_SERIAL_8250.  Previously the driver wouldn't
	compile when serial driver support wasn't enabled.


	[PATCH] fix test_and_change_bit comment
	
	From: Paul Jackson 
	
	I've read over the code in each case, built and ran a test case for i386 in
	particular, and studied the other uses and definitions of
	test_and_change_bit().  Everything I see recommends this change.
	
	- Fix test_and_change_bit() comment: returns old value, not new one.


	[PATCH] ext2fs sb= mount option fix
	
	From:  (Andrew Church)
	
	The following patch fixes a bug in the processing of the sb= (alternate
	superblock) mount option for ext2: when changing the device block size, the
	given superblock is ignored and the code reverts to using block 1.


	[PATCH] ext3fs sb= mount option fix
	
	From:  (Andrew Church)
	
	The following patch fixes a bug in the processing of the sb= (alternate
	superblock) mount option for ext3: when changing the device block size, the
	given superblock is ignored and the code reverts to using block 1.


	[PATCH] fix for potential integer overflow in zoran driver
	
	From: "Ronald S. Bultje" 
	
	Attached patch fixes a potential integer overflow in zoran_procs.c (part of
	the zr36067 driver).  Bug was detected by Ken Ashcraft with the Stanford
	checker.


	[PATCH] mdacon.c warning fix.
	
	From: "Luiz Fernando N. Capitulino" 
	
	drivers/video/console/mdacon.c:599: warning: initialization from incompatible pointer type


	[PATCH] do_fork() error path memory leak
	
	From: 
	
	In do_fork(), if an error occurs after the mm_struct for the child has been
	allocated, it is never freed.  The exit_mm() meant to free it increments
	the mm_count and this count is never decremented.  (For a running process
	that is exitting, schedule() takes care this; however, the child process
	being cleaned up is not running.) In the CLONE_VM case, the parent's
	mm_struct will get an extra mm_count and so it will never be freed.
	
	This patch should fix both the CLONE_VM and the not CLONE_VM case; the test
	of p->active_mm prevents a panic in the case that a kernel-thread is being
	cloned.


	[PATCH] Fix More Problems Introduced By Module Structure Added in modpost.c
	
	From: Rusty Russell 
	
	Sam Ravnborg found these.
	
	1) have_vmlinux is a global, and should not be reset every time.
	
	2) We pretend every module needs cleanup_module so it gets versioned,
	   but that isn't defined for CONFIG_MODULE_UNLOAD=n.
	
	3) The visible effect of this is that modpost will start complaning about
	   undefined symbols - previously this happened only when the module was
	   isntalled.


	[PATCH] Rename bitmap_clear to bitmap_zero, remove CLEAR_BITMAP
	
	From: Rusty Russell 
	
	clear_bit(n, addr) clears the nth bit.
	test_and_clear_bit(n, addr) clears the nth bit.
	cpu_clear(n, cpumask) clears the nth bit (vs. cpus_clear()).
	bitmap_clear(bitmap, n) clears out all the bits up to n.
	
	Moreover, there's a CLEAR_BITMAP() in linux/types.h which bitmap_clear() is
	a wrapper for.
	
	Rename bitmap_clear to bitmap_zero, which is harder to confuse (yes, it bit
	me), and make everyone use it.


	[PATCH] i2c-dev warning fixes
	
	drivers/i2c/i2c-dev.c: In function `i2cdev_read':
	drivers/i2c/i2c-dev.c:140: warning: int format, different type arg (arg 3)
	drivers/i2c/i2c-dev.c: In function `i2cdev_write':
	drivers/i2c/i2c-dev.c:168: warning: int format, different type arg (arg 3)


	[PATCH] policydb printk warnings
	
	security/selinux/ss/policydb.c:1160: warning: signed size_t format, different type arg (arg 3)
	security/selinux/ss/policydb.c:1160: warning: signed size_t format, different type arg (arg 3)


	[PATCH] applicom warnings and usercopy-in-cli fix
	
	drivers/char/applicom.c: In function `ac_write':
	drivers/char/applicom.c:363: warning: int format, different type arg (arg 2)
	drivers/char/applicom.c:363: warning: int format, different type arg (arg 3)
	drivers/char/applicom.c:363: warning: int format, different type arg (arg 2)
	drivers/char/applicom.c:363: warning: int format, different type arg (arg 3)
	drivers/char/applicom.c:523:2: warning: #warning "Je suis stupide. DW. - copy*user in cli"
	drivers/char/applicom.c: In function `ac_read':
	drivers/char/applicom.c:546: warning: int format, different type arg (arg 2)
	drivers/char/applicom.c:546: warning: int format, different type arg (arg 3)
	drivers/char/applicom.c:546: warning: int format, different type arg (arg 2)
	drivers/char/applicom.c:546: warning: int format, different type arg (arg 3)


	[PATCH] tpqic02 warnings
	
	drivers/char/tpqic02.c: In function `rdstatus':
	drivers/char/tpqic02.c:700: warning: int format, different type arg (arg 2)
	drivers/char/tpqic02.c:700: warning: int format, different type arg (arg 2)


	[PATCH] BSD accounting oops fix
	
	oopses have been reported in do_acct_process(), with premption enabled, when
	threaded applications are exitting.
	
	It appears that we're racing with another thread which is nulling out
	current->tty.  I think this race is still there after we moved current->tty
	into current->signal->tty, so let's take the needed lock.


	[PATCH] framebuffer bugfix
	
	From: Arjan van de Ven 
	
	Patch below fixes a thinko in the frame buffer drivers; the code does
	
	cursor.image.data = kmalloc(size, GFP_KERNEL);
	....
	cursor.mask = kmalloc(size, GFP_KERNEL);
	....
	                if (copy_from_user(&cursor.image.data, sprite->image.data, size) ||
	                    copy_from_user(cursor.mask, sprite->mask, size)) {
	....
	
	where it's clear that the & in the first copy_from_user is utterly bogus
	since the destination is the content of the newly allocated buffer, and not
	the pointer to it as the code does.


	[PATCH] fb_copy_cmap() fix
	
	From: Arjan van de Ven 
	
	fb_copy_cmap() takes an argument about wether to do memcpy, copy_from_user or
	copy_to_user.  0 is memcpy, 2 is copy_to_user.  In the ioctl you want
	copy_to_user for copying the colormap to userspace.


	[PATCH] Make %docs depend on scripts_basic
	
	From: Sam Ravnborg 
	
	From: Herbert Xu 
	
	It seems that the %docs targets only needs scripts_basic.  The following
	patch does just that.  This removes its dependency on the existence of a
	.config file.


	[PATCH] kbuild: cleaning in three steps
	
	From: Sam Ravnborg 
	
	Previously 'make clean' deleted all automatically generated files.  The
	following patch revert this behaviour, and now 'make clean' leaves enough
	behind to allow external modules to be built.
	
	The cleaning is now done in three steps:
	
	make clean     - delete everything not needed for building external modules
	make mrproper  - delete all generated files, including .config
	make distclean - delete all temporary files such as *.orig, *~, *.rej etc.
	
	This fixes reports about nvidia and vmware build issues.


	[PATCH] kbuild: external module support
	
	From: Sam Ravnborg 
	
	Based on initial patch from Andreas Gruenbacher there is now better support
	for building external modules with kbuild.
	
	The preferred syntax is now:
	make -C $KERNELSRC M=$PWD
	
	but the old syntax:
	make -C $KERNELSRC SUBDIRS=$PWD modules
	will remain supported.
	
	The major differences compared to before are that:
	1) No attempt is made to neither check nor update any files in $KERNELSRC
	2) Module versions are now supported
	
	During stage 2 of kernel compilation where the modules are built, a new file
	Module.symvers is created.  This file contains the version for all symbols
	exported by the kernel and any module compiled within the kernel tree.
	
	When the external module is build the Module.symvers file is being read and
	symbol versions are used from that file.
	
	The purpose of avoiding any updates in the kernel src is that usually in a
	distribution the kernel src will be read-only, and there is no need to try to
	update it.  And when building an external module the focus is on the module,
	not the kernel.
	
	I expect the distributions will start using something like this:
	
	kernel src - with no generated files. Not even .config:
	/usr/src/linux-
	
	Output from build:
	/lib/modules/linux-/build
	
	where build is a real directory with relevant output files and the
	appropriate .config.
	
	I have some Documentation in the pipe-line, but wants to see how this
	approach is received before completing it.
	
	This patch is made on top of the previously posted patch to divide
	make clean in three steps.
	
	And you may need to edit the following line in the patch to make it apply:
	 %docs: scripts_basic FORCE
	to
	 %docs: scripts FORCE


	[PATCH] parport: no procfs warning fix
	
	drivers/parport/procfs.c: In function `parport_default_proc_unregister':
	drivers/parport/procfs.c:529: warning: `return' with a value, in function returning void


	[PATCH] Add CONFIG_SYSFS
	
	From: Patrick Mochel 
	
	Here is a patch to make sysfs optional.  Note that with CONFIG_SYSFS=n you
	must specify the boot device's major:minor on the kernel boot command line
	with
	
		root=03:01
	
	For embedded systems, it will save a significant amount of memory during
	runtime.  And, it saves 4k from the built kernel image for me.


	[PATCH] JBD: BH_Revoke cleanup
	
	Use the bh bit test/set infrastructure rather than open-coding everything. 
	No functional changes.


	[PATCH] cciss: /proc fix
	
	From: 
	
	This patch fixes a bug where /proc displays 1 less logical volume than is
	actually configured.  This causes problems for some installers.


	[PATCH] cciss_scsi warning
	
	drivers/block/cciss_scsi.c: In function `scsi_cmd_stack_free':
	drivers/block/cciss_scsi.c:241: warning: cast from pointer to integer of different size


	[PATCH] pmdisk is x86 only
	
	Only x86 implements pmdisk_arch_suspend().  So mark pmdisk as ia32-only, to
	avoid breaking allyesconfig.


	[PATCH] Oprofile: ARM/XScale PMU driver
	
	From: Zwane Mwaikambo 
	
	The following patch adds support for the XScale performance monitoring unit
	to OProfile.  It uses not only the performance monitoring counters, but
	also the clock cycle counter (CCNT) allowing for upto 5 usable counters.
	
	The code has been developed and tested on an IOP331 (hardware courtesy of
	Intel) therefore i haven't been able to test it on XScale PMU1 systems. 
	Testing on said systems would be appreciated, and if done, please uncomment
	the #define DEBUG line at the top of op_model_xscale.c
	
	OProfile userspace support has already been committed and should be
	available via CVS.


	[PATCH] I2C: Rework memory allocation in i2c chip drivers
	
	Additional remarks:
	
	1* This patch also removes an unused struct member in via686a and fixes
	an error message in ds1621.
	
	2* I discovered error path problems in it87 and via686a detection
	functions. For the it87, I think that this patch makes it even more
	broken. I will fix both drivers in a later patch (really soon).


	[PATCH] I2C: Error paths in it87 and via686a drivers
	
	Here comes the patch that fixes error paths in the it87 and via686a
	detection functions. The it87 part also adds missing error values.


	[PATCH] I2C: pwm support in w83781d.c
	
	Here is a general pwm support cleanup patch for the w83781d chip driver.
	Featuring:
	
	* Don't pretend that we handle PWM on AS99127F chips. We don't know how
	it works, and one of the register we are accessing for now is clearly
	not a PWM register, and changing its value usually breaks temperature
	readings.
	
	* Discard irrelevant comments.
	
	* Rewrite show_pwmenable_reg. It was obviously taken from the 2.4
	driver, with unneeded tests and the code was much too complicated
	anyway. And now we handle errors correctly.
	
	* Initialize pwm_enable at load time. So far it was done conditionally
	(if init=1) while it should always be done. And pwm2_enable wasn't read
	from the chip, while it should.
	
	I could test that my AS99127F doesn't expose pwm files through ssysfs
	anymore. Which means that I couldn't test the rest of the pwm changes,
	unfortunately.
	
	I've applied similar changes to our 2.4/CVS repository.


	[PATCH] I2C: make I2C chip drivers return -EINVAL on error


	[PATCH] I2C: fix asb100 bug
	
	Hi nymisi, Greg:
	
	* Nyeste Mihály  [2004-01-27 16:02:04 +0100]:
	> Hi!
	>
	> I reported a bug of asb100 chip at:
	> http://www2.lm-sensors.nu/~lm78/readticket.cgi?ticket=1539
	>
	> The reply was the follow:
	>
	> "Is there a BIOS option you can disable, e.g. Asus "COP",
	> "QFAN", or some such?  My guess is that the BIOS is
	> somehow interfering with the asb100 driver.  Otherwise
	> I don´t know how this could happen.
	  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
	
	Yeah, I wrote that.
	
	"You do that, you go to the box, you know.  Two minutes by
	yourself, and you feel shame, you know." - Denis the goalie
	
	Greg, please apply this fix (vs. 2.6.5):


	[PATCH] I2C: Fix voltage rounding in lm80
	
	This one line patch fixes voltage rounding in the lm80 chip driver.


	[PATCH] I2C: No reset not limit init in via686a
	
	The following patch removes limits initialization in the via686a driver.
	It was decided some times ago that this belongs to user-space, not
	kernel. See the thread here:
	http://archives.andrew.net.au/lm-sensors/msg06134.html
	
	It also prevents the sensor chip from being savagely reset at load time.
	This too follows a decision taken long ago that drivers should do as
	little as possible in their init procedure. See the thread here:
	http://archives.andrew.net.au/lm-sensors/msg04593.html
	
	This should make the driver smaller, safer and faster to load. The same
	was done to our 2.4/CVS version of the driver 5 months ago and it seems
	to work just fine.


	Delete unused files in sound/oss
	
	From Herbert Xu; the files aren't used anywhere, and
	shouldn't be there in the first place.


	[PATCH] USB: New ID for ftdi_sio
	
	Hi,
	I have an USB contactless reader which uses a FTDI chip. It works well with the
	 current ftdi_sio driver, it's just a matter of adding an ID:


	[PATCH] Zorro devlist.h kbuild
	
	Zorro: Quieten building of devlist.h (cfr. PCI)


	[PATCH] Pm2fb is broken on Amiga
	
	Permedia2: Mark pm2fb broken on Amiga, until somebody fixes it (pm2fb.c
	explicitly tests for CONFIG_PCI right now)


	[PATCH] pm2fb barrier cleanup
	
	Permedia2: Always use the standard barrier macros (they do exist on m68k, and
	map to barrier())


	[PATCH] Amiga Zorro8390 Ethernet section conflict
	
	Zorro8390: const data cannot be in the init data section (from Roman Zippel)


	[PATCH] MVME16x RTC const
	
	MVME16x RTC: Make days_in_mo[] const


	[PATCH] Sun-3 duplicates
	
	Sun-3: Kill duplicate definitions:
	  - FC_CONTROL is defined in 
	  - vectors[] is declared in 


	[PATCH] M68k vector definitions
	
	M68k: Add remaining CPU vector definitions


	[PATCH] M68k initializers cleanup
	
	M68k: Clean up initializers:
	  - Convert struct/array initializers to C99 style
	  - Do not initialize data to 0 or NULL explicitly so it can move to bss


	[PATCH] Amikbd C99 cleanup
	
	Amikbd: Use C99 array initializers and standard key defines


	[PATCH] m68k I/O
	
	m68k: Use explicit-sized types for I/O accesses


	[PATCH] M68k TLB fixes
	
	M68k TLB fixes from Roman Zippel:
	  - Check current->active_mm for currently active mm
	  - Set correct context to flush the right ATC entry
	This is especially important for kswapd to correctly flush unmapped entries (it
	caused random segfaults during large compiles)


	[PATCH] M68k time update
	
	M68k: Update time adjustment code cfr. other architectures.
	(perhaps do_gettimeofday() is a good candidate for consolidation across archs?)


	[PATCH] Amiga eth%d
	
	Amiga Ethernet drivers: Print card info after calling register_netdev(), to
	avoid dev->name still being 'eth%d'.


	[PATCH] m68k show_interrupts bug
	
	M68k: Make sure machine-specific interrupts are always printed (bug introduced
	by show_interrupts() conversion)


	[PATCH] hugetlbpage highmem fix
	
	From: Andy Whitcroft 
	
	When clearing a large page allocation ensure we use a page clear function
	which will correctly clear a ZONE_HIGHMEM page.


	[PATCH] kbuild: Create .tmp_versions when building external modules
	
	From: Sam Ravnborg 
	
	When building external modules the $PWD/.tmp_versions directory is used.
	The .tmp_versions directory in the kernel tree cannot be used because this
	would clutter up the kernel tree especially when more than one external
	module is being build for the same kernel tree.
	
	This patch make sure to create $PWD/.tmp_versions, and to delete it during
	make clean.  It also removes warning about 'messed with SUBDIRS', this is
	no longer relevant when .tmp_versions is made outside the kernel tree.


	[PATCH] put ia32 pgds and pmds back into slab
	
	From: William Lee Irwin III 
	
	This optimisation was reverted when I was removing all users of page->list.
	Bill fixed it up, so unrevert it again.


	[PATCH] get_files_struct cleanup
	
	From: Russell King 
	
	Cleanup the 4 duplicate "get_files_struct" implementations into one
	get_files_struct() function to compliment put_files_struct().


	[PATCH] shrink VFS hash sizes on small machines
	
	From: Matt Mackall 
	
	Base hash sizes on available memory rather than total memory.  An
	additional 50% above current used memory is considered reserved for the
	purposes of hash sizing to compensate for the hashes themselves and the
	remainder of kernel and userspace initialization.


	[PATCH] fix vga16fb.c frame buffer bad memory mapping
	
	From: Vincent Sanders 
	
	The vga16fb driver uses a direct ioremap on 0xa00000 to gain access to the
	vga card.  This is wrong on architectures other than x86, every other driver
	uses VGA_MAP_MEM macro from vga.h to ensure the correct memory mapping.


	[PATCH] uninline put_page()
	
	Shrinks my vmlinux by an astonishing 28k.
	
	   text    data     bss     dec     hex filename
	3038796  589890  150612 3779298  39aae2 vmlinux.before
	3009761  590107  150612 3750480  393a50 vmlinux.after
	
	Thanks to Denis Vlasenko  for performing
	the analysis.


	[PATCH] uninline seq_puts() and seq_putc()
	
	Saves 3.4k from my vmlinux.
	
	Thanks to Denis Vlasenko  for performing
	the analysis.


	[PATCH] uninline copy_to_user() and copy_from_user()
	
	40k reduction in my vmlinux.
	
	Thanks to Denis Vlasenko  for performing
	the analysis.


	[PATCH] Fix tmscsim on amd64
	
	From: Jeff Garzik 
	
	DC390_init() takes a long, not an int.


	[PATCH] m68knommu: change addr type to reduce casting in ColdFire serial driver
	
	From: 
	
	Change "addr" field type to reduce casting in ColdFire serial driver.


	[PATCH] m68knommu: fixes to the ColdFire serial driver
	
	From: 
	
	A whole bunch of fixes for the ColdFire serial driver:
	
	. remove unused CONFIG_LEDMAN code
	. reformat port definitions to new style structure init
	. change "addr" field type to reduce casting in ColdFire serial driver
	. cleanup locking problems in mcfrs_write().
	. implement fraction baud rate clock support for hardware that
	  supports it (namely the ColdFire 5272)
	. implement wait_until_sent, some ColdFire parts of hardware support
	  for this (again the 5272).
	. correctly use return values from put_user(), get_user() and copy_to_user()
	
	Many of these originaly from kernel janitors.


	[PATCH] m68knommu: fixes to the 68328 DragonBall serial driver
	
	From: 
	
	A few fixes for the 68328 "DragonBall" serial driver:
	
	. use irqreturn_t for interrupt handlers
	. correct a few variable types (stop compiler warnings)
	. correctly use return values from put_user(), get_user() and copy_to_user()
	
	Many of these originaly from kernel janitors.


	[PATCH] Wrong return value in hfs_fill_super
	
	From: Nick Wellnhofer 
	
	hfs_fill_super in 2.6.5 returns -EIO instead of -EINVAL if a valid supe=
	block isn't found.  So mount_block_root in init/do_mounts.c bails out before
	trying to mount the root device as XFS.


	[PATCH] mips build fix
	
	From: Samium Gromoff 
	
	Without this one it fails to build.


	[PATCH] another mips build fix
	
	From: Samium Gromoff 
	
	Without this one it fails to build, too.


	[PATCH] pcmcia/rsrc_mgr.c warning fix.
	
	From: "Luiz Fernando N. Capitulino" ,
	      me
	
	drivers/pcmcia/rsrc_mgr.c: In function `find_io_region':
	drivers/pcmcia/rsrc_mgr.c:604: warning: large integer implicitly truncated to unsigned type
	
	We don't really know what underlying type an ioaddr_t has, so just use an
	integer here and let the compiler promote it appropriately.


	[PATCH] Compile fix for macserial
	
	From: Jeff Mahoney 
	
	This patch fixes a problem with the serial conversion to tiocm[sg]et.
	
	The paste from rs_ioctl included the command sanity checking, but there's no
	command for tiocm[sg]et.  The compile ends up failing.


	[PATCH] stack reductions: nfs root
	
	From: Arjan van de Ven 
	
	root_nfs_name is called one in single threaded environment; can use static.


	[PATCH] binfmt_misc: remove attribute(unused)
	
	From: Anton Blanchard 
	
	It's been there since the kernel was first imported into bk.  We see no
	reason for this.


	[PATCH] ufs2_frag_map_fix : fixes wrong content reading in ufs2  code
	
	From: Niraj Kumar 
	
	This is in continuation of the ufs2 read-only code that went into 2.6.5.
	
	This patch fixes a bug where wrong content was being read off the disk
	after around 4 MB mark.


	[PATCH] ppc64: Fix ibmveth.c compilation
	
	From: Paul Mackerras 
	
	This patch changes PCI_DMA_TODEVICE to DMA_TO_DEVICE in a couple of
	places in drivers/net/ibmveth.c, since it doesn't compile without this
	change and it does compile with it.  It also reformats a couple of
	over-long lines in the vicinity of the other changes.


	[PATCH] ppc64: restore r13 in an unrecoverable exception
	
	From: Anton Blanchard 
	
	We have to restore r13 when entering unrecoverable_exception.


	[PATCH] e1000: ethtool set/get eeprom fixes


	[PATCH] e1000: ethtool set/get ring param support


	[PATCH] e1000: fix eeprom update to include e1000_standby_eeprom
	
	A Bug in e1000_spi_eeprom_ready where the Chip Select bit wasn't being 
	toggled after every status register read (if the eeprom wasn't ready after 
	the first status register read). The call to e1000_standby_eeprom manages 
	the CS bit correctly


	[PATCH] e1000: remove polarity reversal workaround for forced 10H/10F links
	
	Adding this caused the adapter to fail while operating at 10 mbps, half
	duplex. Hence the fix is not complete. We are still investigating a more
	complete fix for the polarity reversal issue.


	[PATCH] e1000: Set Attla PHY to Class A
	
	Some LOM implementation of our controllers pass IEEE tests (Tx 
	distortion/Symmetry) while operating in Class A mode rather than in
	class AB mode.


	[PATCH] e1000: New bit definitions, fix comments on loadtime parameters


	[PATCH] e1000: all other white space fixes, changelog


	[PATCH] e1000: replace if(retval=fn()) with retval=fn(); if (retval)


	[PATCH] pcnet32 fix hang/crash with loopback test
	
	If the pcnet32 interface is not up, running the loopback test may hang or
	crash the system.  This patch provided by Jim Lewis fixes that problem.
	Tested on ia32 and ppc systems.


	[PATCH] MAINTAINER entry for the r8169 driver.


	[PATCH] r8169: Missing 'static' qualifier for functions.


	[PATCH] r8169: correct irq handler return value
	
	The irq handler must not return 1 when the status register is null
	during the firt iteration.


	[PATCH] r8169: mod_timer() expects an absolute time, not a relative offset.


	[PATCH] remove concat. with __FUNCTION__ (drivers/net/) (V2)
	
	Hi,
	
	Previous patch had a small problem.  This patch replaces the
	previous version.  I can/will send a relative/differential diff
	if you want/need it.
	
	
	Problem:
	
	On Tue, 2004-04-06 at 14:45, Randy.Dunlap wrote:
	> From: Tony Breeds 
	>
	> "concatenation of string literals with __FUNCTION__ is deprecated"
	> -#define TRACE_ENTER(devname) DEBUG(2, "%s: -> " __FUNCTION__ "()\n", devname);
	> -#define TRACE_EXIT(devname)  DEBUG(2, "%s: <- " __FUNCTION__ "()\n", devname);
	> +#define TRACE_ENTER(devname) DEBUG(2, "%s: -> %s()\n", __FUNCTION__, devname);
	> +#define TRACE_EXIT(devname)  DEBUG(2, "%s: <- %s()\n", __FUNCTION__, devname);
	
	| Hi.  This isn't the same.  It should be:
	|
	| +#define TRACE_ENTER(devname) DEBUG(2, "%s: -> %s()\n", devname, __FUNCTION__);
	| +#define TRACE_EXIT(devname)  DEBUG(2, "%s: <- %s()\n", devname, __FUNCTION__ );
	
	~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
	
	
	 drivers/net/gt96100eth.c       |    2 +-
	 drivers/net/irda/smsc-ircc2.c  |    6 +++---
	 drivers/net/irda/via-ircc.c    |    2 +-
	 drivers/net/wireless/orinoco.h |    4 ++--
	 4 files changed, 7 insertions(+), 7 deletions(-)


	Delete sis190 net driver.
	
	The driver was copied from the very-buggy r8169 (pre-Francois),
	and is for hardware that isn't even out of the lab yet.


	[netdrvr r8169] temporary build fix, until DMA_xxBIT_MASK is upstream


	[PATCH] ide-disk.c: workaround for bogus LBA48 drives
	
	From: Geert Uytterhoeven 
	
	Apparently some IDE drives (e.g. a pile of 80 GB ST380020ACE drives I have
	access to) advertise to support LBA48, but don't, causing kernels that support
	LBA48 (i.e. anything newer than 2.4.18, including 2.4.25 and 2.6.4) to fail on
	them.  Older kernels (including 2.2.20 on the Debian woody CDs) work fine.
	
	Check for id->lba_capacity_2 being non-zero in idedisk_supports_lba48().


	[PATCH] hpt366.c: fix 'cat /proc/ide/hpt366' crash
	
	Disable code doing outb() without any locking in /proc handler.
	Otherwise 'cat /proc/ide/hpt366' crashes if done during I/O.
	
	Noticed by John Stoffel .


	[PATCH] zero 'hw_regs_t hw' allocated from stack in ide.c and ide-cs.c


	[PATCH] asm-arm26/hdreg.h: use unsigned long for ide_ioreg_t


	[PATCH] add asm-generic/hdreg.h
	
	Use it on all archs which define ide_ioreg_t to unsigned long.


	[PATCH] asm/ide.h: ide_ioreg_t cleanup
	
	ide_ioreg_t is deprecated and hasn't been used by IDE driver for some time.
	Use unsigned long directly on alpha, arm26, arm, mips, parisc, ppc64 and sh.
	
	asm-ia64/ide.h (ide_ioreg_t is unsigned short) and asm-m68knommu/ide.h
	(broken - ide_ioreg_t is not defined) are the only users of ide_ioreg_t left.


	[PATCH] asm-ia64/ide.h: use unsigned long instead of ide_ioreg_t


	[PATCH] obsolete asm/hdreg.h


	[PATCH] jbd copyout fix
	
	When I converted journal_write_metadata_buffer() to kmap_atomic() I screwed
	up the handling of the copyout buffers - we're currently writing four zeroes
	into the user's page rather than into the data which is to be written to the
	journal (oops).
	
	Net effect: any block which starts with 0xC03B3998 gets scribbled on in
	data=journal mode.


	[PATCH] Fix ext3 add_nondir d_instantiate()
	
	It should be unconditional.


	[PATCH] Fix MSI IA64 Support Build Breakage
	
	From: "Nguyen, Tom L" 
	
	The patch showed up in Linus' tree last night breaks the
	"generic_defconfig" build for ia64.
	
	Fix it by adding the NR_VECTORS device to ia64.


	[PATCH] update fix for potential integer overflow in zoran driver
	
	From: Dave Jones 
	
	2.4 already had this fixed, but uses a somewhat larger value to clip at.
	For uniformity sake, perhaps they should be the same?  Patch below makes
	it match 2.4-bk


	[PATCH] x86-64 update
	
	Various fixes and cleanups for x86-64. 
	
	 - Update defconfig
	 - Fix some problems in ROM resource scanning (Rene Herman) 
	 - Initialize APIC id of CPU 0 (Venkatesh Pallipadi)
	 - Always enable swiotlb for GART_IOMMU
	 - Fix compilation without IOMMU_GART
	 - Remove nodes_present; use standard node_online_map instead.
	   This also fixes a bug with no memory on node 0.
	 - Switch node<->cpu mapping to arrays. This fixes some awkward
	   special cases with no nodes and empty nodes. 
	 - Move K8 fallback node setup to common code
	 - Eliminate old fake_node.
	 - Fix wrong fields in MCE handling (Marc Bevand)
	 - Make pci_dma_consistent behave more similar to i386 to fix Alsa


	[ARM PATCH] 1811/1: Set dma_handle to ~0 when coherent allocation too big
	
	Patch from Deepak Saxena
	


	[ARM] Fix builds using O=


	[SERIAL] Add ARM PL011 uart primecell support.
	
	This adds support for the AMBA PL011 UART primecell, and moves the
	existing AMBA UART support to indicate it covers the AMBA PL010
	primecell.


	[PATCH] USB speedtouch: turn on debugging if CONFIG_USB_DEBUG is set
	
	Hi Greg, this causes the speedtouch driver to output non-verbose
	debugging messages if the kernel was configured with CONFIG_USB_DEBUG.
	The patch is against your 2.6 kernel tree.


	[PATCH] USB speedtouch: fix memory leak in error path
	
	Hi Greg, this patch fixes a memory leak in the speedtouch driver.
	The leak occurs when the ATM layer submits a skbuff for transmission,
	but the driver rejects it (because the device has been unplugged for
	example).  The ATM layer requires the driver to free the skbuff in this
	case.  The patch is against your 2.6 kernel tree.


	[PATCH] USB speedtouch: bump the version number
	
	Hi Greg, this patch bumps the speedtouch driver's version number.
	It also adds the version number to the module description, so people
	can see it with modinfo.  I also added a MODULE_VERSION line (why?
	because it was there...)  The patch is against your 2.6 kernel tree.


	[PATCH] USB: more ftdi devices


	[PATCH] USB: Patch for Clie TH55 Support in visor kernel module
	
	I just want to explain the changes I've made, since I tried to adhere to the
	more organized structure in the 2.6 visor module to incorporate my changes.
	
	I didn't want to pollute this with some ugly hack.
	
	I created a new device id table with name clie_id_5_table to cleanly separate
	the UX50/TH55 from the rest.
	
	Along with this I added a new usb_serial_device_type which is essentially a
	copy of handspring_device but has its own attach function.
	
	This new attach function ( clie_5_attach ) will do the actual magic.
	
	I think it is justified to introduce a new type ( which I called clie_5 )
	since I suspect that Sony is intentionally changing the interface spec ( As
	it has done so in the past ). I dare to predict that we will see more clie
	devices coming this year which will require this new attachment procedure. At
	the moment I am only aware of the UX50 and TH55 to implement that weird
	configuration.


	[PATCH] isofs buffer overflow fix
	
	Merged in 2.4, and various vendor kernels..
	
	  iDefense reported a buffer overflow flaw in the ISO9660 filesystem code.
	  An attacker could create a malicious filesystem in such a way that they
	  could gain root privileges if that filesystem is mounted. The Common
	  Vulnerabilities and Exposures project (cve.mitre.org) has assigned the name
	  CAN-2004-0109 to this issue.
	
	Ernie Petrides came up with the following patch which I fixed up a slight
	reject in to apply to 2.6. Otherwise, unchanged from the 2.4 patch.


	[ARM PATCH] 1810/1: Support for non-PXA XScale UARTs
	
	Patch from Deepak Saxena
	
	Supersedes 1809/1


	[PATCH] ppc64 signal frame issue
	
	Fix a corruption bug, we were copying too much information back off
	the signal frame.
	
	While in the area help with gccs sign extension optimisation problems
	and convert some things to long. (Saves about 30 instructions in signal.c)


	[PATCH] large cpumask fix
	
	The RCU code was missing cpus_empty() in one place, required with large
	cpumasks.


	[PNPBIOS] parse asci text name
	
	This patch fixes the unknown tag warning by adding support for the asci text 
	tag.


	[PNP] minor resource management fixes
	
	This patch fixes a bug in pnp_auto_config_dev in which it wouldn't always report 
	allocation failures.  It also corrects the return codes.


	[PNP] sysfs entry "resource" fix
	
	This patch ensures the proper count is returned in pnp_set_current_resources.


	[PNPBIOS] blacklist asus P4P800
	
	The ASUS p4p800 motherboard's BIOS has a broken PnPBIOS implementation.  This 
	patch will disable PnPBIOS support if this hardware is detected by DMI.


	[PNPBIOS] avoid making potentially broken calls in proc.c
	
	This patch prevents /proc/bus/pnp/devices from requesting on-boot node
	information.  Dynamic information is used instead.


	[ISAPNP] MEM32 fix in read resources
	
	Corrects isapnp_read_resources so that it gets MEM32 information properly.


	[ARM] Fix __do_softirq breakage.


	[ARM] Use #defined constants for handle_mm_fault and __do_page_fault.


	[PATCH] I2C: Fix voltage rounding in asb100
	
	This one line patch fixes voltage rounding in the asb100 chip driver.
	It's very similar to a patch I submitted for the lm80 a few days ago.


	[PATCH] kbuild: fix modules_install
	
	The directory .tmp_versions/ was deleted during make vmlinux.
	
	This eliminated the list of modules used for moudles_install.
	The effect was that the following scenario failed:
	
		make
		make install
		make modules_install
	
	The solution is to only cleanup .tmp_versions when building modules.


	[PATCH] USB: fix CAN-2004-0075
	
	Okay, now while we are at fixing security holes, is there any chance we
	can _finally_ get the attached patch in?
	
	The Vicam USB driver in all Linux Kernels 2.6 mainline does not use the
	copy_from_user function when copying data from userspace to kernel space,
	which crosses security boundaries and allows local users to cause a denial
	of service.
	
	Already ACKed by Greg. Only complaint was inproper coding style which is done
	with attached patch ;)
	
	ciao, Marc


	[PATCH] yenta: interrupt routing for TI briges
	
	Some TI cardbus bridges found in notebooks and PCI add-on cards are
	uninitialized.  This means the interrupt mode and the interrupt routing
	is wrong in most cases, ending up in non working PCI interrupts.
	
	This makes the TI Yenta driver probe the PCI interrupt and adjust the
	interrupt setting if no interrupts are delivered.  It's done in a safe
	way, that doesn't hurt working setups.
	
	Function 1 on two slot devices is handled differently from function 0
	since both share the settings.


	Linux 2.6.6-rc1

 

 o tonnikala.net:

sarjis-logo

peilit:

o LDP
o Exim
o MySQL
o PHP

 

jutut:


Game on -näyttely

kuvan copyright Nokia
Nokia N-Gage -arvostelu

Hakkerietiikka
-kirja-arvostelu

© 2000-2005 tonnikala.net - luvaton kopiointi muuhun kuin omaan henkilökohtaiseen käyttöön ehdottomasti kielletty!
Uni on köyhä korvike kofeiinilletonnikalalle!