LWN.net Logo

2.6.6 long-format changelog


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

<stevef@linux.local>
	Can not mount from cifs vfs client built with gcc 3.3.1 due to compiler
optimization of unsafe global variable. Remove unsafe global variable.

<stevef@linux.local>
	Fix problem reconnecting additional mounts to the same server after
	session failure.

<stevef@stevef95.austin.ibm.com>
	Fix invalid dentry when race in mkdir between two clients

<stevef@linux.local>
	fix oops in send_sig on unmount of cifs vfs due to sending signal to
demultiplex thread after it has exited.  
	Do not treat invalid handle warning in response to oplock break (of file
that is now closed) as an error.

<stevef@linux.local>
	Fix EIO caused by network timeouts on changing file size.  
	To avoid spurious oplock breaks from server, in the case
	of inodes that we already have open, avoid doing path
	based setting of file size if we can do it by handle.
	This keeps our caching token (oplock) and avoids
	timeouts when the local oplock break takes longer to flush
	writebehind data than the SMB timeout for the SetPathInfo 
	request would allow

<stevef@stevef95.austin.ibm.com>
	fix to not retime out the same session twice since it can invalidate the
newly reestablished session unnecessarily

<stevef@smfhome.smfdom>
	Do not return buffer if request has already timed out.

<stevef@stevef95.austin.ibm.com>
	move bad smb session retry to correct location, up one level in cifs vfs code

<stevef@steveft21.austin.ibm.com>
	fix endian bug in lockingX and add retry on EAGAIN

<stevef@stevef95.austin.ibm.com>
	have to reconnect open files safely, one at a time, as needed

<stevef@stevef95.austin.ibm.com>
	finish off move from reopening all files on reconnection (which takes too
long under heavy stress) to reopen file as needed after reconnection to
server.

<stevef@stevef95.austin.ibm.com>
	correct retry on remaining handles based calls

<stevef@steveft21.austin.ibm.com>
	Fix compile error

<stevef@stevef95.austin.ibm.com>
	Missing soft vs. hard retry mount option

<stevef@stevef95.austin.ibm.com>
	Do not grab i_sem (already taken in filemap.c across commit write calls)
during reopen of invalidated file handle.

<stevef@linux-udp14619769uds.austin.ibm.com>
	Fix oops in mount error path when unload_nls called with bad pointer.

<stevef@stevef95.austin.ibm.com>
	Avoid smb data corruption under heavy stress

<stevef@stevef95.austin.ibm.com>
	missing message on timed out requests

<stevef@stevef95.austin.ibm.com>
	rcvtimeout set improperly for some cifs servers

<stevef@steveft21.ltcsamba>
	invalidate locally cached pages when server breaks oplock.  Do not loop
reconnecting for servers that drop tcp session rather than sending smb
negprot response

<stevef@steveft21.ltcsamba>
	Oops on reopen files when dentry already freed

<stevef@steveft21.ltcsamba>
	invalidate cached pages when last local instance closed so we do
	not use stale data while someone may be modifying the file on the
	server.

<stevef@steveft21.ltcsamba>
	fix double incrementing of transaction counter

<stevef@steveft21.ltcsamba>
	Fix check of filldir return code during readdir to avoid incomplete search
results displayed on very large directories. Fix cleanup of proc entries.
Add config parm to allow disabling negotiating Linux extensions 

<stevef@steveft21.ltcsamba>
	allow disabling cifs Linux extensions via proc

<stevef@steveft21.ltcsamba>
	Fix an incorrect mapping of open flags to cifs open disposition.  Fix
blocking byte range locks.  These fix breakages that were notice running lock
tests 1 and 7 of the connectathon posix file api tests

<stevef@steveft21.ltcsamba>
	set byte range locktimeouts properly

<stevef@steveft21.ltcsamba>
	fix cifs readme

<stevef@stevef95.austin.ibm.com>
	gracefully exit on failed mounts to win98 (which closes tcp session rather
than erroring on smb protocol negotiation)

<stevef@stevef95.austin.ibm.com>
	fix failed mounts to win98 part II

<stevef@stevef95.austin.ibm.com>
	Fix global kernel name space pollution

<romieu@fr.zoreil.com>
	[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.

<romieu@fr.zoreil.com>
	[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).

<romieu@fr.zoreil.com>
	[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.

<romieu@fr.zoreil.com>
	[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.

<romieu@fr.zoreil.com>
	[netdrvr r8169] Rx copybreak for small packets.
	- removal of rtl8169_unmap_rx() (unneeded as for now).

<romieu@fr.zoreil.com>
	[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).

<romieu@fr.zoreil.com>
	[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.

<romieu@fr.zoreil.com>
	[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.

<romieu@fr.zoreil.com>
	[netdrvr r8169] Merge of changes from Realtek:
	- register voodoo in rtl8169_hw_start().

<romieu@fr.zoreil.com>
	[netdrvr r8169] Driver forgot to update the transmitted bytes counter.
	Originally done in rtl8169_start_xmit() by Realtek.

<romieu@fr.zoreil.com>
	[netdrvr r8169] Modification of the interrupt mask (RealTek).

<romieu@fr.zoreil.com>
	[netdrvr r8169] Suspend/resume code (Fernando Alencar Marótica).

<romieu@fr.zoreil.com>
	[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.

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

<romieu@fr.zoreil.com>
	[netdrvr r8169] Stats fix (Fernando Alencar Marótica <famarost@unimep.br>).

<romieu@fr.zoreil.com>
	[PATCH] 2.6.1-rc1-mm1 - typo of death in the r8169 driver
	
	  silly bug in the r8169 driver.

<romieu@fr.zoreil.com>
	[netdrvr r8169] fix oops by removing __devinitdata marker

<romieu@fr.zoreil.com>
	[netdrvr r8169] fix rx counter masking bug

<romieu@fr.zoreil.com>
	[netdrvr r8169] fix phy initialization loop init

<stevef@smfhome.smfdom>
	Check return on failed dentry allocation.  Suggested by Randy Dunlap

<stevef@steveft21.ltcsamba>
	Allow null password string pointer and passwords longer than 16 bytes

<stevef@steveft21.ltcsamba>
	finish handling commas in passwords

<romieu@fr.zoreil.com>
	[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.

<stevef@steveft21.ltcsamba>
	finish off mount parm sep override

<stevef@stevef95.austin.ibm.com>
	Fix caching problem with multiply open files from different clients

<stevef@stevef95.austin.ibm.com>
	Relax requested CIFS permissions on open to simply request GENERIC_READ and
GENERIC_WRITE (instead of GENERIC_ALL which
	can unnecessarily conflict with share permissions by asking implicitly for
take ownership and other unneeded flags)

<stevef@stevef95.austin.ibm.com>
	fix remoting caching part 2

<stevef@stevef95.austin.ibm.com>
	remove spurious debug messages

<stevef@stevef95.austin.ibm.com>
	fix problem not connecting to server when port not specified explicitly and
port field unitialized

<stevef@stevef95.austin.ibm.com>
	reset searches properly when filldir fails

<stevef@steveft21.ltcsamba>
	ipv6 enablement for cifs vfs fixes

<stevef@smfhome.smfdom>
	Spurious white space and duplicated line cleanup

<aia21@cantab.net>
	NTFS: Set i_generation in VFS inode from seq_no in NTFS inode.

<aia21@cantab.net>
	NTFS: Make ntfs_lookup() NFS export safe, i.e. use d_splice_alias(), etc.

<aia21@cantab.net>
	NTFS: Make it compile...

<stevef@steveft21.ltcsamba>
	improve resume key resetting logic when filldir returns error and filename
is in unicode

<stevef@smfhome.smfdom>
	allow nosuid mounts

<aia21@cantab.net>
	NTFS: Release 2.1.7 - Enable NFS exporting of mounted NTFS volumes.
	- Implement ntfs_get_parent() and ntfs_get_dentry() as the NTFS specific
	  export operations ->get_parent() and ->get_dentry() respectively.

<aia21@cantab.net>
	NTFS: Add missing return -EOPNOTSUPP; in
fs/ntfs/aops.c::ntfs_commit_nonresident_write().

<stevef@stevef95.austin.ibm.com>
	fix problem with inode revalidation and cache page invalidation

<stevef@stevef95.austin.ibm.com>
	Fix the exec, suid, dev mount parms to not log warnings when specified

<romieu@fr.zoreil.com>
	[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.
	

<stevef@steveft21.ltcsamba>
	fix caching data integrity problem

<stevef@stevef95.austin.ibm.com>
	use safer i_size_write mechanism to update i_size

<aia21@cantab.net>
	NTFS: Fix off by one error in ntfs_get_parent().

<kberg@linux1394.org>
	[IEEE1394/OHCI]: Deal with some OHCI implementations that have an invalid
max_rec field.

<weihs@linux1394.org>
	IEEE1394/Lynx(r1182): Explicitly set LCtrl bit in phy register set.

<aia21@cantab.net>
	NTFS: Enforce no atime and no dir atime updates at mount/remount time
	as they are not implemented yet anyway.

<trini@kernel.crashing.org>
	PPC32: Add CONFIG_MPC10X_BRIDGE.
	From: Adrian Cox <adrian@humboldt.co.uk>.

<trini@kernel.crashing.org>
	PPC32: In some cases we need to make all pages _PAGE_COHERENT.
	Controll this via the cpu_table flags since it's a requirement
	in some CPU and host bridge combinations.
	From: Adrian Cox <adrian@humboldt.co.uk>

<andrew.vasquez@qlogic.com>
	[PATCH] PATCH [1/15] qla2xxx:  Update copyright banner
	
	Update copyright banner for all source files.

<andrew.vasquez@qlogic.com>
	[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.

<andrew.vasquez@qlogic.com>
	[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.

<andrew.vasquez@qlogic.com>
	[PATCH] PATCH [4/15] qla2xxx:  Endianess fix while reading stats
	
	Return firmware statistics retrieved from
	qla2x00_get_link_status() in host-endian form.

<andrew.vasquez@qlogic.com>
	[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.

<andrew.vasquez@qlogic.com>
	[PATCH] PATCH [6/15] qla2xxx:  Track error-state of SBRs
	
	Consistenly track the error-state of a failed SRB.

<andrew.vasquez@qlogic.com>
	[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.

<andrew.vasquez@qlogic.com>
	[PATCH] PATCH [8/15] qla2xxx:  Use proper HA references
	
	Fix issue where the driver would reference the incorrect HA
	during loop state check.

<andrew.vasquez@qlogic.com>
	[PATCH] PATCH [9/15] qla2xxx:  NVRAM id-list updates
	
	Resync with latest NVRAM subsystem ID list.

<andrew.vasquez@qlogic.com>
	[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.

<andrew.vasquez@qlogic.com>
	[PATCH] PATCH [11/15] qla2xxx: Add login-retry-count override
	
	Add a module parameter to override the NVRAM's login retry count
	value.

<andrew.vasquez@qlogic.com>
	[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.

<andrew.vasquez@qlogic.com>
	[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.

<jejb@mulgrave.(none)>
	PATCH [14/15] qla2xxx: 23xx/63xx firmware updates
	
	Andrew Vasquez <andrew.vasquez@qlogic.com>
	
	Resync with latest released firmware -- 3.02.26.

<andrew.vasquez@qlogic.com>
	[PATCH] PATCH [15/15] qla2xxx: Update driver version
	
	Update version number to 8.00.00b11-k (to indicate embedded driver).

<davej@redhat.com>
	[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

<James.Bottomley@steeleye.com>
	[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).

<markh@osdl.org>
	[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.

<patmans@us.ibm.com>
	[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.

<patmans@us.ibm.com>
	[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.

<jejb@mulgrave.(none)>
	SCSI: correct blacklist entry

<mchan@broadcom.com>
	[TG3]: Jumbo frames and FTQ reset patch.
	
	1. Set extended packet length bit in phy register 0x18 shadow register 0
	on all chips that support jumbo frames (i.e. all chips except 5705 and
	its variants). Jumbo frame reception is less reliable (more CRC errors)
	if this bit is not set. This bit can be set regardless of the current
	MTU setting.
	
	
	2. Remove FTQ reset during chip init. This is the best fix for the ASF
	race condition problem that I mentioned a few months ago. The FTQ reset
	is redundant as it is already reset during GRC reset.
	

<davem@nuts.davemloft.net>
	[TG3]: Just completely delete the disabled FTQ reset code.

<davej@redhat.com>
	[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.

<davej@redhat.com>
	[CPUFREQ] Use KERN_WARNING for warning.

<davej@redhat.com>
	[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.

<davej@redhat.com>
	[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.

<davej@redhat.com>
	[CPUFREQ] Export an array of available frequency settings of the centrino
driver.

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

<davej@redhat.com>
	[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

<davej@redhat.com>
	[CPUFREQ] Fix an off-by-10 value in the detection of the Pentium M processor
frequency.

<davej@redhat.com>
	[CPUFREQ] Extra __init section function for longrun driver.
	From Luiz Fernando Capitulino

<davej@redhat.com>
	[CPUFREQ] Extra __init section function for longhaul driver.
	From Luiz Fernando Capitulino

<greg@kroah.com>
	Driver Core: fix spaces instead of tabs problem in the Kconfig file.

<greg@kroah.com>
	add sysfs support for vc devices.

<greg@kroah.com>
	VC: fix bug in vty_init() where vcs_init() was not called early enough.
	
	It was being used before initialized, not nice :(

<khali@linux-fr.org>
	[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.

<aurelien@aurel32.net>
	[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.

<greg@kroah.com>
	Driver class: remove possible oops
	
	This happens when the device associated with a class device goes away before
	the class does.

<hannal@us.ibm.com>
	[PATCH] QIC-02 tape drive hookup to classes in sysfs
	
	Here is a patch to hook up the qic02 tape device to have class
	support in sysfs. I have verified it compiles. I do not have access to
	the hardware to test. Could someone who does please verify?
	
	 From the file:
	 * This is a driver for the Wangtek 5150 tape drive with
	 * a QIC-02 controller for ISA-PC type computers.
	 * Hopefully it will work with other QIC-02 tape drives as well.

<hannal@us.ibm.com>
	[PATCH] add class support to floppy tape driver zftape-init.c
	
	Here is a patch to add class support to zftape-init.c:
	
	MODULE_DESCRIPTION(ZFTAPE_VERSION " - "
	                   "VFS interface for the Linux floppy tape driver. "
	                   "Support for QIC-113 compatible volume table "
	                   "and builtin compression (lzrw3 algorithm)");
	
	I have verified it compiles but do not have the hardware to test it.

<akpm@osdl.org>
	[PATCH] Fix scsi_transport_spi.c for gcc-2.95.3
	
	Work around the gcc-2.95 token pasting bug.

<uwe.koziolek@gmx.net>
	[libata] Add driver for SiS 964/180 SATA.

<jgarzik@redhat.com>
	[libata sata_sis] minor cleanups

<James.Bottomley@steeleye.com>
	[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.

<kronos@kronoz.cjb.net>
	[PATCH] Sysfs for framebuffer
	
	the following patch (against 2.6.5-rc2) teaches fb to use class_simple.
	With this patch udev will automagically create device nodes for each
	framebuffer registered. Once all drivers are converted to
	framebuffer_{alloc,release} we can switch to our own class.
	
	This is what sysfs dir looks like:
	
	notebook:~# tree /sys/class/graphics/
	/sys/class/graphics/
	`-- fb0
	    `-- dev

<jgarzik@redhat.com>
	Remove mention of non-existent tulip.txt from Doc/netwrk/00-INDEX

<jgarzik@redhat.com>
	[BK] ignore build-generated files in scripts/basic/ and drivers/md/

<jgarzik@redhat.com>
	[MAINTAINERS] remove mention of defunct linux-via mailing list
	
	Noticed by Adrian Bunk.

<jgarzik@redhat.com>
	[libata] use new pci_dma_error() to check for pci_map_single() failure

<jgarzik@redhat.com>
	[libata] use kmap_atomic() rather than kmap()

<jgarzik@redhat.com>
	[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.

<jgarzik@redhat.com>
	[libata ata_piix] clean up combined mode handling

<jgarzik@redhat.com>
	[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.

<jgarzik@redhat.com>
	[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.

<jgarzik@redhat.com>
	[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.

<jgarzik@redhat.com>
	[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).

<jgarzik@redhat.com>
	[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.

<hannal@us.ibm.com>
	[PATCH] added class support to stallion.c
	
	Here is a patch to add class support to the Stallion multiport
	serial driver.

<hannal@us.ibm.com>
	[PATCH] added class support to istallion.c
	
	Here is a patch to add class support to the Stallion Intelligent multiport
	serial driver.

<khali@linux-fr.org>
	[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.

<khali@linux-fr.org>
	[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.

<mail@gude.info>
	[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

<mikal@stillhq.com>
	[PATCH] USB: kernel-doc comment tweak
	
	Correct kernel-doc comment with incorrect parameters documented

<david-b@pacbell.net>
	[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.

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

<jgarzik@redhat.com>
	[libata] pci_dma_error() was renamed to pci_dma_mapping_error()

<jgarzik@redhat.com>
	[libata] reduce diff with 2.4 libata backport

<jgarzik@redhat.com>
	[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().

<erik@rigtorp.com>
	[PATCH] USB: new cypress thermometer driver

<greg@kroah.com>
	[PATCH] USB: add cytherm driver to the build

<david-b@pacbell.net>
	[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.

<jgarzik@redhat.com>
	[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()

<stern@rowland.harvard.edu>
	[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.

<stern@rowland.harvard.edu>
	[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.

<david-b@pacbell.net>
	[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).

<david-b@pacbell.net>
	[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.

<stern@rowland.harvard.edu>
	[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
	> <linux-usb-devel@lists.sourceforge.net>
	>
	> 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.

<stern@rowland.harvard.edu>
	[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.

<mikal@stillhq.com>
	[PATCH] USB: kernel-doc comment tweak in vicam.c
	
	Correct kernel-doc comment with incorrect parameters documented

<stevef@stevef95.austin.ibm.com>
	fixes for fsx truncate/readahead/writebehind bug

<thoffman@arnor.net>
	[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.

<stern@rowland.harvard.edu>
	[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
<linux-usb-devel@lists.sourceforge.net>
	>
	> 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.

<oliver@neukum.org>
	[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.

<stern@rowland.harvard.edu>
	[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.

<stern@rowland.harvard.edu>
	[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.

<stern@rowland.harvard.edu>
	[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.

<stern@rowland.harvard.edu>
	[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.

<oliver@neukum.org>
	[PATCH] USB: fix error paths in kobil_sct
	
	some error codes are incorrect and there's an URB leak in an error path.

<arjanv@redhat.com>
	[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.

<davidm@tiger.hpl.hp.com>
	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.

<jgarzik@redhat.com>
	[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.

<jgarzik@redhat.com>
	[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.

<jgarzik@redhat.com>
	[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.

<jgarzik@redhat.com>
	[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.

<patrick.boettcher@desy.de>
	[PATCH] USB: fix bug in usb-skeleton.c

<oliver@neukum.org>
	[PATCH] USB: fix DMA to stack in ftdi driver
	
	this driver is doing DMA to the stack. Here's the obvious fix.

<oliver@neukum.org>
	[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

<oliver@neukum.org>
	[PATCH] USB: fix typo in previous patch
	
	I screwed up. This corrects it.

<oliver@neukum.org>
	[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

<mochel@digitalimplant.org>
	[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.

<arjanv@redhat.com>
	[PATCH] USB: fix race in whiteheat serial driver
	
	Patch below fixes an obvious race in the whiteheat usb serial driver...

<david-b@pacbell.net>
	[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.

<david-b@pacbell.net>
	[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.

<david-b@pacbell.net>
	[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.

<mroos@linux.ee>
	[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.

<greg@kroah.com>
	USB: mark pwc driver as broken, as it is.
	
	And the maintainer doesn't seem to want to fix it :(

<stern@rowland.harvard.edu>
	[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.

<info@gudeads.com>
	[PATCH] USB: more ftdi_sio ids

<greg@kroah.com>
	USB: ftdi_sio merge fixups.

<coreyed@linxtechnologies.com>
	[PATCH] USB: add ftdi_sio product ids

<greg@kroah.com>
	USB: fix compiler warning in whiteheat driver.

<khali@linux-fr.org>
	[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.

<khali@linux-fr.org>
	[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).

<romain@lievin.net>
	[PATCH] tipar char driver (divide by zero)
	
	A patch about the tipar.c char driver has been sent on lkml by Sebastien
	Bourdeau. It fixes a divide-by-zero error when we try to read/write data
	after setting the timeout to 0.

<dsaxena@plexity.net>
	[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.

<david-b@pacbell.net>
	[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

<stevef@stevef95.austin.ibm.com>
	clean up compiler warnings

<stern@rowland.harvard.edu>
	[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.

<trini@kernel.crashing.org>
	PPC32: Remove an unneeded include in arch/ppc/boot/

<trini@kernel.crashing.org>
	PPC32: Add more useful information to the oops output.

<trini@kernel.crashing.org>
	PPC32: Fix two typos in arch/ppc/boot/
	From: Arthur Othieno <a.othieno@bluewin.ch>

<jgarzik@redhat.com>
	[libata] more documentation
	
	libata-scsi.c should now be fully documented.

<greg@kroah.com>
	PCI: add ability to access pci extended config space for PCI Express devices
	
	Patch originally written by Intel, cleaned up and made sane by 
	Matthew Wilcox <willy@debian.org> and then tweaked a bit more by me.
	
	From Matt's original email:
	 - Add cfg_size to struct pci_dev.
	 - Use it in sysfs and procfs.
	 - Introduce pci_find_ext_capability() for finding extended capabilities.
	 - Change the PCI_X_STATUS defines to match the spec (mea culpa there).
	 - Add defines for the extended capabilities.

<dlsy@snoqualmie.dp.intel.com>
	[PATCH] PCI: Updates for PCI Express hot-plug driver

<willy@debian.org>
	[PATCH] PCI Hotplug: Don't up() twice in acpiphp
	
	On the error path, we currently try to up() a semaphore twice.
	There was also a typo in an error message.

<willy@debian.org>
	[PATCH] PCI Hotplug: Rewrite acpiphp detect_used_resource
	
	There are two unrelated problems in acpiphp that are fixed by this patch.
	First, acpiphp can be a module, so it is unsafe to probe the BARs of each
	device while it initialises -- the device may be active at the time.
	Second, it does not know about PCI-PCI bridge registers and so it reads
	garbage for the last 4 registers of the PCI-PCI bridge card and doesn't
	take into account the ranges that are forwarded by the bridge.
	
	This patch avoids all that by using the struct resources embedded in
	the pci_dev.  Note that we no longer need to recurse as all the devices
	on the other side of a PCI-PCI bridge have their resources entirely
	contained within the PCI-PCI bridge's ranges.

<jgarzik@redhat.com>
	[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

<jgarzik@redhat.com>
	[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.

<jgarzik@redhat.com>
	[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.

<jbarnes@sgi.com>
	[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.

<jbarnes@sgi.com>
	[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.

<akpm@osdl.org>
	[PATCH] stack reduction: aic7xxx_old
	
	From: Arjan van de Ven <arjanv@redhat.com>
	
	aic7xxx_old: constant array of PCI ID's can be static since it's read only

<mort@wildopensource.com>
	[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.

<mort@wildopensource.com>
	[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.

<jejb@mulgrave.(none)>
	MPT Fusion driver 3.01.03 update
	
	From: "Moore, Eric Dean" <Emoore@lsil.com>
	
	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.
	

<jejb@mulgrave.(none)>
	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. 

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

<davem@nuts.davemloft.net>
	[TG3]: Kill 'force' arg to tg3_phy_reset, it is always set.

<davem@nuts.davemloft.net>
	[TG3]: At start of tg3_phy_copper_begin, force phy out of loopback mode.

<davem@nuts.davemloft.net>
	[TG3]: Do not allow illegal ethtool advertisement bits.

<jgarzik@redhat.com>
	[libata] back out duplicated upstream fix
	
	We already fixed this bug locally, so fix up the automerge
	by removing the upstream change.

<laforge@netfilter.org>
	[NETFILTER]: Optimization of ip_conntrack_proto_tcp:tcp_packet()
	
	A: Pablo Neira
	D: This patch cleans up tcp_packet().  No semantical change, just juggling
	D: code pieces.

<laforge@netfilter.org>
	[NETFILTER]: Locking optimization in ip_conntrack_core
	
	A: Pablo Neira
	D: This patch puts tightens up a lock protected section in
	D: ip_ct_refresh()

<laforge@netfilter.org>
	[NETFILTER]: Cleanup conntrack helper API
	
	A: Pablo Neira
	D: This patch changes the conntrack helper API.  Rather than having the
	D: helper allocate an expect on the stack and then have the core
	D: kmalloc and memcpy, it is now the job of a helper to call 
	D: ip_conntrack_expect_alloc()

<laforge@netfilter.org>
	[NETFILTER]: Add nf_log handler, from Jozsef Kadlecsik.

<davem@nuts.davemloft.net>
	[NETFILTER]: Missed these files in nf_log commit.

<laforge@netfilter.org>
	[NETFILTER]: Add 'raw' table, from Jozsef Kadlecsik.

<david-b@pacbell.net>
	[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).

<david-b@pacbell.net>
	[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.

<david-b@pacbell.net>
	[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'.

<david-b@pacbell.net>
	[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.

<david-b@pacbell.net>
	[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.

<david-b@pacbell.net>
	[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.

<jgarzik@redhat.com>
	[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.

<akpm@osdl.org>
	[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

<pmarques@grupopie.com>
	[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.

<Andries.Brouwer@cwi.nl>
	[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..)

<davej@redhat.com>
	[PATCH] USB: kill off CONFIG_USB_BRLVGER detritus.
	
	This died a while ago, but lingers on in defconfigs.

<david-b@pacbell.net>
	[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.

<marcel@holtmann.org>
	[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.

<alessandro.zummo@towertech.it>
	[PATCH] USB: omninet patch
	
	  here's a small patch for omninet.c .

<khali@linux-fr.org>
	[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.

<khali@linux-fr.org>
	[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.

<khali@linux-fr.org>
	[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.

<khali@linux-fr.org>
	[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.

<khali@linux-fr.org>
	[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.

<jejb@mulgrave.(none)>
	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.

<davej@redhat.com>
	[PATCH] USB: w9968cf driver misplaced ;

<david-b@pacbell.net>
	[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.

<greg@kroah.com>
	Cset exclude: jgarzik@redhat.com|ChangeSet|20040323051558|61282

<rddunlap@osdl.org>
	[PATCH] PCI: add DMA_{64,32}BIT constants
	
	On Tue, 23 Mar 2004 00:23:05 -0500 Jeff Garzik <jgarzik@pobox.com> wrote:
	>>Yeah well...  in the intervening time, somebody on IRC commented
	>>
	>>"so what is so PCI-specific about those constants?"
	>>
	>>They probably ought to be DMA_{32,64}BIT_MASK or somesuch.
	
	Here's an updated patch, applies to 2.6.5-rc2-bk9.
	I left the DMA_xxBIT_MASK defines in linux/pci.h, although
	they aren't necessarily PCI-specific.  Would we prefer to
	have them in linux/dma-mapping.h ?

<jgarzik@redhat.com>
	[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).

<stern@rowland.harvard.edu>
	[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.

<stern@rowland.harvard.edu>
	[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.

<stern@rowland.harvard.edu>
	[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.

<stern@rowland.harvard.edu>
	[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.

<davem@nuts.davemloft.net>
	[TG3]: Add missing 5704 BX workaround, and fix typo in autoneg fix.

<david-b@pacbell.net>
	[PATCH] USB: RNDIS/Ethernet Gadget Driver .inf file

<david-b@pacbell.net>
	[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.

<davem@nuts.davemloft.net>
	[TG3]: Set GRC_MISC_CFG prescaler more safely.

<greg@kroah.com>
	USB: remove "released" field from struct usb_interface as it is not needed.

<davem@nuts.davemloft.net>
	[TG3]: Fix serdes cfg programming on 5704.

<davem@nuts.davemloft.net>
	[TG3]: When link is down, set stats coalescing ticks to zero.

<davem@nuts.davemloft.net>
	[TG3]: Wait a bit for BMSR/BMCR bits to settle in PHY setup.

<greg@kroah.com>
	USB: clean up usb_get_dev() as it was written quite horribly.

<greg@kroah.com>
	USB: add usb_get_intf() and usb_put_intf() functions as they will be needed.

<jejb@mulgrave.(none)>
	SCSI: Updates to non-sector size completion calculations
	
	From: Jens Axboe <axboe@suse.de>, Mike Christie <mikenc@us.ibm.com>

<rddunlap@osdl.org>
	[PATCH] PCI: move DMA_nnBIT_MASK to linux/dma-mapping.h

<johnrose@austin.ibm.com>
	[PATCH] PCI Hotplug: RPA PCI Hotplug - redundant free
	
	Please commit the following patch, which removes a redundant call to a
	cleanup function from an error path of the module init code.

<dsaxena@plexity.net>
	[PATCH] PCI: Allow arch-specific pci_set_dma_mask and friends
	
	The patch provides the ability for architectures to have custom
	implementations of pci_set_dma_mask() and friends (dac_set_dma_mask
	and set_consistent_dma_mask). The reason I need this is b/c I have
	a chipset (Intel ARM IXP425) that has a broken PCI interface that
	only allows PCI dma to/from the bottom 64MB of system memory.  To get
	around this limitation, I trap a custom dma-mapping implementation that
	bounces buffers outside the 64MB window. At device discover time, my
	custom platform_notify() function gets called and it sets the dma_mask
	to (64MB-1) and in ARM's dma-mapping code, I check for dma_mask != 0xffffffff
	and if that is true, I call the special bounce helpers. This works great
	except that certain drivers (e100, ide-pci) call pci_set_dma_mask()
	with 0xffffffff and the generic implementation only allows for the
	architecture-defined pci_dma_supported() to return true or false. There
	is no method for the architecture to tell the PCI layer "I can't set
	the mask to 0xffffffff, but I can set it to this other value" and there
	is no way to pass that back to the driver. What this means is that if
	I have pci_set_dma_supported() return failure on full 32-bit DMA, the
	driver will not initialize the card; however, if I return true,
	pci_set_dma_mask() will set the dma mask to full 32-bits and I can no
	longer trap and will have buffers that are not dma-able and cause
	PCI master aborts.  Both of those are not acceptable.  IMHO, the
	driver shouldn't care if the architecture has to bounce DMA outside of
	64MB and since this is not something most architectures have to worry
	about, the easiest way to get around the issue is by allowing custom
	pci_set_dma_mask() for arches that need it but keeping the generic
	implementation for those that do not.  In my case, it simply returns
	0 to the driver but keeps the device mask set to 64MB-1 so I can trap.

<lxiep@ltcfwd.linux.ibm.com>
	[PATCH] kobject_set_name() doesn't allocate enough space

<ahaas@airmail.net>
	[SPARC]: Add C99 initializers to Sparc frame buffer devices.

<rvinson@linuxbox.(none)>
	Renaming pplus_common.c to hawk_common.c to match gt64260_common.c, etc,
plus minor
	cleanups.

<shemminger@osdl.org>
	[NET]: Mark lock_sock and release_sock as FASTCALL.

<davej@redhat.com>
	[AGPGART] VIA GART driver can use the new generic AGPv3 masks.

<davej@redhat.com>
	[AGPGART] Efficeon GART driver can use generic masking routine.

<davej@redhat.com>
	[AGPGART] SiS 746 chipset also needs extra recovery time when changing mode.

<davej@redhat.com>
	[AGPGART] Fix SiS workaround printk. This happens on multiple chipsets.

<mludvig@suse.cz>
	[AF_KEY]: pfkey_send_new_mapping marks dest address incorrectly.

<davem@nuts.davemloft.net>
	[TG3]: Verify link advertisement correctly on 10/100 only chips.

<jbarnes@sgi.com>
	[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

<jbarnes@sgi.com>
	[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.

<pfg@sgi.com>
	[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.

<dlstevens@us.ibm.com>
	[IPV4]: Fix IGMP version number and timer printing for procfs.

<davej@redhat.com>
	[CPUFREQ] Various updates/fixes to the powernow-k8 comment header.

<shemminger@osdl.org>
	[BRIDGE]: Allow non-root to inspect the status of a bridge.

<davem@nuts.davemloft.net>
	[TG3]: All 5705 chips need PHY reset on link-down.

<shemminger@osdl.org>
	[BRIDGE]: Lift ioctl limits on number of bridges/ports.
	
	Get rid of some arbitrary API restrictions that limit the kernel
	to 64 bridges and 256 ports.
	
	Retain compatibility in GET_PORT_LIST, the existing bridge API
	passes 0 for the third argument, and expects 256 entries.
	
	Note: there still is limit of 256 ports due to STP, but this
	shouldn't show up in the API, it needs to be handled by the
	'add port to bridge ioctl'.

<shemminger@osdl.org>
	[BRIDGE]: Correctly handle up to 256 ports per bridge.
	
	Bridge code is limited to 256 ports per bridge because the Spanning
	Tree Protocol has limit of one octet for port number.  This code
	fixes:
		* bogus unlock in error path when port list is full.
		* passes different error status for out of memory, vs
		  port list full.
		* O(n) vs O(n^2) lookup for free port number
		* since port and priority are both limited to one byte
		  don't store them as int's
		* makes limit explicit in code

<davem@nuts.davemloft.net>
	[TG3]: More PHY programming fixes.
	
	- Break out advertisement register verification into
	  a function, tg3_copper_is_advertising_all.
	- At device probe time, reset PHY if not Serdes
	  and ASF is not enabled.
	- Add some missing necessary PHY init to PHY probe
	  code as well.

<davem@nuts.davemloft.net>
	[TG3]: Bump driver version and reldate.

<davej@redhat.com>
	[CPUFREQ] fix compilation of speedstep-lib with DEBUG set

<davej@redhat.com>
	[CPUFREQ] powernow-k8 whitespace changes.
	Trying to get the diffsize down between me & Pavel.

<stevef@stevef95.austin.ibm.com>
	Add missing description about how to specify credentials file

<davej@redhat.com>
	[AGPGART] Actually Call the SiS workaround on SiS 746 too.

<jbarnes@sgi.com>
	[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.

<davej@redhat.com>
	[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.

<davej@redhat.com>
	[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.

<davej@redhat.com>
	[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.

<david-b@pacbell.net>
	[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.

<david-b@pacbell.net>
	[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.

<mochel@digitalimplant.org>
	[PATCH] I2C: Add ALi 1563 Device ID to pci_ids.h

<mochel@digitalimplant.org>
	[PATCH] I2C: Add support for the ALi 1563 in the PCI IRQ routing code.

<mochel@digitalimplant.org>
	[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.

<mochel@digitalimplant.org>
	[PATCH] I2C: Fix check for DEBUG in i2c-ali1563

<david-b@pacbell.net>
	[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.

<stevef@stevef95.austin.ibm.com>
	Invalidate readahead data properly when file closed, but other client
changed it on server

<rvinson@linuxbox.(none)>
	Updating mcpn765 for 2.6

<James.Bottomley@steeleye.com>
	[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().

<wesolows@foobazco.org>
	[SPARC32]: Fix wraparound bug in bitmap allocator

<davem@nuts.davemloft.net>
	[TG3]: Print list of important probed capabilities at driver load.

<davem@nuts.davemloft.net>
	[TG3]: Two PHY fixes.
	
	- Do not probe PHY ID register if ASF firmware is running.
	- Fix two errors in PCI subsys to PHY ID table.

<davem@nuts.davemloft.net>
	[TG3]: Kill uninitialized var warning.

<davem@nuts.davemloft.net>
	[TG3]: Reset fixes.
	
	- Put more code into common area in tg3_chip_reset()
	- Set GRC_MODE, even sanes host-stackup bit, after enabling
	  memory arbiter.
	- After every core-clock reset, reprobe ASF enabling state.

<davem@nuts.davemloft.net>
	[TG3]: Update driver version and release date.

<mashirle@us.ibm.com>
	[IPV6]: Add MIBs counters in MLD.

<ebrower@usa.net>
	[SPARC]: Add sysctl to control serial console power-off restrictions.

<davem@nuts.davemloft.net>
	[SPARC64]: hugetlbpage.c needs module.h

<tony@com.rmk.(none)>
	[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.

<tony@com.rmk.(none)>
	[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.

<tony@com.rmk.(none)>
	[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.

<garloff@suse.de>
	[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.

<jejb@mulgrave.(none)>
	Fix scsi_device_get to allow NULL devices
	
	Modification of patch from SLES-9

<willy@debian.org>
	[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)

<nico@org.rmk.(none)>
	[ARM PATCH] 1782/1: discontigmem support for PXA chips
	
	Patch from Nicolas Pitre
	

<nico@org.rmk.(none)>
	[ARM PATCH] 1783/1: more PXA reg definitions
	
	Patch from Nicolas Pitre
	

<marcel@holtmann.org>
	[Bluetooth] Remove architecture specific compat ioctl's
	
	The compat ioctl definitions are now maintained in a single place, so
	it is no longer needed to keep the architecture specific defines. This
	patch removes the leftover Bluetooth parts from x86_64 and sparc64.

<marcel@holtmann.org>
	[Bluetooth] Fix broken HCI security filter
	
	The HCI security filter is broken on 64-bit architectures and this patch
	restores the version from 2.4, which is working perfect on 32-bit and
	64-bit machines.

<marcel@holtmann.org>
	[Bluetooth] Allocate hdev before device configuration
	
	The hdev structure must be allocated before the device is configured and
	before any interrupt is started.

<marcel@holtmann.org>
	[Bluetooth] Add UART protocol id's for 3-Wire and H4DS
	
	This patch adds the id's for the 3-Wire and H4DS UART transport protocols.

<ben-linux@org.rmk.(none)>
	[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.

<ben-linux@org.rmk.(none)>
	[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

<ben-linux@org.rmk.(none)>
	[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

<ben-linux@org.rmk.(none)>
	[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

<rmk@flint.arm.linux.org.uk>
	[ARM] Clean up formatting of s3c2410 help texts.

<davej@redhat.com>
	[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).

<rmk@flint.arm.linux.org.uk>
	[ARM] Fix silent build error caused by undefined symbol.
	
	Current binutils silently ignores certain undefined symbols; this
	cset fixes one such instance.

<davej@redhat.com>
	[AGPGART] Previous AGPv3 SiS fixes broke AGPv2 users. Oops.

<schwab@suse.de>
	[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.

<schwab@suse.de>
	[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.

<rmk@flint.arm.linux.org.uk>
	[ARM] Add ecard_(request|release)_resources().

<petri.koistinen@fi.rmk.(none)>
	[PATCH] update Compaq Personal Server URL
	
	Patch from Petri T. Koistinen
	
	Update of Compaq Personal Server URL.

<alex.williamson@hp.com>
	[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.

<hugh@com.rmk.(none)>
	[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.

<mashirle@us.ibm.com>
	[IPV6]: Provide ipv6 multicast/anycast addresses through netlink.

<manfred@colorfullife.com>
	[NETLINK]: Split up netlink_unicast.

<davej@redhat.com>
	[CPUFREQ] Fix up docbook parameters on x86 drivers.
	From Michael Still <mikal@stillhq.com>

<davej@redhat.com>
	[CPUFREQ] Grammar fix in p4-clockmod.c
	Noted by Viktor Radnai.

<davej@redhat.com>
	[CPUFREQ] Remove useless goto.
	(Pavel Machek)

<davej@redhat.com>
	[CPUFREQ] Indentation fix.

<rddunlap@osdl.org>
	[NET]: Update networking config menu (v3)
	
	Networking support/options and Networking drivers have been, uhm,
	messy to navigate for some time now.   BenH mentioned this
	and I was already looking into options to clean it up.
	
	This is a cleanup of Networking support/options and Networking Drivers.
	It presents a more consistent interface and lists similar driver
	groups and protocol groups closer together.
	It also moves the IBMVETH driver so that it no longer breaks the
	dependency tree, allowing other drivers (nearby in Kconfig file)
	to be presented in a more linear manner.

<rvinson@linuxbox.(none)>
	Merge bk://linux.bkbits.net/linux-2.5
	into linuxbox.(none):/src/linux/ppc/linux-2.5/linux

<stevef@steveft21.ltcsamba>
	Send NTCreateX with ATTR_POSIX if Linux/Unix extensions negotiated
	with server.  This allows files that differ only in case and 
	improves performance of file creation and file open to such servers

<sri@us.ibm.com>
	[SCTP] Fix typo in entry name of the remove_proc_entry() call.

<davej@redhat.com>
	[CPUFREQ] Kill off inlines in powernow-k8 driver.
	Gcc should be smart enough to do this itself.

<davej@redhat.com>
	[CPUFREQ] make powernow-k8 use batps from powernow data struct instead of
static struct.

<davej@redhat.com>
	[CPUFREQ] Merge a bunch of extra powernow-k8 helpers.

<davej@redhat.com>
	[CPUFREQ] Serialise fid/vid changes in powernow-k8 driver.

<davej@redhat.com>
	[CPUFREQ] SMP fixes for powernow-k8's check_supported_cpu()

<davej@redhat.com>
	[CPUFREQ] printk cleanup in powernow-k8's check_pst_table()

<davej@redhat.com>
	[CPUFREQ] Add missing MSR define to fix the powernow-k8 compile.

<bcollins@debian.org>
	[IEEE-1394] Sync IEEE-1394 to r1203

<davej@redhat.com>
	[CPUFREQ] powernow-k8 header cleanups
	remove unused defines, introduce some new ones, and generally cleanup.

<davej@redhat.com>
	[CPUFREQ] fill out the powernow_k8_data table.

<davej@redhat.com>
	[CPUFREQ] Use the new fill_powernow_table() to fill struct instead of doing
it inline.

<brazilnut@us.ibm.com>
	[PATCH] pcnet32.c add support for 79C976
	
	Please include this patch to add support for the 79C976 device to the
	pcnet32 driver.

<brazilnut@us.ibm.com>
	[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.

<brazilnut@us.ibm.com>
	[PATCH] pcnet32 correct name display
	
	This displays the device name (eth%d) instead of the device type
	when registering the interrupt handler.

<brazilnut@us.ibm.com>
	[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.

<davej@redhat.com>
	[CPUFREQ] More SMP/preempt fixes, this time powernowk8_target()
	Also some changes to use some helpers.

<jgarzik@redhat.com>
	Remove unused compatibility-defines include wan/lmc/lmc_ver.h.
	
	Noticed by Adrian Bunk.

<davej@redhat.com>
	[CPUFREQ] Change powernow-k8 over to use its new KHz frequency helpers

<davej@redhat.com>
	[CPUFREQ] Extra debugging foo.

<davej@redhat.com>
	[CPUFREQ] Stuck pending bit is now checked in the init routine.

<rddunlap@osdl.org>
	[PATCH] dgrs: add missing iounmaps
	
	[resend]
	
	
	Insert missing iounmap's.
	
	From: Leana Ogasawara <ogasawara@osdl.org>

<rddunlap@osdl.org>
	[PATCH] lmc header file not needed
	
	From: Domen Puncer <domen@coderock.org>

<davej@redhat.com>
	[CPUFREQ] numerous powernow-k8 cpu_init() fixes/cleanups.

<romieu@fr.zoreil.com>
	[netdrvr r8169] DMA api resync.

<romieu@fr.zoreil.com>
	[netdrvr r8169] ethtool driver info
	
	Author: Krishnakumar R. <krishnakumar@naturesoft.net>

<romieu@fr.zoreil.com>
	[netdrvr r8169] Barrier against compiler optimization.

<romieu@fr.zoreil.com>
	[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.

<romieu@fr.zoreil.com>
	[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).

<rddunlap@osdl.org>
	[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;

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

<pavel@ucw.cz>
	[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.

<davej@redhat.com>
	[CPUFREQ] Bump powernow-k8 revision.

<davej@redhat.com>
	[CPUFREQ] As we're using ACPI in powernow-k8 now, we need ACPI to initialise
first.

<davej@redhat.com>
	[CPUFREQ] Fix %x printk's in powernow-k8.
	These are hex values. Prefix them all with 0x

<jgarzik@redhat.com>
	[netdrvr] Add S2IO 10gige network driver.
	
	Contributed by Leonid Grossman @ S2IO

<jgarzik@redhat.com>
	[netdrvr s2io] correct an incorrect cleanup I made

<muizelaar@rogers.com>
	[PATCH] tc35815 cleanup

<daniel.ritz@gmx.ch>
	[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

<jgarzik@redhat.com>
	[net/fc iph5526] s/rx_dropped/tx_dropped/ in TX routines
	
	Spotted by Denis Valesko(sp?).
	
	Maybe one day we'll either kill this driver, or someone will fix it
	up for the current SCSI API.

<jgarzik@redhat.com>
	[netdrvr 8139cp] rearrange priv struct, add cacheline-align markers
	
	suggested by Jes Sorensen.

<jgarzik@redhat.com>
	[netdrvr s2io] NAPI build fixes

<jgarzik@redhat.com>
	[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.

<jgarzik@redhat.com>
	[NET] define HAVE_NETDEV_PRIV back-compat hook

<jgarzik@redhat.com>
	[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

<jgarzik@redhat.com>
	[netdrvr 8139cp] use netdev_priv()

<jgarzik@redhat.com>
	[netdrvr 8139cp] complete 64-bit DMA (PCI DAC) support

<jgarzik@redhat.com>
	[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

<jgarzik@redhat.com>
	[netdrvr natsemi] correct DP83816 IntrHoldoff register offset
	
	Spotted by Manfred Spraul.

<scott.feldman@intel.com>
	[PATCH] Update MAINTAINERS with new e100/e1000/ixgb maintainers
	
	Jeff, Adding John/Ganesh/Ayyappan for e100/e100/ixgb in 2.6.  Keeping
	myself on for e100 for a couple more 2.6.x releases.
	
	-scott

<akpm@osdl.org>
	[PATCH] com20020-isa.c warning fix
	
	From: "Luiz Fernando N. Capitulino" <lcapitulino@prefeitura.sp.gov.br>
	
	drivers/net/arcnet/com20020-isa.c:188: warning: unused variable `dev'
	drivers/net/arcnet/com20020-isa.c:189: warning: unused variable `lp'

<akpm@osdl.org>
	[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

<sri@us.ibm.com>
	[SCTP] Update sctp_ulpevent structure to include assoc pointer and
	only the receive specific fields of sctp_sndrcvinfo.

<sri@us.ibm.com>
	[SCTP] Use id to ptr translation service in lib/idr.c to assign and
	validate ids of associations.
	
	This patch avoids the use of virt_addr_valid() to validate the address
	of associations passed by the user. Currently the address of an
	association is used as its id. virt_addr_valid doesn't work as
	expected when PAGEALLOC debugging is enabled.

<davej@redhat.com>
	[CPUFREQ] Stop preempt count from going negative.
	Broken failure path spotted by Dominik Brodowski.

<marcel@holtmann.org>
	[Bluetooth] Allocate the BCM203x URB buffer seperately
	
	The buffer shares cachelines with other fields of the structure. On
	architectures which require synchronisation before or after doing DMA
	to or from a buffer, any access to such fields sharing cachelines can
	corrupt the content of the buffer. The allocation primitives guarantee
	that cachelines are not shared.
	
	Noticed by Oliver Neukum <oliver@neukum.org>

<khawar.chaudhry@amd.com>
	Update amd8111 net driver.
	
	version 3.04 for 2.4 kernel:
	+	 1. Added set_mac_address routine for bonding driver support.
	+	 2. Tested the driver for bonding support
	+	 3. Bug fix: Fixed mismach in actual receive buffer lenth and lenth 
	+	    indicated to the h/w.
	+	 4. Modified amd8111e_rx() routine to receive all the received packets 
	+	    in the first interrupt.
	+	 5. Bug fix: Corrected  rx_errors  reported in get_stats() function.  
	
	version 3.05 for 2.6 kernel:
	+	 1. Added NAPI support 
	

<jejb@mulgrave.(none)>
	Fix SCSI cdrom disconnection race
	
	This fixes 
	
	http://bugme.osdl.org/show_bug.cgi?id=2400

<davej@redhat.com>
	[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.

<davej@redhat.com>
	[AGPGART] Whitespace cleanup in sis-agp
	use spaces instead of (borked) tabs.

<stevef@steveft21.ltcsamba>
	Fix 20 second hang on some deletes of reopened file due to semaphore
conflict with vfs_delete on i_sem

<jejb@mulgrave.(none)>
	Add missing header changes from SCSI cdrom disconnection fix

<trini@kernel.crashing.org>
	PPC32: Change all #if FOO to #ifdef FOO

<trini@kernel.crashing.org>
	PPC32: Two minor Carolina PReP fixes.
	From Hollis Blanchard <hollisb@us.ibm.com>.

<dlsy@snoqualmie.dp.intel.com>
	[PATCH] PCI Hotplug: Fix interpretation of 0/1 for MRL in SHPC & PCI-E
hot-plug
	
	This patch contains fixes for interpretation of 0/1 for MRL
	to match pcihpview, bus speed definition in shpchp_hpc.c etc.

<david-b@pacbell.net>
	[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.

<david-b@pacbell.net>
	[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.)

<rml@ximian.com>
	[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.

<greg@kroah.com>
	[PATCH] USB: fix up previous sysfs patch to actually compile...

<davej@redhat.com>
	[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.

<davej@redhat.com>
	[CPUFREQ] Don't bother checking if we need workarounds if we don't support
powernow.

<khali@linux-fr.org>
	[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).

<ben-linux@org.rmk.(none)>
	[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.

<trini@kernel.crashing.org>
	PPC32: Assign an interrupt for the VME chip on PReP MVME* boards.
	From Lutz Rossa <lrossa@web.de>.

<elf@com.rmk.(none)>
	[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.
	

<rmk@flint.arm.linux.org.uk>
	[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.

<shemminger@osdl.org>
	[NET]: Use const args in eth_copy_and_sum and is_valid_ether_addr.

<James.Bottomley@steeleye.com>
	[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.

<mochel@digitalimplant.org>
	[PATCH] I2C: class fixup for the ali1563 driver

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

<greg@kroah.com>
	USB: fix pl2303 handling of status bits.
	
	Patch originally from Kevin Watkins <kw@cmu.edu>

<greg@kroah.com>
	USB: fix empty write issue in pl2303 driver.
	
	Patch originally from Christian Groessler <cpg@aladdin.de> but cleaned up
	by me.

<hannal@us.ibm.com>
	[PATCH] add class support to dsp56k.c
	
	Here is a patch that adds sysfs class support to /drivers/char/dsp56k.c

<rmk@flint.arm.linux.org.uk>
	[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.

<hannal@us.ibm.com>
	[PATCH] Add sysfs class support to fs/coda/psdev.c
	
	Here is a patch to add class support to psdev.c.
	
	I have verified it compiles and works.

<marcel@holtmann.org>
	[Bluetooth] Fix URB unlink race in the USB drivers
	
	The code in hci_usb_unlink_urbs() calls usb_unlink_urb() to perform a
	synchronous unlink of each pending URB. It then moves each URB to the
	completed list, and then frees everything on the completed list. By doing
	this, the code implicitly assumes that when usb_unlink_urb() returns the
	URB will have completed and be ready to be deallocated. That's not always
	true. The same applies to the BlueFRITZ! USB driver.
	
	Patch from Alan Stern <stern@rowland.harvard.edu>

<marcel@holtmann.org>
	[Bluetooth] Make use of request_firmware() for the 3Com driver
	
	The 3Com Bluetooth PCMCIA cards need a firmware download every time they
	are inserted. With request_firmware() the file BT3CPCC.bin is now loaded
	directly from the userspace and the external firmware loader program is
	no longer needed.

<marcel@holtmann.org>
	[Bluetooth] Improve NULL pointer handling
	
	This small patch adds more checks for NULL pointers.

<marcel@holtmann.org>
	[Bluetooth] Add support for Anycom CF-300
	
	The Anycom CF-300 compact flash card contains a new Bluetooth chip and
	thus it needs some special handling for the faster UART baud rate. This
	patch detects this new card and does the different initialization.

<petri.koistinen@iki.fi>
	[PATCH] ia64: put URLs in documentation files inside angle-brackets
	
	Patch by Petri T. Koistinen.

<bjorn.helgaas@hp.com>
	[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().

<bjorn.helgaas@hp.com>
	[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.

<eranian@hpl.hp.com>
	[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().

<davidm@tiger.hpl.hp.com>
	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.

<bcollins@debian.org>
	[SBP2]: Fix compile for older gcc's

<bcollins@debian.org>
	[Kconfig]: eth1394 requires INET

<bcollins@debian.org>
	[SBP2]: Sync revision

<marcel@holtmann.org>
	[Bluetooth] Allow normal users to release the previous created TTY
	
	In the case the RFCOMM device node can't be found, the user must be able to
	release the previous created TTY.

<marcel@holtmann.org>
	[Bluetooth] Fix race in RX complete routine of the USB drivers
	
	The test of the HCI_RUNNING flags bit in the RX complete routine should
	be made while holding the completion lock. Otherwise there can be a race
	on SMP systems in which RX complete finds the bit is set and on another
	processor the close routine clears the bit, grabs and releases the lock
	and then unlinks all the active URB's. Then the first processor acquires
	the lock and resubmits the URB.
	
	Patch from Alan Stern <stern@rowland.harvard.edu>

<rvinson@linuxbox.(none)>
	Updating Force PCore to 2.6

<stern@rowland.harvard.edu>
	[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.

<marcel@holtmann.org>
	[PATCH] Add sysfs class support for CAPI
	
	here is a patch that adds class support to the ISDN CAPI module. Without
	it udev won't create the /dev/capi20 device node.

<hannal@us.ibm.com>
	[PATCH] fix sysfs class support to fs/coda/psdev.c
	
	--On Friday, April 09, 2004 12:02:19 AM +0200 Marcel Holtmann
<marcel@holtmann.org> wrote:
	>> +static struct class_simple coda_psdev_class;
	>
	> I think coda_psdev_class must be a pointer.
	>
	> Regards
	>
	> Marcel
	
	
	Doh! I tested on one system and fixed this there. Then accidentally mailed
out the
	original. Sorry about that. Here is a patch to fix it:

<hannal@us.ibm.com>
	[PATCH] Fix for patch to add class support to stallion.c
	
	Oops. Realized I had a / in the file name in this patch too.
	
	Please apply to correct it:

<hannal@us.ibm.com>
	[PATCH] Fix class support to istallion.c
	
	Realized I put a / in the filename of this device too.
	
	Here is the fix:

<khali@linux-fr.org>
	[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.

<aurelien@aurel32.net>
	[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.

<greg@kroah.com>
	[PATCH] I2C: minor bugfixes for the pcf8591.c driver and formatting cleanups.

<greg@kroah.com>
	[PATCH] I2C: clean up out of order bus Makefile and Kconfig entries.

<jgarzik@redhat.com>
	[netdrvr tulip] remove ChangeLog file
	
	It was out of date.  BitKeeper logs are more recent and more accurate.

<tmattox@engr.uky.edu>
	[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

<rmk@flint.arm.linux.org.uk>
	[SERIAL] Unuse old SERIAL_IO_xxx macros.
	
	8250.c should be using the replacement UPIO_xxx macros instead.

<rmk@flint.arm.linux.org.uk>
	[SERIAL] Remove some dead declarations.

<rmk@flint.arm.linux.org.uk>
	[SERIAL] Correct minor debugging format string error.

<rmk@flint.arm.linux.org.uk>
	[SERIAL] Don't try to free resources we didn't request.

<rmk@flint.arm.linux.org.uk>
	[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.

<rmk@flint.arm.linux.org.uk>
	[SERIAL] Pass sa11x0 struct device through to tty_register_device.

<rmk@flint.arm.linux.org.uk>
	[SERIAL] Remove UPF_HUP_NOTIFY; this is no longer used.

<davem@nuts.davemloft.net>
	[IPV6]: In ndisc_netdev_event, handle NETDEV_DOWN.
	
	Based upon patches and commentary from Thomas Spatzier,
	Stephen Hemminger, and Andi Kleen.

<agruen@suse.de>
	[IPSEC]: Support draft-ietf-ipsec-udp-encaps-00/01, some ipec impls need it.

<davem@nuts.davemloft.net>
	[ISDN]: Add missing IPPP_FILTER entry to Kconfig.

<kkeil@suse.de>
	[ISDN]: Fix kernel PPP/IPPP active/passiv filter code.

<mashirle@us.ibm.com>
	[IPV6]: Add missing MIB counter increments.

<weeve@gentoo.org>
	[SOUND]: Proper deps for SND_BIT32_EMUL.

<weeve@gentoo.org>
	[SOUND]: Add amd7930 to sndmagic.h

<rddunlap@osdl.org>
	[NET]: Kill __FUNCTION__ string literal concatenation.
	
	From Tony Breeds <tony@bakeyournoodle.com>

<laforge@netfilter.org>
	[NETFILTER]: Add more debug info to TFTP helper.
	
	From Vineet Mehta <extreme@zayanionline.com>

<chas@cmf.nrl.navy.mil>
	[ATM]: get atm_guess_pdu2truesize() right

<chas@cmf.nrl.navy.mil>
	[ATM]: [nicstar] using dev_alloc_skb() (reported by Johnston,

<jt@bougret.hpl.hp.com>
	[IRDA]: Move IRDA device headers to more appropriate place.

<yoshfuji@linux-ipv6.org>
	[IPV6]: Mark MLDv2 report as known.
	
	Mark MLDv2 Report as known ICMPv6 type.
	(We just ignore MLDv2 Reports on hosts as the spec says.)

<shemminger@osdl.org>
	[NET]: Add random_ether_addr to ether_device.h

<shemminger@osdl.org>
	[NET]: Use random address in dummy driver.

<shemminger@osdl.org>
	[NET]: Use random address in usb gadget driver.

<shemminger@osdl.org>
	[NET]: Use random address in usbnet driver.

<akpm@osdl.org>
	[SCTP]: Fix printk warnings.

<akpm@osdl.org>
	[ATM]: Fix printk warnings in ambassador driver.

<akpm@osdl.org>
	[IRDA]: Fix warnings in sir_dev.c

<akpm@osdl.org>
	[IRDA]: Fix 32-bit pointer bug in donauboe.c

<akpm@osdl.org>
	[NET]: Fix printk warnings in wireless/strip.c

<akpm@osdl.org>
	[NET]: Fix printk warnings in strip driver.

<bjorn.helgaas@com.rmk.(none)>
	[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.

<rmk@flint.arm.linux.org.uk>
	[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.

<jejb@mulgrave.(none)>
	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.

<jejb@mulgrave.(none)>
	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.

<rmk@flint.arm.linux.org.uk>
	[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.

<rmk@flint.arm.linux.org.uk>
	[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.

<rmk@flint.arm.linux.org.uk>
	[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.

<rmk@flint.arm.linux.org.uk>
	[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.

<akpm@osdl.org>
	[NET]: Fix memset args in sk_mca, noticed by Jean Delvare
<khali@linux-fr.org>

<rmk@flint.arm.linux.org.uk>
	[ARM] Drop -traditional from assembler command line in decompressor.

<rmk@flint.arm.linux.org.uk>
	[PCMCIA] Re-export pci_bus_alloc_resource() from PCI code.
	
	Since PCMCIA now uses this, re-export it.

<rmk@flint.arm.linux.org.uk>
	[PCMCIA] Fix warning about truncated integer.

<rmk@flint.arm.linux.org.uk>
	[ARM] Fix spacing in arch/arm/boot/Makefile and arch/arm/mm/Kconfig.

<trond.myklebust@fys.uio.no>
	NFSv2/v3/v4: Prepare the nfs_page struct to allow for short reads.

<rmk@flint.arm.linux.org.uk>
	[SERIAL] Add support for TI16C750 hardware flow control.

<trond.myklebust@fys.uio.no>
	NFSv2/v3/v4: Add support for asynchronous reads even if
rsize<PAGE_CACHE_SIZE.

<trond.myklebust@fys.uio.no>
	NFSv2/v3/v4: Add support for asynchronous writes even if
wsize<PAGE_CACHE_SIZE.

<trond.myklebust@fys.uio.no>
	NFSv2/v3/v4: When pdflush() is trying to free up memory by calling our
	  writepages() method, throttle all writes to that mountpoint.

<trond.myklebust@fys.uio.no>
	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.

<trond.myklebust@fys.uio.no>
	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.

<trond.myklebust@fys.uio.no>
	RPC: Close some potential scheduler races in rpciod.

<trond.myklebust@fys.uio.no>
	NFSv2/v3/v4: Deal with the case where the server reads/writes fewer
	bytes than we requested due to resource limitations etc.

<trond.myklebust@fys.uio.no>
	RPCSEC_GSS: Fix integrity checksum bugs. Need to take into account the
	starting offset when calculating the page length.

<trond.myklebust@fys.uio.no>
	NFSv2/v3/v4: Fix a slowdown of O_SYNC and O_DIRECT writes that resulted
	from over-aggressive attribute cache revalidation.

<trond.myklebust@fys.uio.no>
	NFSROOT: clean up the parser routines (patch by Fabian Frederic)

<trond.myklebust@fys.uio.no>
	RPCSEC_GSS: Fix RPC padding in two instances of RPCSEC_GSS code.
	RPC: Clean up XDR encoding of opaque data.

<trond.myklebust@fys.uio.no>
	NFSv4: attribute bitmap values need to be unsigned long integers.

<trond.myklebust@fys.uio.no>
	NFSv4: use the (more efficient) NFSv2/v3-like XDR scheme for generating
	ACCESS RPC calls.

<trond.myklebust@fys.uio.no>
	NFSv4: use the (more efficient) NFSv2/v3-like XDR scheme for generating
	GETATTR RPC calls.

<trond.myklebust@fys.uio.no>
	NFSv4: Remove unnecessary post-op attributes from read/write/... calls. The
	new attribute revalidation scheme doesn't rely on them.

<trond.myklebust@fys.uio.no>
	NFSv4: use the (more efficient) NFSv2/v3-like XDR scheme for generating
	LOOKUP RPC calls.

<trond.myklebust@fys.uio.no>
	NFSv4: use the (more efficient) NFSv2/v3-like XDR scheme for looking up the
	mountpoint.

<trond.myklebust@fys.uio.no>
	NFSv4: use the (more efficient) NFSv2/v3-like XDR scheme for generating
	REMOVE RPC calls.

<trond.myklebust@fys.uio.no>
	NFSv4: use the (more efficient) NFSv2/v3-like XDR scheme for generating
	RENAME RPC calls.

<trond.myklebust@fys.uio.no>
	NFSv4: use the (more efficient) NFSv2/v3-like XDR scheme for hard linking

<trond.myklebust@fys.uio.no>
	NFSv4: use the (more efficient) NFSv2/v3-like XDR scheme for generating
	CREATE RPC calls.

<trond.myklebust@fys.uio.no>
	NFSv4: use the (more efficient) NFSv2/v3-like XDR scheme for generating
	PATHCONF RPC calls.

<trond.myklebust@fys.uio.no>
	NFSv4: use the (more efficient) NFSv2/v3-like XDR scheme for generating
	STATFS RPC calls.

<trond.myklebust@fys.uio.no>
	NFSv4: use the (more efficient) NFSv2/v3-like XDR scheme when doing
	sillyrename() completion.

<trond.myklebust@fys.uio.no>
	NFSv4: use the (more efficient) NFSv2/v3-like XDR scheme for generating
	READLINK RPC calls.

<trond.myklebust@fys.uio.no>
	NFSv4: use the (more efficient) NFSv2/v3-like XDR scheme for generating
	READDIR RPC calls.

<trond.myklebust@fys.uio.no>
	NFSv4: assorted code readability cleanups in the XDR

<trond.myklebust@fys.uio.no>
	NFSv4: clean up the FSINFO XDR code to conform to the new scheme for GETATTR.

<trond.myklebust@fys.uio.no>
	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.

<trond.myklebust@fys.uio.no>
	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.

<trond.myklebust@fys.uio.no>
	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

<trond.myklebust@fys.uio.no>
	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.

<trond.myklebust@fys.uio.no>
	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()

<trond.myklebust@fys.uio.no>
	NFSv3: Fix an XDR overflow bug in READDIRPLUS

<davem@nuts.davemloft.net>
	[SPARC64]: Control -fomit-frame-pointer using CONFIG_FRAME_POINTER.

<hadi@cyberus.ca>
	[NET_SCHED]: Check for NULL opt in dsmark_init.

<jon@focalhost.com>
	[CRYPTO]: ARC4 Kconfig clarification.

<davem@nuts.davemloft.net>
	[SPARC64]: Provide _mcount as well as mcount.

<rddunlap@org.rmk.(none)>
	[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.

<rddunlap@org.rmk.(none)>
	[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

<shaggy@austin.ibm.com>
	JFS: Fix race in jfs_sync
	
	Don't let final iput happen while jfs_sync is processing inode.

<ink@jurassic.park.msu.ru>
	[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).

<akpm@osdl.org>
	[PATCH] x86-64 update
	
	From: Andi Kleen <ak@muc.de>
	
	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

<akpm@osdl.org>
	[PATCH] Fix URLs in Kconfig files
	
	From: Rusty Russell <rusty@rustcorp.com.au>
	
	From: "Petri T. Koistinen" <petri.koistinen@iki.fi>
	
	1) Various URLs in the Kconfig files are out of date: update them.
	
	2) URLs should be of form <http://url-goes-here>.
	
	3) References to files in the source should be of form
	   <file:path-from-top>
	
	4) Email addresses should be of form <foo@bar.com>

<akpm@osdl.org>
	[PATCH] feed devfs through Lindent
	
	Nobody seems to have any outstanding work against devfs, so...

<akpm@osdl.org>
	[PATCH] generalise system_running
	
	From: Olof Johansson <olof@austin.ibm.com>
	
	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.

<akpm@osdl.org>
	[PATCH] vt.c cleanup
	
	- Remove unneeded casts of a void *
	
	- whitespace consistency.

<akpm@osdl.org>
	[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.

<akpm@osdl.org>
	[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.

<akpm@osdl.org>
	[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 <stdio.h>
	#include <stdlib.h>
	#include <unistd.h>
	#include <fcntl.h>
	#include <sys/ioctl.h>
	#include <linux/kd.h>
	
	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);
	}

<akpm@osdl.org>
	[PATCH] i4l: kernelcapi receive workqueue and locking rework
	
	From: Armin Schindler <armin@melware.de>
	
	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.

<akpm@osdl.org>
	[PATCH] Fix get_wchan() FIXME wrt. order of functions
	
	From: William Lee Irwin III <wli@holomorphy.com>
	
	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.

<akpm@osdl.org>
	[PATCH] get_wchan() sparc64 fix
	
	From: William Lee Irwin III <wli@holomorphy.com>
	
	Now the scheduler text is in its own ELF section this branch is asking for
	an illegal displacement.

<akpm@osdl.org>
	[PATCH] ppc32: Fix thinko in the altivec exception code
	
	From: Benjamin Herrenschmidt <benh@kernel.crashing.org>
	
	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
	<jwhitney-linuxppc@sands-edge.com>)

<akpm@osdl.org>
	[PATCH] ppc64: si_addr fix
	
	From: Benjamin Herrenschmidt <benh@kernel.crashing.org>
	
	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).

<akpm@osdl.org>
	[PATCH] ppc64: Fix bug in hugepage support
	
	From: David Gibson <david@gibson.dropbear.id.au>
	
	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.

<akpm@osdl.org>
	[PATCH] ppc64: hugepage bugfix
	
	From: David Gibson <david@gibson.dropbear.id.au>
	
	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.

<akpm@osdl.org>
	[PATCH] ppc64: fix failure return codes from {pci,vio}_alloc_consistent()
	
	From: Olof Johansson <olof@austin.ibm.com>
	
	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.

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

<akpm@osdl.org>
	[PATCH] disable VT on iSeries by default
	
	From: Paul Mackerras <paulus@samba.org>
	
	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.

<akpm@osdl.org>
	[PATCH] ppc64: export itLpNaca on iSeries
	
	From: Paul Mackerras <paulus@samba.org>
	
	This patch from Julie DeWandel exports the symbol itLpNaca on iSeries
	machines, for the use of the viodasd driver.

<akpm@osdl.org>
	[PATCH] PPC64: iSeries virtual ethernet driver
	
	From: Stephen Rothwell <sfr@canb.auug.org.au>
	
	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.

<akpm@osdl.org>
	[PATCH] ppc64: allow hugepages anywhere in low 4GB
	
	From: David Gibson <david@gibson.dropbear.id.au>
	
	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.

<akpm@osdl.org>
	[PATCH] ppc64: Move EPOW log buffer to BSS
	
	From: Olof Johansson <olof@austin.ibm.com>
	
	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.

<akpm@osdl.org>
	[PATCH] ppc64: Disable SMT snooze by default
	
	From: Anton Blanchard <anton@samba.org>
	
	Disable SMT snooze by default

<akpm@osdl.org>
	[PATCH] ppc64: Allow PCI devices to use address that happens to fall in the
ISA range
	
	From: Jake Moilanen <moilanen@austin.ibm.com>
	
	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.

<akpm@osdl.org>
	[PATCH] ppc64: JS20 PHB devfn fix
	
	From: Jake Moilanen <moilanen@austin.ibm.com>
	
	The JS20 uses devfn 0 for a HT->PCI bridge.  The PHB devfn
	assumption does not hold for this case.

<akpm@osdl.org>
	[PATCH] ppc64: Correct comments for the offsets of fields in paca
	
	From: Will Schmidt <willschm@us.ibm.com>
	
	Correct comments for the offsets of fields in paca

<akpm@osdl.org>
	[PATCH] ppc64: Make rtasd dump KERN_DEBUG
	
	From: Jake Moilanen <moilanen@austin.ibm.com>
	
	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.

<akpm@osdl.org>
	[PATCH] ppc64: Fix xmon compile warning
	
	From: Joel Schopp <jschopp@austin.ibm.com>
	
	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'

<akpm@osdl.org>
	[PATCH] ppc64: Misc rtasd fixes
	
	From: Jake Moilanen <moilanen@austin.ibm.com>
	
	Misc rtasd fixes for some broken firmware versions.

<akpm@osdl.org>
	[PATCH] ppc64: Additional PVR value for power5 processor
	
	From: Will Schmidt <willschm@us.ibm.com>
	
	Additional PVR value for power5 processor

<akpm@osdl.org>
	[PATCH] ppc64: Add support for hotplug cpus
	
	From: Joel Schopp <jschopp@austin.ibm.com>
	
	Add support for hotplug cpus

<akpm@osdl.org>
	[PATCH] ppc64: Add RTAS os-term call for panic on pSeries
	
	From: Michael Strosaker <strosake@us.ibm.com>
	
	Add RTAS os-term call for panic on pSeries

<akpm@osdl.org>
	[PATCH] ppc64: Fix xics irq affinity bug
	
	From: Anton Blanchard <anton@samba.org>
	
	Fix xics irq affinity bug. We were anding with cpu_online_map but werent
	using the result later on.

<akpm@osdl.org>
	[PATCH] ppc64: irq cleanups
	
	From: Paul Mackerras <paulus@samba.org>
	
	Create and use irq_offset_up/down, get_irq_desc, for_each_irq

<akpm@osdl.org>
	[PATCH] ppc64: Create xics get_irq_server
	
	From: Anton Blanchard <anton@samba.org>
	
	Create xics get_irq_server and use it in enable/disable code.

<akpm@osdl.org>
	[PATCH] ppc64: Put SMT threads into global interrupt queue
	
	From: David Engebretsen <engebret@us.ibm.com>
	
	Put SMT threads into global interrupt queue

<akpm@osdl.org>
	[PATCH] ppc64: Update CPU features
	
	From: Anton Blanchard <anton@samba.org>
	
	Update CPU features. Remove DABR feature, all cpus have it. Add MMCRA,
	PMC8, SMT, COHERENT_ICACHE, LOCKLESS_TLBIE features

<akpm@osdl.org>
	[PATCH] ppc64: Move sysfs specific stuff into sysfs.c
	
	From: Anton Blanchard <anton@samba.org>
	
	Move sysfs specific stuff into sysfs.c

<akpm@osdl.org>
	[PATCH] ppc64: Add some POWER5 specific optimisations
	
	From: Anton Blanchard <anton@samba.org>
	
	Add some POWER5 specific optimisations:
	- icache is coherent, no need to explicitly flush
	- tlbie lock no longer required

<akpm@osdl.org>
	[PATCH] ppc64: Add PMCs to sysfs
	
	From: Anton Blanchard <anton@samba.org>
	
	Add PMCs to sysfs.

<akpm@osdl.org>
	[PATCH] ppc64: Add HW PMC support to oprofile
	
	From: Anton Blanchard <anton@samba.org>
	
	Add HW PMC support to oprofile

<akpm@osdl.org>
	[PATCH] ppc64: Register secondary threads in NUMA init code
	
	From: Anton Blanchard <anton@samba.org>
	
	Register secondary threads in NUMA init code

<akpm@osdl.org>
	[PATCH] ppc64: Use enum dma_data_direction for the vio DMA api routines.
	
	From: Stephen Rothwell <sfr@canb.auug.org.au>
	
	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.

<akpm@osdl.org>
	[PATCH] ppc64: Use enum dma_data_direction for all APIs
	
	From: Stephen Rothwell <sfr@canb.auug.org.au>
	
	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.

<akpm@osdl.org>
	[PATCH] ppc64: Consolidate some of the iommu DMA mapping routines.
	
	From: Stephen Rothwell <sfr@canb.auug.org.au>
	
	This patch consolidates some of the iommu DMA mapping routines.

<akpm@osdl.org>
	[PATCH] ppc64: change the iSeries virtual device drivers to use the vio
infrastructure for DMA mapping
	
	From: Stephen Rothwell <sfr@canb.auug.org.au>
	
	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.

<akpm@osdl.org>
	[PATCH] ppc64: replace vio_dma_mapping_error with dma_mapping_error
everywhere.
	
	From: Stephen Rothwell <sfr@canb.auug.org.au>
	
	James Bottomley is right, this was a mistake.  This patch replaces
	vio_dma_mapping_error with dma_mapping_error everywhere.

<akpm@osdl.org>
	[PATCH] ppc64: add platform identification to oops messages
	
	From: Anton Blanchard <anton@samba.org>

<akpm@osdl.org>
	[PATCH] ppc64: Oops cleanup
	
	From: Anton Blanchard <anton@samba.org>
	
	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

<akpm@osdl.org>
	[PATCH] ppc64: Add smt_snooze_delay cpu sysfs attribute
	
	From: Anton Blanchard <anton@samba.org>
	
	Add smt_snooze_delay cpu sysfs attribute

<akpm@osdl.org>
	[PATCH] ppc64: DMA API updates
	
	From: Anton Blanchard <anton@samba.org>
	
	DMA API updates, in particular adding the new cache flush interfaces.

<akpm@osdl.org>
	[PATCH] ppc64: Remove unused rtas functions
	
	From: Joel Schopp <jschopp@austin.ibm.com>
	
	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.

<akpm@osdl.org>
	[PATCH] ppc64: Quieten NVRAM driver
	
	From: Anton Blanchard <anton@samba.org>
	
	Quieten NVRAM driver

<akpm@osdl.org>
	[PATCH] ppc64: UP compile fixes
	
	From: Anton Blanchard <anton@samba.org>
	
	UP compile fixes

<akpm@osdl.org>
	[PATCH] ppc44x: fix memory leak
	
	From: Matt Porter <mporter@kernel.crashing.org>
	
	This fixes a memory leak when freeing pgds on PPC44x.

<akpm@osdl.org>
	[PATCH] Quota locking fixes
	
	From: Jan Kara <jack@ucw.cz>
	
	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.

<akpm@osdl.org>
	[PATCH] fs/inode.c list_head cleanup
	
	Teach inode.c about list_move().

<akpm@osdl.org>
	[PATCH] search for /init for initramfs boots
	
	From: Olaf Hering <olh@suse.de>
	
	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().

<akpm@osdl.org>
	[PATCH] knfsd: Return -EOPNOTSUPP when unknown mechanism name encountered
	
	From: NeilBrown <neilb@cse.unsw.edu.au>
	
	It's better than oopsing.

<akpm@osdl.org>
	[PATCH] knfsd: Minor fix to error return when updating server authentication
information
	
	From: NeilBrown <neilb@cse.unsw.edu.au>

<akpm@osdl.org>
	[PATCH] knfsd: fix a problem with incorrectly formatted auth_error returns.
	
	From: NeilBrown <neilb@cse.unsw.edu.au>
	
	From: Fred Isaman

<akpm@osdl.org>
	[PATCH] knfsd: Remove name_lookup.h that noone is using anymore.
	
	From: NeilBrown <neilb@cse.unsw.edu.au>

<akpm@osdl.org>
	[PATCH] knfsd: Add server-side support for the nfsv4 mounted_on_fileid
attribute.
	
	From: NeilBrown <neilb@cse.unsw.edu.au>

<akpm@osdl.org>
	[PATCH] knfsd: Improve UTF8 checking.
	
	From: NeilBrown <neilb@cse.unsw.edu.au>
	
	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.

<akpm@osdl.org>
	[PATCH] knfsd: Export a symbol needed by auth_gss
	
	From: NeilBrown <neilb@cse.unsw.edu.au>
	
	From: "J. Bruce Fields" <bfields@fieldses.org>
	
	Without this compiling auth_gss as module fails.

<akpm@osdl.org>
	[PATCH] knfsd: Add data integrity to serve rside gss
	
	From: NeilBrown <neilb@cse.unsw.edu.au>
	
	From: "J. Bruce Fields" <bfields@fieldses.org>
	
	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.

<akpm@osdl.org>
	[PATCH] md: merge_bvec_fn needs to know about partitions.
	
	From: Neil Brown <neilb@cse.unsw.edu.au>
	
	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.

<akpm@osdl.org>
	[PATCH] posix message queues: code move
	
	From: Manfred Spraul <manfred@colorfullife.com>
	
	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.

<akpm@osdl.org>
	[PATCH] posix message queues: syscall stubs
	
	From: Manfred Spraul <manfred@colorfullife.com>
	
	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.

<akpm@osdl.org>
	[PATCH] posix message queues: implementation
	
	From: Manfred Spraul <manfred@colorfullife.com>
	
	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 <jakub@redhat.com>
	
	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).

<akpm@osdl.org>
	[PATCH] posix message queues: linux-specific poll extension
	
	From: Manfred Spraul <manfred@colorfullife.com>
	
	Linux specific extension: make the message queue identifiers pollable.  It's
	simple and could be useful.

<akpm@osdl.org>
	[PATCH] posix message queues: made user mountable
	
	From: Manfred Spraul <manfred@colorfullife.com>
	
	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.

<akpm@osdl.org>
	[PATCH] posix message queue update
	
	From: Manfred Spraul <manfred@colorfullife.com>
	
	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.

<akpm@osdl.org>
	[PATCH] security bugfix for mqueue
	
	From: Manfred Spraul <manfred@colorfullife.com>
	
	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.

<akpm@osdl.org>
	[PATCH] split netlink_unicast
	
	From: Manfred Spraul <manfred@colorfullife.com>
	
	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)

<akpm@osdl.org>
	[PATCH] posix message queues: send notifications via netlink
	
	From: Manfred Spraul <manfred@colorfullife.com>
	
	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.

<akpm@osdl.org>
	[PATCH] compat emulation for posix message queues
	
	From: Arnd Bergmann <arnd@arndb.de>
	
	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.

<akpm@osdl.org>
	[PATCH] IPMI driver updates
	
	From: Corey Minyard <minyard@acm.org>
	
	- 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.

<akpm@osdl.org>
	[PATCH] move job control fields from task_struct to signal_struct
	
	From: Roland McGrath <roland@redhat.com>
	
	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.

<akpm@osdl.org>
	[PATCH] Fix page allocator lower zone protection for NUMA
	
	From: Martin Hicks <mort@wildopensource.com>
	
	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.

<akpm@osdl.org>
	[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).

<akpm@osdl.org>
	[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 <jbs@quiotix.com> who noticed the performance
	discrepancy and wrote a test app.

<akpm@osdl.org>
	[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.

<akpm@osdl.org>
	[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.

<akpm@osdl.org>
	[PATCH] jbd: fix I/O error handling
	
	Fix a few buglets spotted by Jeff Mahoney <jeffm@suse.com>.  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.

<akpm@osdl.org>
	[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.

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

<akpm@osdl.org>
	[PATCH] slab: updates for per-arch alignments
	
	From: Manfred Spraul <manfred@colorfullife.com>
	
	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

<akpm@osdl.org>
	[PATCH] set mod->waiter before calling stop_machine
	
	From: Rusty Russell <rusty@rustcorp.com.au>
	
	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.

<akpm@osdl.org>
	[PATCH] fs/proc/proc_tty.c comment fixes
	
	From: Marc-Christian Petersen <m.c.p@wolk-project.de>

<akpm@osdl.org>
	[PATCH] sb_mixer bounds checking
	
	From: Muli Ben-Yehuda <mulix@mulix.org>
	
	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.

<akpm@osdl.org>
	[PATCH] pmdisk: fix strcmp in sysfs store
	
	From: Herbert Xu <herbert@gondor.apana.org.au>
	
	This patch fixes the sysfs store functions for pmdisk when the input
	contains a trailing newline.

<akpm@osdl.org>
	[PATCH] add file_operations.fcntl
	
	From: Chuck Lever <cel@citi.umich.edu>
	
	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?

<akpm@osdl.org>
	[PATCH] Fix sys_time() to get subtick correction from the new xtime
	
	From: "La Monte H.P. Yarroll" <piggy@timesys.com>
	
	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.

<akpm@osdl.org>
	[PATCH] Broken bitmap_parse for ncpus > 32
	
	From: Joe Korty <joe.korty@ccur.com>
	
	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.

<akpm@osdl.org>
	[PATCH] ver_linux fix
	
	From: Rusty Russell <rusty@rustcorp.com.au>
	
	From:  Adrian Bunk <bunk@fs.tum.de>
	
	Some versions of ps print non-version lines when ps --version is invoked.
	grep them out.

<akpm@osdl.org>
	[PATCH] Update CodingStyle hints for Emacs users.
	
	From: Trivial Patch Monkey <trivial@rustcorp.com.au>
	
	From:  Ben Greear <greearb@candelatech.com>
	
	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.

<akpm@osdl.org>
	[PATCH] document unused pte bits on i386
	
	From: Rusty Russell <rusty@rustcorp.com.au>
	
	From:  Ed L Cashin <ecashin@uga.edu>
	
	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.

<akpm@osdl.org>
	[PATCH] Consistently use quotes for SGML attributes
	
	From: Rusty Russell <rusty@rustcorp.com.au>
	
	From:  Hans Ulrich Niedermann <linux-kernel@n-dimensional.de>
	
	doc patch: Consistently use quotes for SGML attributes This makes it
	possible to process the SGML files without SHORTTAG YES.

<akpm@osdl.org>
	[PATCH] SGML: close tag with ">"
	
	From: Rusty Russell <rusty@rustcorp.com.au>
	
	From:  Hans Ulrich Niedermann <linux-kernel@n-dimensional.de>
	
	doc patch: close tag with ">"

<akpm@osdl.org>
	[PATCH] fix sch_ingress help
	
	From: Rusty Russell <rusty@rustcorp.com.au>
	
	From:  John Levon <levon@movementarian.org>

<akpm@osdl.org>
	[PATCH] i386 irq.c ifdef cleanup
	
	From: Rusty Russell <rusty@rustcorp.com.au>
	
	From:  Josef 'Jeff' Sipek <jeffpc@optonline.net>
	
	I just noticed the nested ifdefs, and made it little more readable.

<akpm@osdl.org>
	[PATCH] Fix firmware loader docs
	
	From: Rusty Russell <rusty@rustcorp.com.au>
	
	From:  Pavel Machek <pavel@ucw.cz>
	
	sysfs should be mounted on /sys these days.

<akpm@osdl.org>
	[PATCH] Trivial Patch Monkey should be in MAINTAINERS
	
	From: Rusty Russell <rusty@rustcorp.com.au>
	
	From:  Petri Koistinen <petri.koistinen@iki.fi>

<akpm@osdl.org>
	[PATCH] Fix genksyms parsing
	
	From: Rusty Russell <rusty@rustcorp.com.au>
	
	From: Andreas Schwab <schwab@suse.de> 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.

<akpm@osdl.org>
	[PATCH] CONFIG_X86_GENERIC description fixup
	
	From: Rusty Russell <rusty@rustcorp.com.au>
	
	From:  Stewart Smith <stewart@linux.org.au>
	
	A better explanation of the X86_GENERIC config option follows.

<akpm@osdl.org>
	[PATCH] updating email info in CREDITS
	
	From: Rusty Russell <rusty@rustcorp.com.au>
	
	From:  Thomas Molina <tmolina@cablespeed.com>

<akpm@osdl.org>
	[PATCH] Kill duplicate #include <linux_ioport.h>
	
	From: Rusty Russell <rusty@rustcorp.com.au>
	
	include/linux/device.h includes include/linux/ioport.h twice.

<akpm@osdl.org>
	[PATCH] Use valid node number when unmapping x86 CPUs
	
	From: Rusty Russell <rusty@rustcorp.com.au>
	
	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.

<akpm@osdl.org>
	[PATCH] Add CC Trivial Patch Monkey to SubmittingPatches
	
	From: Rusty Russell <rusty@rustcorp.com.au>
	
	From: maximilian attems <janitor@sternwelten.at>
	
	Add the Monkey to SubmittingPatches.

<akpm@osdl.org>
	[PATCH] ne2k-pci.c compile fix on ppc[64]
	
	From: Rusty Russell <rusty@rustcorp.com.au>
	
	These macros are redefined here.  Previously definitions are in
	asm-ppc(64)/io.h

<akpm@osdl.org>
	[PATCH] Update Documentation/Changes
	
	From: Trivial Patch Monkey <trivial@rustcorp.com.au>
	
	From:  Thomas Molina <tmolina@cablespeed.com>

<akpm@osdl.org>
	[PATCH] i830 DRM missing put_user
	
	From: Arjan van de Ven <arjanv@redhat.com>
	
	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.

<akpm@osdl.org>
	[PATCH] export complete_all()
	
	From: Mike Waychison <Michael.Waychison@Sun.COM>
	
	Export complete_all for module use.

<akpm@osdl.org>
	[PATCH] /dev/urandom scalability improvement
	
	From: David Mosberger <davidm@napali.hpl.hp.com>
	
	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:
				

<akpm@osdl.org>
	[PATCH] cpu5wdt.c warning fix
	
	From: Heiko Ronsdorf <hero@persua.de>
	
	- Remvoe a volatile which causes a warning via module_param()
	
	- Remove an unused variable.

<akpm@osdl.org>
	[PATCH] speed up fget() and fget_light()
	
	Eric Dumazet <dada1@cosmosbay.com>
	
	We can avoid evaluating `current' in a few places.

<akpm@osdl.org>
	[PATCH] Move __this_module to modpost
	
	From: Brian Gerst <bgerst@didntduck.org>
	
	Move the __this_module structure to the modpost code where it really
	belongs.

<akpm@osdl.org>
	[PATCH] fix modversions now __this_module is created only in .ko
	
	From: Rusty Russell <rusty@rustcorp.com.au>
	
	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).

<akpm@osdl.org>
	[PATCH] Support for floppies whose sectors are numbered from zero instead of
one
	
	From: Marcelo Tosatti <marcelo.tosatti@cyclades.com>
	
	From: Alain Knaff <alain.knaff@lll.lu>
	
	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.

<akpm@osdl.org>
	[PATCH] Remove bitmap_shift_*() bitmap length limits
	
	From: William Lee Irwin III <wli@holomorphy.com>
	
	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.

<akpm@osdl.org>
	[PATCH] Fix huge sparse tmpfs files
	
	From: Hugh Dickins <hugh@veritas.com>
	
	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.

<akpm@osdl.org>
	[PATCH] Strip quotes from kernel parameters
	
	From: Rusty Russell <rusty@rustcorp.com.au>
	
	Agustin Martin <agmartin@debian.org> 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.

<akpm@osdl.org>
	[PATCH] summit: per-subarch NR_IRQ_VECTORS
	
	From: James Cleverdon <jamesclv@us.ibm.com>
	
	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.

<akpm@osdl.org>
	[PATCH] summmit: increase MAX_MP_BUSSES
	
	From: James Cleverdon <jamesclv@us.ibm.com>
	
	Bump up MAX_MP_BUSSES for summit/generic subarch to cope with big IBM x440
	systems.

<akpm@osdl.org>
	[PATCH] ia64 MSI support
	
	From: "Nguyen, Tom L" <tom.l.nguyen@intel.com>
	
	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 <asm-i386/msi.h>,
	  <asm-ia64/msi.h> and <asm-x86_64/msi.h>, includes <asm/msi.h> 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 <asm/msi.h> 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.

<akpm@osdl.org>
	[PATCH] stv0299.c unused variable
	
	From: "Luiz Fernando N. Capitulino" <lcapitulino@prefeitura.sp.gov.br>
	
	drivers/media/dvb/frontends/stv0299.c:356: warning: unused variable `i'

<akpm@osdl.org>
	[PATCH] selinux: fix struct type
	
	From: Stephen Smalley <sds@epoch.ncsc.mil>
	
	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.

<akpm@osdl.org>
	[PATCH] missing NULL pointer check in pte_alloc_one.
	
	From: Martin Schwidefsky <schwidefsky@de.ibm.com>
	
	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.

<akpm@osdl.org>
	[PATCH] kill spurious MAKDEV scripts
	
	From: Christoph Hellwig <hch@lst.de>
	
	Kill magic ide/sound makedev scripts in scripts/.  The userland MAKEDEV is
	the proper place and already has support for them.

<akpm@osdl.org>
	[PATCH] oss/wavfront.c warning fix.
	
	From: "Luiz Fernando N. Capitulino" <lcapitulino@prefeitura.sp.gov.br>
	
	sound/oss/wavfront.c: At top level:
	sound/oss/wavfront.c:2498: warning: `errno' defined but not used

<akpm@osdl.org>
	[PATCH] remove bogus MOD_{INC,DEC}_USE_COUNT from hysdn
	
	From: Christoph Hellwig <hch@lst.de>
	
	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.

<akpm@osdl.org>
	[PATCH] improve CONFIG_EMBEDDED help text
	
	From: Matt Mackall <mpm@selenic.com>
	
	Make CONFIG_EMBEDDED description more accurate

<akpm@osdl.org>
	[PATCH] eliminate nswap and cnswap
	
	From: Matt Mackall <mpm@selenic.com>
	
	The nswap and cnswap variables counters have never been incremented as
	Linux doesn't do task swapping.

<akpm@osdl.org>
	[PATCH] shrink inode when quota is disabled
	
	From: Matt Mackall <mpm@selenic.com>
	
	drop quota array in inode struct if no quota support

<akpm@osdl.org>
	[PATCH] enable suspend-on-halt for NS Geode
	
	From: Matt Mackall <mpm@selenic.com>
	
	From: Zwane Mwaikambo <zwane@arm.linux.org.uk>
	
	This enables deep powersaving mode on Geode boxes.

<akpm@osdl.org>
	[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.

<akpm@osdl.org>
	[PATCH] Fix race between ll_rw_block() and block_write_full_page()
	
	Fix a race which was identified by Daniel McNeil <daniel@osdl.org>
	
	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.

<akpm@osdl.org>
	[PATCH] blockdev direct-io speedups
	
	From: Badari Pulavarty <pbadari@us.ibm.com>
	
	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.

<akpm@osdl.org>
	[PATCH] direct-io AIO fixes
	
	From: Suparna Bhattacharya <suparna@in.ibm.com>
	
	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)

<akpm@osdl.org>
	[PATCH] AIO+DIO bio_count race fix
	
	From: Suparna Bhattacharya <suparna@in.ibm.com>,
	      Daniel McNeil <daniel@osdl.org>
	
	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.

<akpm@osdl.org>
	[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.

<akpm@osdl.org>
	[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

<akpm@osdl.org>
	[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.

<akpm@osdl.org>
	[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.

<akpm@osdl.org>
	[PATCH] tag writeback pages as such in their radix tree
	
	Arrange for under-writeback pages to be marked thus in their pagecache radix
	tree.

<akpm@osdl.org>
	[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.

<akpm@osdl.org>
	[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.

<akpm@osdl.org>
	[PATCH] remove address_space.io_pages
	
	Now remove address_space.io_pages.

<akpm@osdl.org>
	[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.

<akpm@osdl.org>
	[PATCH] stop using address_space.clean_pages
	
	Remove remaining references to address_space.clean_pages.

<akpm@osdl.org>
	[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).

<akpm@osdl.org>
	[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.

<akpm@osdl.org>
	[PATCH] stop using page.list in the page allocator
	
	Switch the page allocator over to using page.lru for the buddy lists.

<akpm@osdl.org>
	[PATCH] stop using page->list in the hugetlbpage implementations
	
	Switch them over to page.lru

<akpm@osdl.org>
	[PATCH] stop using page.list in pageattr.c
	
	Switch it to ->lru

<akpm@osdl.org>
	[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.

<akpm@osdl.org>
	[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.

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

<akpm@osdl.org>
	[PATCH] switch the m68k pointer-table code over to page->lru
	
	Switch the m68k pointer-table code over to page->lru.

<akpm@osdl.org>
	[PATCH] remove page.list
	
	Remove the now-unneeded page.list field.

<akpm@osdl.org>
	[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.

<akpm@osdl.org>
	[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.

<akpm@osdl.org>
	[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.

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

<akpm@osdl.org>
	[PATCH] mpage_writepages() cleanup
	
	Rework the code layout a bit.  No logic change.

<akpm@osdl.org>
	[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)

<akpm@osdl.org>
	[PATCH] fork vma ordering during fork
	
	From: Hugh Dickins <hugh@veritas.com>
	
	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.

<akpm@osdl.org>
	[PATCH] mremap: copy_one_pte cleanup
	
	From: Hugh Dickins <hugh@veritas.com>
	
	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.

<akpm@osdl.org>
	[PATCH] mremap: move_vma fixes and cleanup
	
	From: Hugh Dickins <hugh@veritas.com>
	
	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.

<akpm@osdl.org>
	[PATCH] mremap: vma_relink_file race fix
	
	From: Hugh Dickins <hugh@veritas.com>
	
	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.

<akpm@osdl.org>
	[PATCH] mremap: check map_count
	
	From: Hugh Dickins <hugh@veritas.com>
	
	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.

<akpm@osdl.org>
	[PATCH] Fix rmap comment
	
	From: Hugh Dickins <hugh@veritas.com>
	
	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).

<akpm@osdl.org>
	[PATCH] kswapd: remove pages_scanned local
	
	This is always equal to constant zero.

<akpm@osdl.org>
	[PATCH] laptop mode
	
	From: Bart Samwel <bart@samwel.tk>
	
	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.

<akpm@osdl.org>
	[PATCH] Add commit=0 to ext3, meaning "set commit to default".
	
	From: Bart Samwel <bart@samwel.tk>
	
	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.

<akpm@osdl.org>
	[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.

<akpm@osdl.org>
	[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.

<akpm@osdl.org>
	[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

<akpm@osdl.org>
	[PATCH] ia32: 4Kb stacks (and irqstacks) patch
	
	From: Arjan van de Ven <arjanv@redhat.com>
	
	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.

<akpm@osdl.org>
	[PATCH] procfs LoadAVG/load_avg scaling fix
	
	From: Ingo Molnar <mingo@elte.hu>
	
	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.

<akpm@osdl.org>
	[PATCH] ppc64: NUMA fix for 16MB LMBs
	
	From: Olof Johansson <olof@austin.ibm.com>
	
	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.

<akpm@osdl.org>
	[PATCH] build fails on sparc64 in hugetlbpage.c
	
	From: Romain Francoise <romain@orebokech.com>
	
	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.

<akpm@osdl.org>
	[PATCH] epoll comment fix
	
	From: Davide Libenzi <davidel@xmailserver.org>
	
	When I split evenpoll_release() in an inline fast path plus an
	eventpoll_release_file() slow path, I forgot to change comments.

<akpm@osdl.org>
	[PATCH] add stop_machine barriers
	
	From: Andrea Arcangeli <andrea@suse.de>
	
	We need a barrier before checking for kthread_should_stop in do_stop.

<akpm@osdl.org>
	[PATCH] sunrpc: connection dropping tweaks
	
	From: Olaf Kirch <okir@suse.de>
	
	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.

<akpm@osdl.org>
	[PATCH] ACL version mismatch error code fix
	
	From: Andreas Gruenbacher <agruen@suse.de>
	
	Return EOPNOTSUPP rather than EINVAL when we discover an ACL version
	mismatch.

<akpm@osdl.org>
	[PATCH] v4l: cropcap ioctl fix
	
	From: Gerd Knorr <kraxel@bytesex.org>
	
	The VIDIOC_CROPCAP ioctl had wrong R/W bits, this patch fixes it.

<akpm@osdl.org>
	[PATCH] v4l: v4l1-compat fix
	
	From: Gerd Knorr <kraxel@bytesex.org>
	
	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.

<akpm@osdl.org>
	[PATCH] v4l: tuner fix
	
	From: Gerd Knorr <kraxel@bytesex.org>
	
	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.

<akpm@osdl.org>
	[PATCH] v4l: msp3400 update
	
	From: Gerd Knorr <kraxel@bytesex.org>
	
	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.

<akpm@osdl.org>
	[PATCH] v4l: add support for pv951 remote to ir-kbd-i2c
	
	From: Gerd Knorr <kraxel@bytesex.org>
	
	Trivial patch, $subject says all, just a new keytable.

<akpm@osdl.org>
	[PATCH] v4l: saa7134 driver update
	
	From: Gerd Knorr <kraxel@bytesex.org>
	
	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.

<akpm@osdl.org>
	[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'

<akpm@osdl.org>
	[PATCH] v4l: bttv driver update
	
	From: Gerd Knorr <kraxel@bytesex.org>
	
	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 ...

<akpm@osdl.org>
	[PATCH] v4l: documentation update
	
	From: Gerd Knorr <kraxel@bytesex.org>
	
	This patch updates the documentation for the v4l drivers.

<akpm@osdl.org>
	[PATCH] cx88 update.
	
	From: Gerd Knorr <kraxel@bytesex.org>
	
	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.

<akpm@osdl.org>
	[PATCH] drivers/base/platform.c typo fix
	
	From: Geert Uytterhoeven <Geert.Uytterhoeven@sonycom.com>

<akpm@osdl.org>
	[PATCH] Subject: [PATCH] Fix overflow bug in READDIRPLUS...
	
	From: Trond Myklebust <trond.myklebust@fys.uio.no>
	
	Fixes the Oops reported by Paul Blazejowski.  Bug turned out to be in the
page
	overflow checking for READDIRPLUS.

<akpm@osdl.org>
	[PATCH] Fix 32bit statfs on NFS
	
	From: Olaf Kirch <okir@suse.de>
	
	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.

<akpm@osdl.org>
	[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

<akpm@osdl.org>
	[PATCH] wavefront_synth.c var not used.
	
	From: "Luiz Fernando N. Capitulino" <lcapitulino@prefeitura.sp.gov.br>
	
	sound/isa/wavefront/wavefront_synth.c:1923: warning: `errno' defined but not
used

<akpm@osdl.org>
	[PATCH] tda1004x.c var not used.
	
	From: "Luiz Fernando N. Capitulino" <lcapitulino@prefeitura.sp.gov.br>
	
	drivers/media/dvb/frontends/tda1004x.c:191: warning: `errno' defined but not
used

<akpm@osdl.org>
	[PATCH] pmdisk needs asmlinkage
	
	From: Pavel Machek <pavel@ucw.cz>
	
	This function will break with -mregparm, so mark it asmlinkage.

<akpm@osdl.org>
	[PATCH] cycx_drv.c warning fix.
	
	From: "Luiz Fernando N. Capitulino" <lcapitulino@prefeitura.sp.gov.br>
	
	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)

<akpm@osdl.org>
	[PATCH] ibmlana needs CONFIG_MCA_LEGACY
	
	From: "Luiz Fernando N. Capitulino" <lcapitulino@prefeitura.sp.gov.br>
	
	IBM LAN Adapter/A driver depends on mca-legacy.

<akpm@osdl.org>
	[PATCH] Improve list.h documentation for _rcu() primitives
	
	From: "Paul E. McKenney" <paulmck@us.ibm.com>
	
	The attached patch improves the documentation of the _rcu list primitives.

<akpm@osdl.org>
	[PATCH] list.h cleanup
	
	- s/__inline__/inline/
	
	- Remove lots of extraneous andi-was-here trailing whitespace

<akpm@osdl.org>
	[PATCH] Non-Exec stack support
	
	From: Kurt Garloff <garloff@suse.de>
	
	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.

<akpm@osdl.org>
	[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.

<akpm@osdl.org>
	[PATCH] reiserfs: support for nested transactions
	
	From: Chris Mason <mason@suse.com>
	
	reiserfs support for nested transactions.  This originally came from Peter
	Braam for 2.4.x and was ported forward by Jeff Mahoney.

<akpm@osdl.org>
	[PATCH] reiserfs: cleanups
	
	From: Chris Mason <mason@suse.com>
	
	reiserfs cleanup, get rid of old debugging code.

<akpm@osdl.org>
	[PATCH] reiserfs: logging rework
	
	From: Chris Mason <mason@suse.com>
	
	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.

<akpm@osdl.org>
	[PATCH] reiserfs: data=ordered support
	
	From: Chris Mason <mason@suse.com>
	
	reiserfs data=ordered support.

<akpm@osdl.org>
	[PATCH] reiserfs: locking fix
	
	From: Chris Mason <mason@suse.com>
	
	Make sure to hold the BKL while ending a transaction in the error path or
	reiserfs_prepare_write.

<akpm@osdl.org>
	[PATCH] reiserfs: preallocation support
	
	From: Chris Mason <mason@suse.com>
	
	Enable preallocation for reiserfs_file_write when the write size is smaller
	than the default preallocation size.

<akpm@osdl.org>
	[PATCH] reiserfs: tail repacking fix
	
	From: Chris Mason <mason@suse.com>
	
	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.

<akpm@osdl.org>
	[PATCH] reiserfs: fix race with writepage
	
	From: Chris Mason <mason@suse.com>
	
	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.

<akpm@osdl.org>
	[PATCH] reiserfs: sparse file handling fix
	
	From: Chris Mason <mason@suse.com>
	
	reiserfs_file_write makes a hole one block too large if it is the first thing
	in the file.

<akpm@osdl.org>
	[PATCH] reiserfs: laptop-mode support
	
	From: Chris Mason <mason@suse.com>
	
	Add reiserfs support for laptop mode.

<akpm@osdl.org>
	[PATCH] reiserfs: truncate leak fix
	
	From: Chris Mason <mason@suse.com>
	
	reiserfs_unmap_buffer should clean and wait on all buffers.  This fixes a
	leak under fsx workloads.

<akpm@osdl.org>
	[PATCH] reiserfs: scheduling latency improvements
	
	From: Chris Mason <mason@suse.com>
	
	Some latency improvements for the reiserfs data=ordered code from Takashi.

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

<akpm@osdl.org>
	[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.

<akpm@osdl.org>
	[PATCH] reiserfs writepage race with data=ordered
	
	From: Chris Mason <mason@suse.com>
	
	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.

<akpm@osdl.org>
	[PATCH] selinux: add IPv6 support
	
	From: James Morris <jmorris@redhat.com>
	
	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
	<http://people.redhat.com/jmorris/selinux/ipv6/>, although current
	userspace tools will continue to function normally (but without explicit
	IPv6 support).
	
	For more details at the security management level, see
	<http://marc.theaimsgroup.com/?l=selinux&m=108068187630948&w=2>
	
	This code has been under testing and review for several weeks.

<akpm@osdl.org>
	[PATCH] From: James Morris <jmorris@redhat.com>
	
	This patch removes a harmless duplicate assignment from the IPv6 code.

<akpm@osdl.org>
	[PATCH] Light-weight Auditing Framework
	
	From: Rik Faith <faith@redhat.com>
	
	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 <faith@redhat.com>
	
	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

<akpm@osdl.org>
	[PATCH] selinux: make IPv6 code work with audit framework
	
	From: James Morris <jmorris@redhat.com>
	
	This patch makes the IPv6 code work with the audit framework, following the
	merge of both.

<akpm@osdl.org>
	[PATCH] selinux: Audit compute_sid errors
	
	From: Stephen Smalley <sds@epoch.ncsc.mil>
	
	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.

<akpm@osdl.org>
	[PATCH] selinux: remove ratelimit from avc
	
	From: Stephen Smalley <sds@epoch.ncsc.mil>
	
	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.

<akpm@osdl.org>
	[PATCH] CONFIG_SND_MIXART doesn't compile
	
	From: Bernhard Rosenkraenzer <bero@arklinux.org>
	
	mixart.h uses tasklet_struct without including linux/interrupt.h -- fix
	attached.

<akpm@osdl.org>
	[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.

<akpm@osdl.org>
	[PATCH] more i386 head.S cleanups
	
	From: Brian Gerst <bgerst@didntduck.org>
	
	- 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.

<akpm@osdl.org>
	[PATCH] intermezzo leak fixes
	
	- Don't leak a pathname ref on error
	
	- Don't do putname() on a nameidata.

<akpm@osdl.org>
	[PATCH] es1688 Definition redundancy
	
	From: Fabian Frederick <Fabian.Frederick@skynet.be>
	
	Here's a trivial patch to avoid definition redundancy in es1688.

<akpm@osdl.org>
	[PATCH] binfmt_elf.c fix for 32-bit apps with large bss
	
	From: Julie DeWandel <jdewand@redhat.com>
	
	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.

<akpm@osdl.org>
	[PATCH] stack reduction: ide-cd
	
	From: Arjan van de Ven <arjanv@redhat.com>
	
	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)

<akpm@osdl.org>
	[PATCH] stack reductions: ide
	
	From: Arjan van de Ven <arjanv@redhat.com>
	
	ide.c: constant array of strings can be static

<akpm@osdl.org>
	[PATCH] stack reduction: ISDN
	
	From: Arjan van de Ven <arjanv@redhat.com>
	
	isdn: dynamically allocate big structures

<akpm@osdl.org>
	[PATCH] use EFLAGS #defines instead of inline constants
	
	From: "Randy.Dunlap" <rddunlap@osdl.org>
	
	Use x86 EFLAGS defines in place of hardwired constants.

<akpm@osdl.org>
	[PATCH] H8/300 support update (1/3) - ptrace fix
	
	From: Yoshinori Sato <ysato@users.sourceforge.jp>
	
	- fix PTRACE_SIGLESTEP bug.
	- separate to CPU depend.

<akpm@osdl.org>
	[PATCH] H8/300 support update (2/3) - entry.S cleanup
	
	From: Yoshinori Sato <ysato@users.sourceforge.jp>
	
	- cleanup define

<akpm@osdl.org>
	[PATCH] H8/300 support update (3/3) - others
	
	From: Yoshinori Sato <ysato@users.sourceforge.jp>
	
	- use new serial driver (drivers/serial/sh-sci.[ch])
	- typo fix
	- add message level

<akpm@osdl.org>
	[PATCH] H8/300 support update
	
	From: Yoshinori Sato <ysato@users.sourceforge.jp>
	
	- fix any error/warning
	- fix {request,freee}_irq interrupt control fix
	- add dump_stack
	- fix show_trace_task
	- fix typo

<akpm@osdl.org>
	[PATCH] sh-sci compile error fix patch
	
	From: Yoshinori Sato <ysato@users.sourceforge.jp>
	
	- add Kconfig depends H8300
	- H8/300 support compile error fixed.

<akpm@osdl.org>
	[PATCH] fix posix-timers to have proper per-process scope
	
	From: Roland McGrath <roland@redhat.com>
	
	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 <stdio.h>
	#include <error.h>
	#include <time.h>
	#include <signal.h>
	#include <stdint.h>
	#include <sys/time.h>
	#include <sys/resource.h>
	#include <unistd.h>
	#include <pthread.h>
	
	/* 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;
	}

<akpm@osdl.org>
	[PATCH] v850: use volatile qualifier on v850 test-n-bitop asm statements
	
	From: <miles@mcspd15.ucom.lsi.nec.co.jp> (Miles Bader)
	
	Otherwise the compiler can delete them (this is one of those "how on earth
	did it ever work before" moments).

<akpm@osdl.org>
	[PATCH] v850: make v850 dma-mapping.h header work when !CONFIG_PCI
	
	From: <miles@mcspd15.ucom.lsi.nec.co.jp> (Miles Bader)
	
	Is this something that should be done in <asm-generic/dma-mapping.h>?

<akpm@osdl.org>
	[PATCH] m68knommu: create dma-mapping.h
	
	From: <gerg@snapgear.com>
	
	Create a dma-mapping.h for m68knommu architecture.

<akpm@osdl.org>
	[PATCH] m68knommu: fix kernel_thread()
	
	From: <gerg@snapgear.com>
	
	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.

<akpm@osdl.org>
	[PATCH] m68knommu: Kconfig cleanup
	
	From: <gerg@snapgear.com>
	
	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

<akpm@osdl.org>
	[PATCH] m68knommu: comempci.c printk cleanup
	
	From: <gerg@snapgear.com>
	
	Cleanup m68knommu's comempci.c support code.  Add type to all printk calls.
	Patch originally from kernel janitors.

<akpm@osdl.org>
	[PATCH] m68knommu: coherent dma allocation
	
	From: <gerg@snapgear.com>
	
	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.

<akpm@osdl.org>
	[PATCH] m68knommu: build dma.c
	
	From: <gerg@snapgear.com>
	
	Add local m68knommu dma allocation code to build list.

<akpm@osdl.org>
	[PATCH] m68knommu cleanup setup.c (printk and irqreturn_t)
	
	From: <gerg@snapgear.com>
	
	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.

<akpm@osdl.org>
	[PATCH] m68knommu cleanup traps.c (printk and dump_stack)
	
	From: <gerg@snapgear.com>
	
	Add type to all printk calls in m68knommu traps.c.  Also added a modern
	dump_stack function.

<akpm@osdl.org>
	[PATCH] m68knommu: platform additions in linker script
	
	From: <gerg@snapgear.com>
	
	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

<akpm@osdl.org>
	[PATCH] m68knommu/coldfire: fix gcc cpu define
	
	From: <gerg@snapgear.com>
	
	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.

<akpm@osdl.org>
	[PATCH] m68knommu: add senTec vendor support to Makefile
	
	From: <gerg@snapgear.com>
	
	Add build support for the senTec vendor to m68knommu architecture Makefile.

<akpm@osdl.org>
	[PATCH] m68knommu: fault.c printk cleanup
	
	From: <gerg@snapgear.com>
	
	Add type field to printk calls.  Patch original provided by kernel
	janitors.

<akpm@osdl.org>
	[PATCH] m68knommu: mm/init.c printk cleanup
	
	From: <gerg@snapgear.com>
	
	Add type field to printk calls in m68knommu mm/init.c.  Patch originally
	from kernel janitors.

<akpm@osdl.org>
	[PATCH] m68knommu/ColdFire base DMA addresses
	
	From: <gerg@snapgear.com>
	
	Define the DMA register set base address array for those m68knommu/ColdFire
	CPU's that have a DMA engines.

<akpm@osdl.org>
	[PATCH] m68knommu: timers.c printk cleanup
	
	From: <gerg@snapgear.com>
	
	Add type field to printk calls in m68knommu timers.c

<akpm@osdl.org>
	[PATCH] m68knommu: auto-size DRAM on Motorola/5272 ColdFire board
	
	From: <gerg@snapgear.com>
	
	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).

<akpm@osdl.org>
	[PATCH] m68knommu: add start code for COBRA5272 board
	
	From: <gerg@snapgear.com>
	
	Add startup code specific to newly supported COBRA5272 board.

<akpm@osdl.org>
	[PATCH] m68knommu: use irqreturn_t in ColdFire 5282 setup code
	
	From: <gerg@snapgear.com>
	
	Fixes to the Motorola ColdFire 5282 setup code:
	
	. fix interrupt routine return types to be irqreturn_t
	. add DMA base addresses array

<akpm@osdl.org>
	[PATCH] m68knommu: add start code for COBRA5282 board
	
	From: <gerg@snapgear.com>
	
	Add start up code specific to the newly added COBRA5282 board.

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

<akpm@osdl.org>
	[PATCH] m68knommu: use irqreturn_t in ColdFire 5307 setup code
	
	From: <gerg@snapgear.com>
	
	Fixes to the Motorola ColdFire 5307 setup code:
	
	. fix interrupt routine return types to be irqreturn_t
	. add DMA base addresses array

<akpm@osdl.org>
	[PATCH] m68knommu: mm/5307/vectors.c printk cleanup
	
	From: <gerg@snapgear.com>
	
	Add type field to printk call.  Original patch supplied bu kernel janitors.

<akpm@osdl.org>
	[PATCH] m68knommu: conditional ROMfs copy for 5407 CLEOPATRA board
	
	From: <gerg@snapgear.com>
	
	Conditionaly copy an attached ROMfs filesystem in memory on kernel startup.
	This should only be done if there really is a ROMfs there.

<akpm@osdl.org>
	[PATCH] m68knommu: 68360 commproc.c printk cleanup
	
	From: <gerg@snapgear.com>
	
	Add type specifier to printk calls.  Original patch from kernel janitors.

<akpm@osdl.org>
	[PATCH] m68knommu: 68360 config.c printk cleanup
	
	From: <gerg@snapgear.com>
	
	Add type specifier to printk calls.  Patch originally from kernel janitors.

<akpm@osdl.org>
	[PATCH] m68knommu: 68EZ328 config.c printk cleanup
	
	From: <gerg@snapgear.com>
	
	Add type specifier to printk calls.  Patch originally from kernel janitors.

<akpm@osdl.org>
	[PATCH] 68knommu: use irqreturn_t in ColdFire 5407 setup code
	
	From: <gerg@snapgear.com>
	
	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

<akpm@osdl.org>
	[PATCH] 68knommu: use irqreturn_t in Motorola 68328 setup code
	
	From: <gerg@snapgear.com>
	
	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

<akpm@osdl.org>
	[PATCH] 68knommu: cleanup Motorola 68328 ints code
	
	From: <gerg@snapgear.com>
	
	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

<akpm@osdl.org>
	[PATCH] 68knommu: cleanup Motorola 68360 ints code
	
	From: <gerg@snapgear.com>
	
	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

<akpm@osdl.org>
	[PATCH] 68knommu: mk68knommu DragonEngine setup code printk cleanup
	
	From: <gerg@snapgear.com>
	
	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)

<akpm@osdl.org>
	[PATCH] 68knommu: cleanup startup code for 68EZ328 DragonEngine board
	
	From: <gerg@snapgear.com>
	
	Clean up debug trace in startup code of 68EZ328 DragonEngine board.

<akpm@osdl.org>
	[PATCH] 68knommu: 68EZ328/ucdimm setup code printk cleanup
	
	From: <gerg@snapgear.com>
	
	Add type specifier to printk calls in 68EZ328/ucdimm setup code.  Patch
	original from kernel janitors.

<akpm@osdl.org>
	[PATCH] 68knommu: add support for 64MHz clock for ColdFire boards
	
	From: <gerg@snapgear.com>
	
	Add support for boards that have a 64MHz clock to common Coldfire header.

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

<akpm@osdl.org>
	[PATCH] hugetlb consolidation
	
	From: William Lee Irwin III <wli@holomorphy.com>
	
	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.

<akpm@osdl.org>
	[PATCH] s390: core s390
	
	From: Martin Schwidefsky <schwidefsky@de.ibm.com>
	
	s390 core changes:
	 - Fix _raw_spin_trylock for 64 bit.
	 - Add clarification to s390 debug debug documentation.

<akpm@osdl.org>
	[PATCH] s390: common i/o layer
	
	From: Martin Schwidefsky <schwidefsky@de.ibm.com>
	
	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.

<akpm@osdl.org>
	[PATCH] s390: tape driver fixes
	
	From: Martin Schwidefsky <schwidefsky@de.ibm.com>
	
	Tape driver changes:
	 - Add missing break in tape_34xx_work_handler to avoid misleading message.
	 - Cleanup offline/remove code.

<akpm@osdl.org>
	[PATCH] s390: dasd driver fix
	
	From: Martin Schwidefsky <schwidefsky@de.ibm.com>
	
	dasd driver changes:
	 - Fix check for device type in error recovery for fba devices.

<akpm@osdl.org>
	[PATCH] s390: network driver fixes
	
	From: Martin Schwidefsky <schwidefsky@de.ibm.com>
	
	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.

<akpm@osdl.org>
	[PATCH] s390: dcss block driver fix
	
	From: Martin Schwidefsky <schwidefsky@de.ibm.com>
	
	DCSS block device driver changes:
	 - Fix remove_store function, put_device is called too early.

<akpm@osdl.org>
	[PATCH] s390: zfcp fixes (without kfree hack)
	
	From: Martin Schwidefsky <schwidefsky@de.ibm.com>
	
	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.

<akpm@osdl.org>
	[PATCH] s390: zfcp log messages part 1
	
	From: Martin Schwidefsky <schwidefsky@de.ibm.com>
	
	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.

<akpm@osdl.org>
	[PATCH] s390: zfcp log messages part 2
	
	From: Martin Schwidefsky <schwidefsky@de.ibm.com>
	
	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.

<akpm@osdl.org>
	[PATCH] s390: crypto device driver part 1
	
	From: Martin Schwidefsky <schwidefsky@de.ibm.com>
	
	The crypto device driver for PCICA & PCICC cards, part 1.

<akpm@osdl.org>
	[PATCH] s390: crypto device driver part 2
	
	From: Martin Schwidefsky <schwidefsky@de.ibm.com>
	
	The crypto device driver for PCICA & PCICC cards, part 2.

<bjorn.helgaas@hp.com>
	[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.

<kaneshige.kenji@jp.fujitsu.com>
	[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.

<akpm@osdl.org>
	[PATCH] s390: rewritten qeth driver
	
	From: Martin Schwidefsky <schwidefsky@de.ibm.com>
	
	The rewritten qeth network driver.

<akpm@osdl.org>
	[PATCH] Add queue congestion callout
	
	From: Miquel van Smoorenburg <miquels@cistron.nl>
	
	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.

<akpm@osdl.org>
	[PATCH] Implement queue congestion callout for device mapper
	
	From: Miquel van Smoorenburg <miquels@cistron.nl>
	      Joe Thornber <thornber@redhat.com>
	
	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.

<akpm@osdl.org>
	[PATCH] dmL remove __dm_request
	
	From: Joe Thornber <thornber@redhat.com>
	
	dm.c: remove __dm_request (merge with previous patch).

<akpm@osdl.org>
	[PATCH] per-backing dev unplugging
	
	From: Jens Axboe <axboe@suse.de>,
	      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.

<akpm@osdl.org>
	[PATCH] Use BIO_RW_SYNC in swap write page
	
	From: Jens Axboe <axboe@suse.de>
	
	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.

<akpm@osdl.org>
	[PATCH] unplugging: md update
	
	From: Neil Brown <neilb@cse.unsw.edu.au>
	
	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.

<akpm@osdl.org>
	[PATCH] Correct unplugs on nr_queued
	
	From: Jens Axboe <axboe@suse.de>
	
	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.

<akpm@osdl.org>
	[PATCH] CFQ io scheduler
	
	From: Jens Axboe <axboe@suse.de>
	
	CFQ I/O scheduler

<akpm@osdl.org>
	[PATCH] rmap 1 linux/rmap.h
	
	From: Hugh Dickins <hugh@veritas.com>
	
	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.

<akpm@osdl.org>
	[PATCH] rmap 2 anon and swapcache
	
	From: Hugh Dickins <hugh@veritas.com>
	
	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.

<akpm@osdl.org>
	[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.

<akpm@osdl.org>
	[PATCH] rmap 3 arches + mapping_mapped
	
	From: Hugh Dickins <hugh@veritas.com>
	
	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.

<akpm@osdl.org>
	[PATCH] rename page_to_nodenum()
	
	From: "Martin J. Bligh" <mbligh@aracnet.com>
	
	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.

<akpm@osdl.org>
	[PATCH] cyclades works OK on SMP
	
	From: Marcelo Tosatti <marcelo.tosatti@cyclades.com>
	
	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.

<akpm@osdl.org>
	[PATCH] dnotify_parent speedup
	
	From: Anton Blanchard <anton@samba.org>
	
	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.

<akpm@osdl.org>
	[PATCH] Feed floppy.c through Lindent
	
	From: "Randy.Dunlap" <rddunlap@osdl.org>

<akpm@osdl.org>
	[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

<akpm@osdl.org>
	[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.

<akpm@osdl.org>
	[PATCH] i386 probe_roms(): preparation
	
	From: Rene Herman <rene.herman@keyaccess.nl>
	
	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.

<akpm@osdl.org>
	[PATCH] i386 probe_roms(): fixes
	
	From: Rene Herman <rene.herman@keyaccess.nl>
	
	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.

<akpm@osdl.org>
	[PATCH] swsusp update: supports discontingmem/highmem
	
	From: Pavel Machek <pavel@ucw.cz>
	
	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.

<akpm@osdl.org>
	[PATCH] swsusp update: supports discontingmem/highmem fixes
	
	From: Pavel Machek <pavel@ucw.cz>
	
	It makes swsusp behave correctly w.r.t.  discontingmem, and adds highmem
	handling.

<akpm@osdl.org>
	[PATCH] Swsusp should not wake up stopped processes
	
	From: Pavel Machek <pavel@suse.cz>
	
	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.

<akpm@osdl.org>
	[PATCH] Correct kernel-doc comment with incorrect parameters documented
	
	From: "Randy.Dunlap" <rddunlap@osdl.org>
	
	From: Michael Still <mikal@stillhq.com>
	
	Correct kernel-doc comment with incorrect parameters documented

<akpm@osdl.org>
	[PATCH] get_user_pages shortcut for anonymous pages
	
	From: Martin Schwidefsky <schwidefsky@de.ibm.com>
	
	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.

<akpm@osdl.org>
	[PATCH] isicom.c: jiffies must be unsigned long
	
	From: Geert Uytterhoeven <geert@linux-m68k.org>
	
	jiffies must be unsigned long

<akpm@osdl.org>
	[PATCH] isicom.c: unused vars
	
	From: Geert Uytterhoeven <geert@linux-m68k.org>
	
	Recent serial changes moved some code, causing unused variable warnings.

<akpm@osdl.org>
	[PATCH] parport dependency fix
	
	From: Geert Uytterhoeven <geert@linux-m68k.org>
	
	PCI multi-IO card support depends on PCI

<akpm@osdl.org>
	[PATCH] DVB dependency fix
	
	From: Geert Uytterhoeven <geert@linux-m68k.org>
	
	DVB_TWINHAN_DST depends on DVB_BT8XX (dependency is explicitly mentioned in
	help text, but not enforced)

<akpm@osdl.org>
	[PATCH] isicom error path fix
	
	From: Geert Uytterhoeven <geert@linux-m68k.org>
	
	Variable error is not initialized, but printed if tty_unregister_driver()
	fails.

<akpm@osdl.org>
	[PATCH] QD65xx I/O ports fix
	
	From: Geert Uytterhoeven <geert@linux-m68k.org>
	
	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)

<akpm@osdl.org>
	[PATCH] Fix parportbook build again
	
	From: Herbert Xu <herbert@gondor.apana.org.au>
	
	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.

<akpm@osdl.org>
	[PATCH] saa7134 - Add two inputs for Asus TV FM
	
	From: Martin Hicks <mort@bork.org>
	
	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.

<akpm@osdl.org>
	[PATCH] pdaudiocf.c needs init.h
	
	From: Herbert Xu <herbert@gondor.apana.org.au>
	
	This patch makes this file includes linux/init.h since it uses the __init
	tag.

<akpm@osdl.org>
	[PATCH] don't offer GEN_RTC on ia64
	
	From: Bjorn Helgaas <bjorn.helgaas@hp.com>
	
	gen_rtc.c doesn't work on ia64 (we don't have asm/rtc.h, for starters), so
	don't offer it there.

<akpm@osdl.org>
	[PATCH] remove concatenation with __FUNCTION__ arch/*
	
	From: Tony Breeds <tony@bakeyournoodle.com>

<akpm@osdl.org>
	[PATCH] remove concatenation with __FUNCTION__ drivers/*
	
	From: Tony Breeds <tony@bakeyournoodle.com>

<akpm@osdl.org>
	[PATCH] remove concatenation with __FUNCTION__ include/*
	
	From: Tony Breeds <tony@bakeyournoodle.com>

<akpm@osdl.org>
	[PATCH] remove concatenation with __FUNCTION__ sound/*
	
	From: Tony Breeds <tony@bakeyournoodle.com>

<akpm@osdl.org>
	[PATCH] Fix Raid5/6 above 2 Terabytes
	
	From: Evan Felix <evan.felix@pnl.gov>
	
	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.

<akpm@osdl.org>
	[PATCH] make ibmasm driver uart support depend on SERIAL_8250
	
	From: Max Asbock <masbock@us.ibm.com>
	
	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.

<akpm@osdl.org>
	[PATCH] fix test_and_change_bit comment
	
	From: Paul Jackson <pj@sgi.com>
	
	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.

<akpm@osdl.org>
	[PATCH] ext2fs sb= mount option fix
	
	From: <achurch@achurch.org> (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.

<akpm@osdl.org>
	[PATCH] ext3fs sb= mount option fix
	
	From: <achurch@achurch.org> (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.

<akpm@osdl.org>
	[PATCH] fix for potential integer overflow in zoran driver
	
	From: "Ronald S. Bultje" <R.S.Bultje@students.uu.nl>
	
	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.

<akpm@osdl.org>
	[PATCH] mdacon.c warning fix.
	
	From: "Luiz Fernando N. Capitulino" <lcapitulino@prefeitura.sp.gov.br>
	
	drivers/video/console/mdacon.c:599: warning: initialization from
incompatible pointer type

<akpm@osdl.org>
	[PATCH] do_fork() error path memory leak
	
	From: <john.l.byrne@hp.com>
	
	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.

<akpm@osdl.org>
	[PATCH] Fix More Problems Introduced By Module Structure Added in modpost.c
	
	From: Rusty Russell <rusty@rustcorp.com.au>
	
	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.

<akpm@osdl.org>
	[PATCH] Rename bitmap_clear to bitmap_zero, remove CLEAR_BITMAP
	
	From: Rusty Russell <rusty@rustcorp.com.au>
	
	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.

<akpm@osdl.org>
	[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)

<akpm@osdl.org>
	[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)

<akpm@osdl.org>
	[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)

<akpm@osdl.org>
	[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)

<akpm@osdl.org>
	[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.

<akpm@osdl.org>
	[PATCH] framebuffer bugfix
	
	From: Arjan van de Ven <arjanv@redhat.com>
	
	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.

<akpm@osdl.org>
	[PATCH] fb_copy_cmap() fix
	
	From: Arjan van de Ven <arjanv@redhat.com>
	
	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.

<akpm@osdl.org>
	[PATCH] Make %docs depend on scripts_basic
	
	From: Sam Ravnborg <sam@ravnborg.org>
	
	From: Herbert Xu <herbert@gondor.apana.org.au>
	
	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.

<akpm@osdl.org>
	[PATCH] kbuild: cleaning in three steps
	
	From: Sam Ravnborg <sam@ravnborg.org>
	
	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.

<akpm@osdl.org>
	[PATCH] kbuild: external module support
	
	From: Sam Ravnborg <sam@ravnborg.org>
	
	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-<version>
	
	Output from build:
	/lib/modules/linux-<version>/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

<akpm@osdl.org>
	[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

<akpm@osdl.org>
	[PATCH] Add CONFIG_SYSFS
	
	From: Patrick Mochel <mochel@digitalimplant.org>
	
	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.

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

<akpm@osdl.org>
	[PATCH] cciss: /proc fix
	
	From: <mikem@beardog.cca.cpqcorp.net>
	
	This patch fixes a bug where /proc displays 1 less logical volume than is
	actually configured.  This causes problems for some installers.

<akpm@osdl.org>
	[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

<akpm@osdl.org>
	[PATCH] pmdisk is x86 only
	
	Only x86 implements pmdisk_arch_suspend().  So mark pmdisk as ia32-only, to
	avoid breaking allyesconfig.

<akpm@osdl.org>
	[PATCH] Oprofile: ARM/XScale PMU driver
	
	From: Zwane Mwaikambo <zwane@linuxpower.ca>
	
	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.

<khali@linux-fr.org>
	[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).

<khali@linux-fr.org>
	[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.

<khali@linux-fr.org>
	[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.

<khali@linux-fr.org>
	[PATCH] I2C: make I2C chip drivers return -EINVAL on error

<mhoffman@lightlink.com>
	[PATCH] I2C: fix asb100 bug
	
	Hi nymisi, Greg:
	
	* Nyeste Mihály <nymisi@freemail.hu> [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):

<khali@linux-fr.org>
	[PATCH] I2C: Fix voltage rounding in lm80
	
	This one line patch fixes voltage rounding in the lm80 chip driver.

<khali@linux-fr.org>
	[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.

<torvalds@ppc970.osdl.org>
	Delete unused files in sound/oss
	
	From Herbert Xu; the files aren't used anywhere, and
	shouldn't be there in the first place.

<kronos@kronoz.cjb.net>
	[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:

<marcel@holtmann.org>
	[PATCH] Fix sysfs class support for CAPI
	
	this patch fixes a bug in the CAPI TTY support, because the ->name value
	of the TTY driver shouldn't contain a "/". After changing this there are
	now a "capi20" TTY device and a "capi20" control device and so I renamed
	the control device to "capi". The userspace visible part must be done by
	udev and I added these two rules to restore the old namespace:
	
		# CAPI devices
		KERNEL="capi",          NAME="capi20", SYMLINK="isdn/capi20"
		KERNEL="capi*",         NAME="capi/%n"

<lxiep@us.ibm.com>
	[PATCH] PCI Hotplug: php_phy_location.patch
	
	Adds a file to show the pci hotplug slot location for the ppc64 driver
	only.

<davem@nuts.davemloft.net>
	[SPARC64]: Disable -Werror for a bit.

<geert@linux-m68k.org>
	[PATCH] Zorro devlist.h kbuild
	
	Zorro: Quieten building of devlist.h (cfr. PCI)

<geert@linux-m68k.org>
	[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)

<geert@linux-m68k.org>
	[PATCH] pm2fb barrier cleanup
	
	Permedia2: Always use the standard barrier macros (they do exist on m68k, and
	map to barrier())

<geert@linux-m68k.org>
	[PATCH] Amiga Zorro8390 Ethernet section conflict
	
	Zorro8390: const data cannot be in the init data section (from Roman Zippel)

<geert@linux-m68k.org>
	[PATCH] MVME16x RTC const
	
	MVME16x RTC: Make days_in_mo[] const

<geert@linux-m68k.org>
	[PATCH] Sun-3 duplicates
	
	Sun-3: Kill duplicate definitions:
	  - FC_CONTROL is defined in <asm/sun3-head.h>
	  - vectors[] is declared in <asm/traps.h>

<geert@linux-m68k.org>
	[PATCH] M68k vector definitions
	
	M68k: Add remaining CPU vector definitions

<geert@linux-m68k.org>
	[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

<geert@linux-m68k.org>
	[PATCH] Amikbd C99 cleanup
	
	Amikbd: Use C99 array initializers and standard key defines

<geert@linux-m68k.org>
	[PATCH] m68k I/O
	
	m68k: Use explicit-sized types for I/O accesses

<geert@linux-m68k.org>
	[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)

<geert@linux-m68k.org>
	[PATCH] M68k time update
	
	M68k: Update time adjustment code cfr. other architectures.
	(perhaps do_gettimeofday() is a good candidate for consolidation across
archs?)

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

<geert@linux-m68k.org>
	[PATCH] m68k show_interrupts bug
	
	M68k: Make sure machine-specific interrupts are always printed (bug
introduced
	by show_interrupts() conversion)

<akpm@osdl.org>
	[PATCH] hugetlbpage highmem fix
	
	From: Andy Whitcroft <apw@shadowen.org>
	
	When clearing a large page allocation ensure we use a page clear function
	which will correctly clear a ZONE_HIGHMEM page.

<akpm@osdl.org>
	[PATCH] kbuild: Create .tmp_versions when building external modules
	
	From: Sam Ravnborg <sam@ravnborg.org>
	
	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.

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

<akpm@osdl.org>
	[PATCH] get_files_struct cleanup
	
	From: Russell King <rmk@arm.linux.org.uk>
	
	Cleanup the 4 duplicate "get_files_struct" implementations into one
	get_files_struct() function to compliment put_files_struct().

<akpm@osdl.org>
	[PATCH] shrink VFS hash sizes on small machines
	
	From: Matt Mackall <mpm@selenic.com>
	
	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.

<akpm@osdl.org>
	[PATCH] fix vga16fb.c frame buffer bad memory mapping
	
	From: Vincent Sanders <vince@kyllikki.org>
	
	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.

<akpm@osdl.org>
	[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 <vda@port.imtp.ilyichevsk.odessa.ua> for performing
	the analysis.

<akpm@osdl.org>
	[PATCH] uninline seq_puts() and seq_putc()
	
	Saves 3.4k from my vmlinux.
	
	Thanks to Denis Vlasenko <vda@port.imtp.ilyichevsk.odessa.ua> for performing
	the analysis.

<akpm@osdl.org>
	[PATCH] uninline copy_to_user() and copy_from_user()
	
	40k reduction in my vmlinux.
	
	Thanks to Denis Vlasenko <vda@port.imtp.ilyichevsk.odessa.ua> for performing
	the analysis.

<akpm@osdl.org>
	[PATCH] Fix tmscsim on amd64
	
	From: Jeff Garzik <jgarzik@pobox.com>
	
	DC390_init() takes a long, not an int.

<akpm@osdl.org>
	[PATCH] m68knommu: change addr type to reduce casting in ColdFire serial
driver
	
	From: <gerg@snapgear.com>
	
	Change "addr" field type to reduce casting in ColdFire serial driver.

<akpm@osdl.org>
	[PATCH] m68knommu: fixes to the ColdFire serial driver
	
	From: <gerg@snapgear.com>
	
	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.

<akpm@osdl.org>
	[PATCH] m68knommu: fixes to the 68328 DragonBall serial driver
	
	From: <gerg@snapgear.com>
	
	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.

<akpm@osdl.org>
	[PATCH] Wrong return value in hfs_fill_super
	
	From: Nick Wellnhofer <wellnhofer@aevum.de>
	
	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.

<akpm@osdl.org>
	[PATCH] mips build fix
	
	From: Samium Gromoff <deepfire@sic-elvis.zel.ru>
	
	Without this one it fails to build.

<akpm@osdl.org>
	[PATCH] another mips build fix
	
	From: Samium Gromoff <deepfire@sic-elvis.zel.ru>
	
	Without this one it fails to build, too.

<akpm@osdl.org>
	[PATCH] pcmcia/rsrc_mgr.c warning fix.
	
	From: "Luiz Fernando N. Capitulino" <lcapitulino@prefeitura.sp.gov.br>,
	      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.

<akpm@osdl.org>
	[PATCH] Compile fix for macserial
	
	From: Jeff Mahoney <jeffm@suse.com>
	
	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.

<akpm@osdl.org>
	[PATCH] stack reductions: nfs root
	
	From: Arjan van de Ven <arjanv@redhat.com>
	
	root_nfs_name is called one in single threaded environment; can use static.

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

<akpm@osdl.org>
	[PATCH] ufs2_frag_map_fix : fixes wrong content reading in ufs2  code
	
	From: Niraj Kumar <niraj17@iitbombay.org>
	
	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.

<akpm@osdl.org>
	[PATCH] ppc64: Fix ibmveth.c compilation
	
	From: Paul Mackerras <paulus@samba.org>
	
	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.

<akpm@osdl.org>
	[PATCH] ppc64: restore r13 in an unrecoverable exception
	
	From: Anton Blanchard <anton@samba.org>
	
	We have to restore r13 when entering unrecoverable_exception.

<ganesh.venkatesan@intel.com>
	[PATCH] e1000: ethtool set/get eeprom fixes

<ganesh.venkatesan@intel.com>
	[PATCH] e1000: ethtool set/get ring param support

<ganesh.venkatesan@intel.com>
	[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

<ganesh.venkatesan@intel.com>
	[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.

<ganesh.venkatesan@intel.com>
	[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.

<ganesh.venkatesan@intel.com>
	[PATCH] e1000: New bit definitions, fix comments on loadtime parameters

<ganesh.venkatesan@intel.com>
	[PATCH] e1000: all other white space fixes, changelog

<ganesh.venkatesan@intel.com>
	[PATCH] e1000: replace if(retval=fn()) with retval=fn(); if (retval)

<brazilnut@us.ibm.com>
	[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.

<akpm@osdl.org>
	[PATCH] sk_mca multicast fix
	
	Spotted by Jean Delvare <khali@linux-fr.org>: it has its memset arguments the
	wrong way round.

<rmk@arm.linux.org.uk>
	[PATCH] etherh updates
	
	Update Acorn EtherH driver - convert to use mmio instead of emulated
	PIO.  Convert card-specific parameters to a data structure rather
	than code-based selected.
	
	Please review and submit upstream.  Thanks.

<mpm@selenic.com>
	[PATCH] netpoll early ARP handling
	
	Handle ARP requests while device is trapped before in_dev is
	initialized using netpoll config. Allows early kgdboe usage.
	
	From Stelian Pop <stelian@popies.net>

<mpm@selenic.com>
	[PATCH] netpoll transmit busy bugfix
	
	Fix for handling of full transmit queue when netpoll trap is enabled.
	
	From Stelian Pop <stelian@popies.net>

<p_gortmaker@yahoo.com>
	[netdrvr 8390] Fix 8390 log spam
	
	It seems that PCMCIA 8390 users get spammed with a few annoying
	messages upon card removal. I guess 8390 could be taught to better
	detect and deal with these things, but here is a quick fix.

<romieu@fr.zoreil.com>
	[PATCH] MAINTAINER entry for the r8169 driver.

<romieu@fr.zoreil.com>
	[PATCH] r8169: Missing 'static' qualifier for functions.

<romieu@fr.zoreil.com>
	[PATCH] r8169: correct irq handler return value
	
	The irq handler must not return 1 when the status register is null
	during the firt iteration.

<romieu@fr.zoreil.com>
	[PATCH] r8169: mod_timer() expects an absolute time, not a relative offset.

<rddunlap@osdl.org>
	[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 <tony@bakeyournoodle.com>
	>
	> "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(-)

<jgarzik@redhat.com>
	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.

<jgarzik@redhat.com>
	[netdrvr r8169] temporary build fix, until DMA_xxBIT_MASK is upstream

<stevef@stevef95.austin.ibm.com>
	fix merge problem with 2.6.5 (rename of page struct field list to lru)

<davidm@tiger.hpl.hp.com>
	ia64: Quiet another compiler-warning.

<davidm@tiger.hpl.hp.com>
	ia64: Drop pci_sal_ext_{read,write}() and instead simply switch to
		extended config-space addresses when needed.  This avoids
		the fragile SAL version testing.

<davidm@tiger.hpl.hp.com>
	ia64: When delivering a signal, force byte-order to little-endian.

<B.Zolnierkiewicz@elka.pw.edu.pl>
	[PATCH] ide-disk.c: workaround for bogus LBA48 drives
	
	From: Geert Uytterhoeven <geert@linux-m68k.org>
	
	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().

<B.Zolnierkiewicz@elka.pw.edu.pl>
	[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 <stoffel@lucent.com>.

<B.Zolnierkiewicz@elka.pw.edu.pl>
	[PATCH] zero 'hw_regs_t hw' allocated from stack in ide.c and ide-cs.c

<B.Zolnierkiewicz@elka.pw.edu.pl>
	[PATCH] asm-arm26/hdreg.h: use unsigned long for ide_ioreg_t

<B.Zolnierkiewicz@elka.pw.edu.pl>
	[PATCH] add asm-generic/hdreg.h
	
	Use it on all archs which define ide_ioreg_t to unsigned long.

<B.Zolnierkiewicz@elka.pw.edu.pl>
	[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.

<B.Zolnierkiewicz@elka.pw.edu.pl>
	[PATCH] asm-ia64/ide.h: use unsigned long instead of ide_ioreg_t

<B.Zolnierkiewicz@elka.pw.edu.pl>
	[PATCH] obsolete asm/hdreg.h

<akpm@osdl.org>
	[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.

<akpm@osdl.org>
	[PATCH] Fix ext3 add_nondir d_instantiate()
	
	It should be unconditional.

<akpm@osdl.org>
	[PATCH] Fix MSI IA64 Support Build Breakage
	
	From: "Nguyen, Tom L" <tom.l.nguyen@intel.com>
	
	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.

<akpm@osdl.org>
	[PATCH] update fix for potential integer overflow in zoran driver
	
	From: Dave Jones <davej@redhat.com>
	
	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

<ak@suse.de>
	[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

<davej@redhat.com>
	[CPUFREQ] Correcting SGTC.  Timer is based upon FSB
	From: Bruno Ducrot <ducrot@poupinou.org>
	
	I think this patch is needed especially if the FSB is around 166MHz or
	200MHz, or else I believe we get instabilities on some K7's motherboard
	powernow capable (it's called Cool'n Quiet IIRC).


	* Deduce fsb from cpu_khz and the max multiplier.  It will be given as kHz
now,
	  so that frequency associated to a multiplier will be computate more
	  accurately.  Also, we need it for SGTC (see below).
	* Fix how cpuid is computed in powernow_decode_bios().
	* Be more restrictive for PST.  It may be possible (on desktop shipped with
	  low power Athlon models) that FSB can be changed by dip switchs on
	  motherboard for example.
	* Fix computation for SGTC.  It use the bus timer (and then the bus
	  frequency given by fsb).
	

<dsaxena@net.rmk.(none)>
	[ARM PATCH] 1811/1: Set dma_handle to ~0 when coherent allocation too big
	
	Patch from Deepak Saxena
	

<davej@redhat.com>
	[CPUFREQ] don't use speedstep-centrino on unsupported CPUs
	
	From: Dominik Brodowski <linux@dominikbrodowski.de>
	
	Don't use the ACPI data on CPUs we don't know nothing about.

<rmk@flint.arm.linux.org.uk>
	[ARM] Fix builds using O=

<davej@redhat.com>
	[CPUFREQ] powernow-k7 ACPI integration.
	More from Bruno Ducrot.
	
	Warning: it will only half work on the ACER Aspire, though: there is
	no pstate in the DSDT corresponding to the max frequency...
	I'm looking how to handle that correctly, probably at the init stage,
	if the max frequency is not given, then add it to powernow_table.
	
	* Integrate acpi perflib from Dominik.
	* Use acpi if the PST tables are known to be broken (ASUS Aspire match one
PST,
	  but give brain damaged values), or use ACPI if no PST found.

<davej@redhat.com>
	[CPUFREQ] Drop unneeded part of last patch.
	acpi fallback is handled already in the init function.
	

<davej@redhat.com>
	[CPUFREQ] powernow-k7 needs to init later.
	Due to the possible dependancy on ACPI.

<rmk@flint.arm.linux.org.uk>
	[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.

<baldrick@free.fr>
	[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.

<baldrick@free.fr>
	[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.

<baldrick@free.fr>
	[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.

<jan@ccsinfo.com>
	[PATCH] USB: more ftdi devices

<martin.lubich@gmx.at>
	[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.

<len.brown@intel.com>
	[ACPI] fix x86_64 mis-merge

<davej@redhat.com>
	[CPUFREQ] Remove bogus newline in powernow-k7 driver.

<davej@redhat.com>
	[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.

<dsaxena@net.rmk.(none)>
	[ARM PATCH] 1810/1: Support for non-PXA XScale UARTs
	
	Patch from Deepak Saxena
	
	Supersedes 1809/1

<anton@samba.org>
	[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)

<anton@samba.org>
	[PATCH] large cpumask fix
	
	The RCU code was missing cpus_empty() in one place, required with large
	cpumasks.

<ambx1@neo.rr.com>
	[PNPBIOS] parse asci text name
	
	This patch fixes the unknown tag warning by adding support for the asci text 
	tag.

<ambx1@neo.rr.com>
	[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.

<ambx1@neo.rr.com>
	[PNP] sysfs entry "resource" fix
	
	This patch ensures the proper count is returned in pnp_set_current_resources.

<ambx1@neo.rr.com>
	[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.

<ambx1@neo.rr.com>
	[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.

<perex@suse.cz>
	[ISAPNP] MEM32 fix in read resources
	
	Corrects isapnp_read_resources so that it gets MEM32 information properly.

<rmk@flint.arm.linux.org.uk>
	[ARM] Fix __do_softirq breakage.

<rmk@flint.arm.linux.org.uk>
	[ARM] Use #defined constants for handle_mm_fault and __do_page_fault.

<khali@linux-fr.org>
	[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.

<sam@ravnborg.org>
	[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.

<davej@redhat.com>
	[CPUFREQ] Add a module parameter to force ACPI to be used.

<stevef@stevef95.austin.ibm.com>
	Fix misc. minor memory leaks in error paths

<davej@redhat.com>
	[CPUFREQ] Make powernow-k7 acpi debug output a little less verbose.

<davej@redhat.com>
	[CPUFREQ] powernow-k7 ACPI->PST values were a factor of 10 off.
	As much as I like the idea of a 13GHz laptop, setting it to 1.3GHz is
probably
	for the best for the time being.

<davej@redhat.com>
	[CPUFREQ] clear defaults before powernow-k7 acpi fallback
	Decoding the legacy tables may have set these values.

<m.c.p@kernel.linux-systeme.com>
	[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

<stevef@stevef95.austin.ibm.com>
	free cifs read buffer on retry

<daniel.ritz@gmx.ch>
	[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.

<jgarzik@redhat.com>
	[libata] abstract SCSI->ATA translation a bit

<jgarzik@redhat.com>
	[libata] move some PIO state init to its proper place

<jgarzik@redhat.com>
	[libata sata_promise] fix taskfile delivery cases
	
	We should only be touching the ATA shadow registers if we are doing
	PIO.

<torvalds@ppc970.osdl.org>
	Linux 2.6.6-rc1

<akpm@osdl.org>
	[PATCH] Fix mq_notify with SIGEV_NONE notification
	
	From: Jakub Jelinek <jakub@redhat.com>
	
		mq_notify (q, NULL)
	
	and
		struct sigevent ev = { .sigev_notify = SIGEV_NONE };
		mq_notify (q, &ev)
	
	are not the same thing in POSIX, yet the kernel treats them the same.  Only
	the former makes the notification available to other processes immediately,
	see
	
		http://www.opengroup.org/onlinepubs/007904975/functions/mq_notify.html
	
	Without the patch below,
	
		http://sources.redhat.com/ml/libc-hacker/2004-04/msg00028.html
	
	glibc test fails.
	
	I looked at mq in Solaris and they behave the same in this regard as Linux
	with this patch.  Kernel with this patch passes both Intel POSIX testsuite
	(with testsuite fixes from Ulrich) and glibc mq testsuite.

<akpm@osdl.org>
	[PATCH] radix-tree comment fix
	
	Fix various bogons and outright lies.

<akpm@osdl.org>
	[PATCH] mq_open() and close_on_exec
	
	From: Chris Wright <chrisw@osdl.org>
	
	SUSv3 doesn't seem to specify one way or the other.  I don't have the POSIX
	specs, and the old docs I have suggest that mq_open() creates an object
	which is to be closed upon exec.
	
	Jakub said:
	
	  I think it is valid and required:
	
	    http://www.opengroup.org/onlinepubs/007904975/functions/exec.html
	
	    All open message queue descriptors in the calling process shall be
	    closed, as described in mq_close()
	
	  I'll add a new test for this into glibc testsuite.

<akpm@osdl.org>
	[PATCH] ext3: journalled quotas
	
	From: Jan Kara <jack@ucw.cz>
	
	Journalled quota support for ext3: The patch consists of two parts - ext3
	changes and changes in generic quota code.  The main idea of the changes is
	that a transaction is always started before any operation which changes quota
	file and dirtifying of the quota causes its write to disk.  These two changes
	assure that quota change is journalled into the same transaction as the file
	change and hence after journal replay quota is consistent with the filesystem
	state.  As during journal replay inodes from orphan list are
deleted/truncated
	we have to do quota_on before the replay of the orphan list - this problem is
	solved by additional mount options to ext3 with quota file names and format.
	
	Some changes in generic code were also needed to assure that quota structure
	in file is always allocated and so ordinary quota operations (like
	adding/deleting a block/inode) need only a few blocks from the transaction.

<akpm@osdl.org>
	[PATCH] Add mqueue support to x86-64
	
	From: Andi Kleen <ak@suse.de>
	
	Add POSIX mqueue support to x86-64.

<akpm@osdl.org>
	[PATCH] light-weight auditing framework for s390.
	
	From: Martin Schwidefsky <schwidefsky@de.ibm.com>
	
	This patch adds the TIF_SYSCALL_AUDIT option to the s390 ptrace interface.

<akpm@osdl.org>
	[PATCH] posix messages queues for s390.
	
	From: Martin Schwidefsky <schwidefsky@de.ibm.com>
	
	The new message queue interface needs the following patch to get it working
	on s390 (31-bit, 64-bit and 31-bit compat).

<benh@kernel.crashing.org>
	[PATCH] ppc64: Fix possible duplicate MMU hash entries
	
	The current code has a subtle race where 2 hash PTEs can be inserted
	for the same virtual address for a short period of time. There should
	not be a stale one as the "old" one ultimately gets flushed, but the
	architecture specifies that having two hash PTE is illegal and can
	result in undefined behaviour.
	
	This patch fixes it by never clearing the _PAGE_HASHPTE bit when
	doing test_and_clear_{young,dirty}. That means that subsequent faults
	on those pages will have a bit more overhead to "discover" that the
	hash entry was indeed evicted.
	
	It also adds a small optisation to avoid doing the atomic operation
	and the hash flush in test_and_clear_dirty when the page isn't dirty
	or when setting write protect while it's already set.

<benh@kernel.crashing.org>
	[PATCH] ppc64: update g5_defconfig
	
	This adds IOMMU support & IOMU virtual merging to the default g5 config.
	
	This will not impair performances of machines that don't need the iommu
	(the kernel will only enable it if you have more than 2Gb of RAM, though
	you can explicitely enable it using a command line argument).

<James.Bottomley@SteelEye.com>
	[PATCH] fix 4k irqstacks on x86 (and add voyager support)
	
	There's a bug in the x86 code in that it sets the boot CPU to zero.
	
	This isn't correct since some subarch's use physically indexed CPUs. 
	However, subarchs have either set the boot cpu before irq_INIT() (or
	just inherited the default zero from INIT_THREAD_INFO()), so it's safe
	to believe current_thread_info()->cpu about the boot cpu.

<xschmi00@stud.feec.vutbr.cz>
	[PATCH] USB: Fix vicam debug compile, fix user access
	
	The last copy_from_user patch to the vicam driver broke compilation with
	VICAM_DEBUG on.
	
	There is also another copy_from_user missing in case VIDIOCSPICT. 
	
	This fixes both issues.

<James.Bottomley@SteelEye.com>
	[PATCH] fix non-PC subarchs which were broken by i386 probe_roms change
	
	The author apparently didn't understand that only the mach-default
	include directory is included by fallback for header files only.  You
	can't stick a .c file in mach-default and expect all subarchs to be able
	to use it.
	
	The correct fix is to put std_resources.c in the kernel directory and
	give it its own Kconfig symbol for conditional compile so that subarchs
	may choose to include it or not.

<geert@linux-m68k.org>
	[PATCH] Amiga Zorro8390 Ethernet section conflict
	
	Jeff Garzik notes that the previous cleanup highlights a bug:
	>
	> 	static const struct card_info {
	> 	    zorro_id id;
	> 	    const char *name;
	> 	    unsigned int offset;
	> 	} cards[] __initdata = {
	>
	> and the lone user is __devinit:
	>
	> static int __devinit zorro8390_init_one(struct zorro_dev *z,
	>                                        const struct zorro_device_id *ent)
	
	Here's the fix..

<stevef@stevef95.austin.ibm.com>
	Fix major page leak in read code caused by extra page_cache_get call

<stevef@smfhome.smfdom>
	check permission locally for servers that do not support the CIFS Unix
Extensions (allowing file_mode and dir_mode to augment the
	server permission check, by doing local vfs_permission check)

<davem@nuts.davemloft.net>
	[E1000]: e1000.h needs dma-mapping.h

<davem@nuts.davemloft.net>
	[IXGB]: ixgb.h needs dma-mapping.h

<adam@evdebs.org>
	[PATCH] NMI watchdog Pentium M support
	
	This adda nmi_watchdog=2 support to the Pentium M processor.  The P-M is
	a P6 chip, but it shares some chipset logic with the Pentium 4, so it
	requires this workaround to function.
	
	Without this patch, NMI gets stuck after 1 count.  With it, the NMI
	fires and breaks me out of UHCI-related hard lockups. 
	
	This patch is basically a modified version of the same patch for
	oprofile. See the threaded discussion here:
	
		http://lkml.org/lkml/2004/2/12/181

<anton@samba.org>
	[PATCH] ppc64: catch branch to 0 in real mode
	
	We have been debugging some strange fails where we branch to 0 in real
	mode. At the moment this results in the cpu running through the
	initialisation code and failing somewhere well into it.
	
	The following patch uses the featuring nop'ing code to remove the branch
	at real address 0 so it falls through to a trap instruction and gets
	caught early.

<anton@samba.org>
	[PATCH] ppc64: always initialise dn->type and dn->name
	
	This fix comes from ppc32. Always initialise dn->type and dn->name so
	that code doesnt have to check for NULL everywhere. There is at least
	one bug report where we oopsed because of this.

<benh@kernel.crashing.org>
	[PATCH] ppc64: Fix RTAS races on pSeries
	
	The low level kernel interface to RTAS (the firmware runtime services)
	was plagued with races that could cause from bogus results of RTAS
	operations to total machine crashes in some circumstances. This patch
	fix the ones I could identify, hoping I didn't miss any. I also added
	a WARN_ON (well, it's asm equivalent) to enter_rtas to make sure we
	never _ever_ try to call that with interrupts enabled.

<rmk@flint.arm.linux.org.uk>
	[ARM] Add --no-undefined to linker command line.
	
	Many binutils versions over the last year appear to silently build
	assembler files with undefined constants, and able to successfully
	create executables from such files.  The assembler appears to add
	undefined symbols to the symbol table without any corresponding
	relocation information.  Obviously this is bad news since the
	resulting executable may not be what the programmer intended.
	Work around the problem by forcing the linker to fail if there are
	any undefined symbols in the final object(s).

<davej@redhat.com>
	[CPUFREQ] Not all powernow-K7 BIOS's put the frequency at MAX at POST.

<stevef@stevef95.austin.ibm.com>
	Remove 64 bit compiler warning

<akpm@osdl.org>
	[PATCH] amd8111e retval fix
	
	drivers/net/amd8111e.c: In function `amd8111e_vlan_rx':
	drivers/net/amd8111e.c:677: warning: control reaches end of non-void function

<jgarzik@redhat.com>
	[netdrvr via-rhine] Fix MII phy scanning
	
	Noticed by Roger Luethi, via-rhine maintainer.

<brazilnut@us.ibm.com>
	[PATCH] pcnet32 transmit performance fix
	
	When the pcnet32 adapter is installed in a system with long PCI latency
	and the read burst bit is not set, performance on transmission is very
	low (under 20Mbit on a 100Mbit link).  This patch against 2.6.6-rc1 will
	make sure that read and write bursts are enabled.  Tested on ppc64 and
	ia32.

<davem@nuts.davemloft.net>
	[SPARC64]: Fix branch prediction in switch_to().

<mbp@vexed.ozlabs.hp.com>
	[PATCH] ia64: fpswa_interface needs to be exported
	
	efivars can be built as a module, but it depends on 'fpswa_interface'
	which is not exported by fpswa.c.  Patch below fixes this problem.

<ak@suse.de>
	[NET]: Do lazy gettimeofday for network packets.

<rmk@flint.arm.linux.org.uk>
	[ARM] Remove needless export of __do_softirq()

<ak@suse.de>
	[IPV6]: Limit network triggerable printks.

<arjanv@redhat.com>
	[NET]: Add some sparse annotations to network driver stack.

<rmk@flint.arm.linux.org.uk>
	[ARM] Update mach-types file.

<rmk@flint.arm.linux.org.uk>
	[ARM] Add __user address space identifiers for sparse.

<shemminger@osdl.org>
	[BRIDGE]: Include file cleanup.
	
	Cleanup some of the include file's in the bridge code.
	* if_bridge.h defines net_bridge, but not needed as part of the API.
	* get rid of places that include if_bridge.h and uaccess.h but don't
	  actually do API work.

<shemminger@osdl.org>
	[BRIDGE]: Fix rmmod race.
	
	Fix observed race between removing bridge module and ip packets
	in flight.  Need to remove the hook last, after all bridges are gone
	not the other way around.

<shemminger@osdl.org>
	[BRIDGE]: Make use of jiffies_to_clock.

<shemminger@osdl.org>
	[BRIDGE]: Use ethtool to get port speed.
	
	The bridge code needs to keep track of a cost estimate for each
	port in the bridge.  Instead of a hack based on device name, try
	and use ethtool to get port speed from device.  This has been tested
	on e100 (uses ethtool_ops) and e1000 (does ethtool the hard way)
	and dummy (no ethtool).
	
	Need to export dev_ethtool() to allow bridge module to get to
	it easily.
	
	Code takes care to maintain same locking and semantics as if ioctl
	was being done from application.

<shemminger@osdl.org>
	[BRIDGE]: Multicast address as const.

<shemminger@osdl.org>
	[BRIDGE]: Forwarding database changes.
	
	Make forwarding database more robust.  
	  + Don't insert invalid ether address,
	  + Report errors back so adding an interface to bridge can fail
	  + get rid of unneeded explicit pads in data structure
	  + replace bitfields with byte's for simple booleans.

<shemminger@osdl.org>
	[BRIDGE]: STP unsigned fields.
	
	Use correct types for fields related to spanning tree protocols.
	  * costs are 32 bit unsigned
	  * ports are 16 bit unsigned
	  * booleans are bytes rather than bitfield
	  * arrange for better packing

<shemminger@osdl.org>
	[BRIDGE]: Support lots of 1k ports.
	
	Support >256 ports on a bridge.  Use the suggestion of reducing
	the number of bits of priority and increasing the number of bits
	for port number.
	
	Easy to increase to even larger if necessary.

<shemminger@osdl.org>
	[BRIDGE]: FDB cache alloc.
	
	Since forwarding database gets a lot of memory alloc/free on a busy
	bridge, use kmem_cache_alloc to provide cache and better stats.

<shemminger@osdl.org>
	[BRIDGE]: Replace CLEAR_BITMAP with memset.

<viro@www.linux.org.uk>
	[PATCH] remount: fs/sysv fixes
	
	 - several variants of sysv fs are supported only r/o.  Driver does
	   force r/o on mount, but doesn't do anything on remount.  As the
	   result, one can remount them r/w and results are Not Pretty(tm).
	   Missing checks added, code cleaned up. 
	
	 - we had double-brelse() in v7fs - if sanity checks on root inode will
	   succeed, but allocation of root dentry fails, we brelse() the same
	   buffer_head twice.  Fixed.

<viro@www.linux.org.uk>
	[PATCH] remount: fs/udf fixes
	
	 - same problem as with sysv - mount-time checks for fs being good for
	   writing are absent on remount.  Check added.

<viro@www.linux.org.uk>
	[PATCH] remount: fs/openpromfs
	
	 - we should force noatime both on mount and remount.  Fixed.

<viro@www.linux.org.uk>
	[PATCH] remount: fs/jffs2
	
	 - jff2->remount_fs() was buggy - it played with sb->s_flags instead of
	   doing modifications to *flags (->s_flags will be overwritten using
	   *flags right after the call of ->remount_fs()).  Moreover, it tried
	   to do the wrong thing - it should just enforce noatime and be done
	   with that.  Fixed, ACKed by maintainer.

<viro@www.linux.org.uk>
	[PATCH] remount: forced-ro filesystems
	
	 - a bunch of r/o filesystems did force MS_RDONLY on mount but forgot to
	   do the same on remount.  Fixed.

<viro@www.linux.org.uk>
	[PATCH] remount: forced-nodiratime filesystems
	
	 - a bunch of filesystems force MS_NODIRATIME on mount but forgot to do
	   the same on remount.  Fixed.

<viro@www.linux.org.uk>
	[PATCH] remount: mount flags filtering
	
	 - we could pass MS_ACTIVE in mount flags and it would be passed into
	   ->get_sb(), leading to interesting failure modes.  This flag is only
	   for internal use (it's set once fill_super is complete and reset
	   before the inode eviction on umount); made sure that we never get
	   tricked into having it set it too early.

<mroos@linux.ee>
	[SPARC64]: Fix binfmt_elf32.c warning by redefining TASK_SIZE.

<jt@bougret.hpl.hp.com>
	[IRDA]: Convert vlsi_ir /proc/driver to seq_file.
	
	From Stephen Hemminger.

<jt@bougret.hpl.hp.com>
	[IRDA]: Fix handling of RD:RSP to be spec compliant
	
	From Martin Diehl.

<jt@bougret.hpl.hp.com>
	[IRDA]: Get rid of local CRC table in donauboe.
	
	From Stephen Hemminger.

<jt@bougret.hpl.hp.com>
	[IRDA]: Fix namespace pollution of print_ret_code.
	
	From Stephen Hemminger.

<jt@bougret.hpl.hp.com>
	[IRDA]: Rename handle_filter_request to irlan_filter_request.
	
	From Stephen Hemminger.

<jt@bougret.hpl.hp.com>
	[IRDA]: irlan_common cleanup.
	
	Minor type changes in irlan_common for clarity:
	- use const
	- init and exit can be static
	- use skb_queue_purge to flush queue
	- get rid of noisy old comment
	
	From Stephen Hemminger.

<jt@bougret.hpl.hp.com>
	[IRDA]: irlan_eth cleanup.
	
	Use IrTTP flow control to stop/wake netif
	  From Stephen Hemminger.
	Change irlan_eth device initialization:
	*bug* address never set in DIRECT mode because access not set
	      in alloc_netdev -> irlan_eth_setup path
	+ make eth_XXX handles static and provide alloc_irlandev hook
	+ use netdev_priv (and get rid of truly impossible ASSERT's)
	+ use skb_queue_purge

<jt@bougret.hpl.hp.com>
	[IRDA]: Replace sleep_on with wait_event
	
	From Stephen Hemminger.

<yoshfuji@linux-ipv6.org>
	[IPV6]: Use IANA icmpv6 type for MLDv2 report.

<nakam@linux-ipv6.org>
	[IPV6]: Fix IPSEC AH typo.

<takamiya@po.ntts.co.jp>
	[IPV6]: Fix OOPS in udp6 with extension headers using ancillary data.

<shemminger@osdl.org>
	[NET]: Fix lapbether bad scheduling while atomic.
	
	Bring up/down network devices with lapbether causes scheduling while
	atomic (if preempt enabled).
	
	The calls to rcu_read_lock are unnecessary since lapb_device_event
	is called from notifier with the rtnetlink semaphore held, it is
	already protected from the labp_devices list changing.

<B.Zolnierkiewicz@elka.pw.edu.pl>
	[PATCH] ide-probe.c: SanDisk is flash
	
	From: Meelis Roos <mroos@linux.ee>
	
	This is self-explanatory - former SunDisk renamed itself to SanDisk and
	now there are flash disks with both names.

<davej@redhat.com>
	[PATCH] Fix edd driver dereferencing before pointer checks.
	
	Lots of occurences of the same bug..

<davej@redhat.com>
	[PATCH] Fix mprotect bogus check.
	
	If we want to trap NULL vma's, we'd better be sure
	that we don't dereference it first..

<davem@nuts.davemloft.net>
	[BRIDGE]: br_fdb.c needs init.h

<marcel@holtmann.org>
	[PATCH] Fix typo in the openpromfs remount patch
	
	The just merged openpromfs remount patch contains a silly typo in the
	field of the super_operations structure.
	
	Fixed like this.

<torvalds@evo.osdl.org>
	Make sock_no_{get|set}opt() use the proper __user annotation

<torvalds@evo.osdl.org>
	Add sparse __safe annotation

<len.brown@intel.com>
	[ACPI] enable 440GX PIRQ router workaround

<davem@nuts.davemloft.net>
	[IPV6]: Fix esp6.c typo in LIMIT_NETDEBUG changes.

<proski@org.rmk.(none)>
	[PCMCIA] Conversion to module_param
	
	Patch from: Pavel Roskin
	
	As it turns out, mixing MODULE_PARM and module_param in one module is
	wrong.  The parameters specified in module_param are ignored.  I've just
	posted a patch to LKML that will detect this condition and warn about it.
	
	The new debugging code used the new-style module_param, which means that
	all instances of MODULE_PARM should be converted.  The attached patch does
	that.
	
	An additional bonus is that module_param_array provides the number of
	array elements.  This allowed me to change tcic.c and i82365.c to use
	this number for IRQ list.  This change was tested with i82365.  If
	"irq_list" is not specified, irq_list_count is 0.
	
	I set all permissions to 0444 to be safe.  I think we have no secrets
	from the users regarding those parameters.  If some parameters can be
	changed safely at the runtime, the permissions could be changed to 0644.
	I didn't examine how safe (and how useful) it would be, so it's 0444 for
	now.

<rmk@flint.arm.linux.org.uk>
	[SERIAL] Remove check_region()

<rmk@flint.arm.linux.org.uk>
	[SERIAL] Use module_param/module_param_array
	
	Update serial to use new module parameters rather than
	MODULE_PARM.

<rmk@flint.arm.linux.org.uk>
	[ARM] Add detailed documentation concerning ARM page tables
	
	This adds detailed documentation concerning how we map the Linux
	page table structure onto the hardware tables on ARM.  In addition,
	it also adds documentation describing how we emulate the "dirty"
	and "young" or "accessed" page table bits.
	
	This should be of interest to Linux MM developers.

<vandrove@vc.cvut.cz>
	[PATCH] Fix exec in multithreaded application
	
	The recent controlling terminal changes broke exec from multithreaded
	application because de_thread was not upgraded to new arrangement.  I
	know that I should not have LD_PRELOAD library which automatically
	creates one thread, but it looked like a cool solution to the problem I
	had.
	
	de_thread must initialize the controlling terminal information in the
	new thread group.

<akpm@osdl.org>
	[PATCH] dm: Fix 64/32 bit ioctl problems.
	
	From: Kevin Corry <kevcorry@us.ibm.com>
	
	Fix 64/32 bit ioctl problems.

<akpm@osdl.org>
	[PATCH] dm: Check the uptodate flag in sub-bios to see if there was an error.
	
	From: Kevin Corry <kevcorry@us.ibm.com>
	
	Check the uptodate flag in sub-bios to see if there was an error.  [Mike
	Christie]

<akpm@osdl.org>
	[PATCH] dm: Handle interrupts within suspend.
	
	From: Kevin Corry <kevcorry@us.ibm.com>
	
	Handle interrupts within suspend.

<akpm@osdl.org>
	[PATCH] dm: Use wake_up() rather than wake_up_interruptible()
	
	From: Kevin Corry <kevcorry@us.ibm.com>
	
	dm.c: Use wake_up() rather than wake_up_interruptible() with the eventq.

<akpm@osdl.org>
	[PATCH] dm: Log an error if the target has unknown target type, or zero
length.
	
	From: Kevin Corry <kevcorry@us.ibm.com>
	
	Log an error if the target has unknown target type, or zero length.

<akpm@osdl.org>
	[PATCH] dm: Correctly align the dm_target_spec structures during
retrieve_status().
	
	From: Kevin Corry <kevcorry@us.ibm.com>
	
	Correctly align the dm_target_spec structures during retrieve_status().

<akpm@osdl.org>
	[PATCH] dm: fix a comment
	
	From: Kevin Corry <kevcorry@us.ibm.com>
	
	Clarify the comment regarding the "next" field in struct dm_target_spec.  The
	"next" field has different behavior if you're performing a DM_TABLE_STATUS
	command than it does if you're performing a DM_TABLE_LOAD command.
	
	See populate_table() and retrieve_status() in drivers/md/dm-ioctl.c for more
	details on how this field is used.

<akpm@osdl.org>
	[PATCH] dm: avoid ioctl buffer overrun
	
	From: Kevin Corry <kevcorry@us.ibm.com>
	
	dm-ioctl.c::retrieve_status(): Prevent overrunning the ioctl buffer by making
	sure we don't call the target status routine with a buffer size limit of
	zero.  [Kevin Corry, Alasdair Kergon]

<akpm@osdl.org>
	[PATCH] dm: Use an EMIT macro in the status function.
	
	From: Kevin Corry <kevcorry@us.ibm.com>
	
	Striped: Use an EMIT macro in the status function.

<akpm@osdl.org>
	[PATCH] kNFSdv4: nfsd4_readdir fixes
	
	From: NeilBrown <neilb@cse.unsw.edu.au>
	
	From: "J. Bruce Fields" <bfields@fieldses.org>
	
	Fix out-of-spec errors in nfs4 readdir.  Add checks for bad cookie values.
	
	(plus compile fix from akpm)

<akpm@osdl.org>
	[PATCH] kNFSdv4: Fix bad error returm from svcauth_gss_accept
	
	From: NeilBrown <neilb@cse.unsw.edu.au>
	
	From: "J. Bruce Fields" <bfields@fieldses.org>
	
	Error return when the client supplies a bad service should be badcred.

<akpm@osdl.org>
	[PATCH] kNFSdv4: Keep state to allow replays for 'close' to work.
	
	From: NeilBrown <neilb@cse.unsw.edu.au>
	
	From: "J. Bruce Fields" <bfields@fieldses.org>
	
	From: Andros: Idea is to keep around a list of openowners recently released
	by closes, and make sure they stay around long enough so that replays still
	work.

<akpm@osdl.org>
	[PATCH] kNFSdv4: Allow locku replays aswell
	
	From: NeilBrown <neilb@cse.unsw.edu.au>
	
	From: "J. Bruce Fields" <bfields@fieldses.org>
	
	From: Andros: locku replies should be saved for possible replay as well.

<akpm@osdl.org>
	[PATCH] kNFSdv4: Improve how locking copes with replays
	
	From: NeilBrown <neilb@cse.unsw.edu.au>
	
	From: "J. Bruce Fields" <bfields@fieldses.org>
	
	From: Andros: Hold state_lock longer so the stateowner doesn't diseappear
	out from under us before we get the chance to encode the replay.  Don't
	attempt to save replay if we failed to find a stateowner.

<akpm@osdl.org>
	[PATCH] kNFSdv4: Set credentials properly when puutrootfh is used
	
	From: NeilBrown <neilb@cse.unsw.edu.au>
	
	The credentials (uid/gid) of a process are set when a filehandle is
	verified.  Nfsv4 allows requests without an explicit filehandle (instead,
	an implicit 'root' filehandle) so we much make sure the credentials are set
	for these requests too.
	
	From: "J. Bruce Fields" <bfields@fieldses.org>
	
	From: Andros: added a call to nfsd_setuser in nfsd4_putrootfh so that nfsd
	runs as the rpc->cred user.

<akpm@osdl.org>
	[PATCH] kNFSdv4: Implement server-side reboot recovery (mostly)
	
	From: NeilBrown <neilb@cse.unsw.edu.au>
	
	From: "J. Bruce Fields" <bfields@fieldses.org>
	
	From: Andros: Implement server-side reboot recovery (server now handles
	open and lock reclaims).  Not completely to spec: we don't yet store the
	state in stable storage that would be required to recover correctly in
	certain situations.

<akpm@osdl.org>
	[PATCH] kill submit_{bh,bio} return value
	
	From: Jeff Garzik <jgarzik@pobox.com>
	
	Nobody ever checks the return value of submit_bh(), and submit_bh() is the
	only caller that checks the submit_bio() return value.
	
	This changes the kernel I/O submission path -- a fast path -- so this
	cleanup is also a microoptimization.

<akpm@osdl.org>
	[PATCH] PCI MSI Kconfig consolidation
	
	From: Bjorn Helgaas <bjorn.helgaas@hp.com>
	
	This consolidates the PCI MSI configuration into drivers/pci/Kconfig,
	removing it from the i386, x86_64, and ia64 Kconfig.
	
	It also changes the default for ia64 from "y" to "n".  The default on i386
	is "n" already, and I'm not sure why ia64 should be different.

<akpm@osdl.org>
	[PATCH] remove buffer_error()
	
	From: Jeff Garzik <jgarzik@pobox.com>
	
	It was debug code, no longer required.

<akpm@osdl.org>
	[PATCH] Fix mq 32-bit compatibility
	
	From: Jakub Jelinek <jakub@redhat.com>
	
	The first change removes just a useless put_user (si_int and si_ptr are
	part of the same union, si_ptr is on all arches covering whole union), the
	rest is fixes for signal handling of SI_MESGQ.

<akpm@osdl.org>
	[PATCH] ppc64: hugepage cleanup
	
	From: David Gibson <david@gibson.dropbear.id.au>
	
	This is a small cleanup to the PPC64 hugepage code.  It removes an
	unhelpful function, removing some studlyCaps in the process.  It was
	originally this way to match the normal page path, but that has all been
	rewritten since.

<akpm@osdl.org>
	[PATCH] Add "commit=0" to reiserfs
	
	From: Bart Samwel <bart@samwel.tk>
	
	Add support for value 0 to the commit option of reiserfs.  Means "restore
	to the default value".  For the maximum commit age, this default value is
	normally read from the journal; this patch adds an extra variable to cache
	the default value for the maximum commit age.

<akpm@osdl.org>
	[PATCH] reiserfs: fsync() speedup
	
	From: Chris Mason <mason@suse.com>
	
	Updates the reiserfs-logging improvements to use schedule_timeout instead of
	yield when letting the transaction grow a little before forcing a commit for
	fsync/O_SYNC/O_DIRECT.
	
	Also, when one process forces a transaction to end and plans on doing the
	commit (like fsync), it sets a flag on the transaction so the journal code
	knows not to bother kicking the journal work queue.
	
	queue_delayed_work is used so that if we get a bunch of tiny transactions
	ended quickly, we aren't constantly kicking the work queue.
	
	These significantly improve reiserfs performance during fsync heavy
	workloads.

<akpm@osdl.org>
	[PATCH] reiserfs: remove final sleep_on
	
	From: Chris Mason <mason@suse.com>
	
	Get rid of the last sleep_on in the reiserfs code

<akpm@osdl.org>
	[PATCH] floppy98.c build fixes
	
	From: "Randy.Dunlap" <rddunlap@osdl.org>
	
	floppy98.c (along with other PC-9800 files) has not been updated lately.  It
	won't build currently (2.6.5).
	
	This patch makes floppy98 build cleanly.

<akpm@osdl.org>
	[PATCH] ipmi build fix
	
	From: Geert Uytterhoeven <geert@linux-m68k.org>
	
	While compiling drivers/char/ipmi/ipmi_si_intf.c in 2.6.6-rc1 on m68k, I
	noticed a missing include (needed for disable_irq_nosync() and enable_irq())

<akpm@osdl.org>
	[PATCH] ppc64: yet another hugepage cleanup
	
	From: David Gibson <david@gibson.dropbear.id.au>
	
	Trivial cleanup to flush_hash_hugepage() in the ppc64 hugepage code.

<akpm@osdl.org>
	[PATCH] Fix bogus get_page() calls in hugepage code
	
	From: David Gibson <david@gibson.dropbear.id.au>
	
	Some versions of follow_huge_addr() and follow_huge_pmd() are doing a
	get_page() on the target page.  They shouldn't: follow_page() returns an
	unpinned page and it is the caller's responsibility to pin the page (if
	desired) before dropping page_table_lock.

<akpm@osdl.org>
	[PATCH] mqueue permission fix
	
	From: Manfred Spraul <manfred@colorfullife.com>
	
	Any user can delete any entries in a mqueue mounted filesystem.  The attached
	patch prevents that.
	
	- remove the writable test from mq_unlink.
	
	- set the sticky bit in the root inode.  This affects both mq_unlink and
	  sys_unlink: only the owner (and root) should be allowed to remove queues.

<akpm@osdl.org>
	[PATCH] aty128fb dereference before null check
	
	From: Dave Jones <davej@redhat.com>

<akpm@osdl.org>
	[PATCH] ARM-related ptep_to_address() fix
	
	From: William Lee Irwin III <wli@holomorphy.com>
	
	rmk mentioned that ARM was borked as the relation, assumed by generic rmap,
	PTRS_PER_PTE*sizeof(pte_t) == PAGE_SIZE, fails to hold.  The following
	patch, developed jointly with him (or depending on POV, by him with me
	acting as codemonkey), is reported to resolve the issue.
	
	Specifically, while ARM dedicates an entire PAGE_SIZE -sized block of
	memory to each PTE table, the PTE table itself only spans half that, the
	remainder being dedicated to hardware-interpreted structures.  As the
	hardware structure must be contiguous, wider ptes can't be used.  So the
	core-visible PTE table only spans PAGE_SIZE/2 bytes, violating the
	assumption.  This corrects masking and scaling done in ptep_to_address().

<viro@parcelfarce.linux.theplanet.co.uk>
	[PATCH] Remove unused 'kobject' from superblock
	
	The field in question is
	  a) unused
	  b) damn next to impossible to use correctly, due to struct super_block
	     lifetime and locking rules.

<hugh@veritas.com>
	[PATCH] Fix vma corruption
	
	It occurred to me that if vma and new_vma are one and the same, then
	vma_relink_file will not do a good job of linking it after itself - in
	that pretty unlikely case when move_page_tables fails.
	
	And more generally, whenever copy_vma's vma_merge succeeds, we have no
	guarantee that old vma comes before new_vma in the i_mmap lists, as we
	need to satisfy Rajesh's point: that ordering is only guaranteed in the
	newly allocated case.
	
	We have to abandon the ordering method when/if we move from lists to
	prio_trees, so this patch switches to the less glamorous use of
	i_shared_sem exclusion, as in my prio_tree mremap.

<torvalds@ppc970.osdl.org>
	Allow non-LFS sendfile to work on LFS files.
	
	But obviously only if we're not passing in any offset pointer.
	
	This is how 2.4.x worked, and vsftpd relies on it.
	
	Bug reported by Chris < chris@scary.beasts.org>

<akpm@osdl.org>
	[PATCH] ppc64: Fix CPU hot unplug deadlock
	
	From: Benjamin Herrenschmidt <benh@kernel.crashing.org>
	
	My RTAS locking fixes incorrectly added a spinlock around the function used
	to stop a CPU, that function never returns, thus the lock becomes stale.
	The correct fix is to disable interrupts instead (the RTAS params beeing
	per-CPU, this should be safe enough)

<akpm@osdl.org>
	[PATCH] Fix unix module
	
	From: Rusty Russell <rusty@rustcorp.com.au>
	
	# lsmod
	Module                  Size  Used by
	1                      26060  6
	#
	
	The compiler #define's unix to 1: we use -DKBUILD_MODNAME=unix.  We used to
	#undef unix at the top of af_unix.c, but now the name is inserted by
	modpost, that doesn't help.
	
	#undef unix in modpost.c's generated C file.

<akpm@osdl.org>
	[PATCH] Oprofilefs cant handle > 99 cpus
	
	From: Anton Blanchard <anton@samba.org>
	
	Oprofilefs cant handle > 99 cpus. This should fix it.

<akpm@osdl.org>
	[PATCH] rmap: flush_dcache revisited
	
	From: Hugh Dickins <hugh@veritas.com>
	
	One of the callers of flush_dcache_page is do_generic_mapping_read, where
	file is read without i_sem and without page lock: concurrent truncation may
	at any moment remove page from cache, NULLing ->mapping, making
	flush_dcache_page liable to oops.  Put result of page_mapping in a local
	variable and apply mapping_mapped to that (if we were to check for NULL
	within mapping_mapped, it's unclear whether to say yes or no).
	
	parisc and arm do have other locking unsafety in their i_mmap(_shared)
	searching, but that's a larger issue to be dealt with down the line.

<akpm@osdl.org>
	[PATCH] rmap: swap_unplug page
	
	From: Hugh Dickins <hugh@veritas.com>
	
	Good example of "swapper_space considered harmful": swap_unplug_io_fn was
	originally designed for calling via swapper_space.backing_dev_info; but
	that way it loses track of which device is to be unplugged, so had to
	unplug all swap devices.  But now sync_page tests SwapCache anyway, can
	call swap_unplug_io_fn with page, which leads direct to the device.
	
	Reverted -mc4's CONFIG_SWAP=n fix, just add another NOTHING for it.
	Reverted -mc3's editorial adjustments to swap_backing_dev_info and
	swapper_space initializations: they document the few fields which are
	actually used now, as comment above them says (sound of slapped wrist).

<akpm@osdl.org>
	[PATCH] rmap: nonlinear truncation
	
	From: Hugh Dickins <hugh@veritas.com>
	
	The earlier changes introducing PageAnon left truncated pages mapped into
	nonlinear vmas unswappable.  Once we go to object-based rmap, it's
	impossible to find where file page is mapped once page->mapping cleared:
	switching them to anonymous is odd, and breaks strict commit accounting.
	
	So now handle truncation of nonlinear vmas correctly.  And factor in
	Daniel's cluster filesystem needs while we're there: when invalidating
	local cache, we do want to unmap shared pages from all mms, but we do not
	want to discard private COWed modifications of those pages (which
	truncation discards to satisfy the SIGBUS semantics demanded by specs).
	
	Drew from Daniel's patch (LKML 2 Mar 04), but didn't always follow it;
	fewer name changes, but still some - "unmap" rather than "invalidate".
	zap_page_range is not exported, safe to give it and all the too-many layers
	an extra zap_details arg, in normal cases just NULL.
	
	Given details, zap_pte_range checks page mapping or index to skip anon or
	untruncated pages.  I didn't realize before implementing, that in nonlinear
	case, it should set a file pte when truncating - otherwise linear pages
	might appear in place of SIGBUS.  I suspect this implies that ->populate
	functions ought to set file ptes beyond EOF instead of failing, but haven't
	changed them as yet.
	
	To avoid making yet another copy of that ugly linear pgidx test, added
	inline function linear_page_index (to pagemap.h to get PAGE_CACHE_SIZE,
	though as usual things don't really work if it differs from PAGE_SIZE). 
	Ooh, I thought I'd removed ___add_to_page_cache last time, do so now.
	
	unmap_page_range static, shift its hugepage check up into sole caller
	unmap_vmas.  Killed "killme" debug from unmap_vmas, not seen it trigger.
	unmap_mapping_range is exported without restriction: I'm one of those who
	believe it should be generally available.  But I'm wrongly placed to decide
	that, probably just sob quietly to myself if _GPL added later.

<akpm@osdl.org>
	[PATCH] jbd: journal_dirty_metadata locking speedup
	
	Reduce the locking coverage of the oft-used j_list_lock: the per-bh
	jbd_lock_bh_state() gives us sufficient locking of buffer_head and
	journal_head internals.

<akpm@osdl.org>
	[PATCH] Print warning for common symbols in modules
	
	From: Rusty Russell <rusty@rustcorp.com.au>
	
	People still build modules wrong, particularly without -fno-common.  The
	resulting modules don't load, but we should at least warn about it.

<akpm@osdl.org>
	[PATCH] set_anon_super locking fix
	
	Take the idr's lock while removing an element on the error path.  Spotted by
	Nathan Lynch <nathanl@austin.ibm.com>.

<akpm@osdl.org>
	[PATCH] Fix laptop mode writeback triggered by hdparm -y.
	
	From: Bart Samwel <bart@samwel.tk>
	
	Currently, an `hdparm -Y' can trigger a sync in laptop mode.  We should
	only count fs-originated requests as being "disk activity".

<akpm@osdl.org>
	[PATCH] fix visws build
	
	From: Andrey Panin <pazke@donpac.ru>
	
	this small patch fixes visws build error in 2.6.5.

<geert@linux-m68k.org>
	[PATCH] Amiga A2065 Ethernet debug
	
	Amiga A2065 Ethernet: Add missing variable in debug code

<geert@linux-m68k.org>
	[PATCH] Amiga Ariadne Ethernet KERN_*
	
	Amiga Ariadne Ethernet: Add KERN_* prefixes to printk() messages

<geert@linux-m68k.org>
	[PATCH] Amiga Hydra Ethernet KERN_*
	
	Amiga Hydra Ethernet: Add KERN_* prefixes to printk() messages

<geert@linux-m68k.org>
	[PATCH] Amiga Zorro8390 Ethernet KERN_*
	
	Amiga Zorro8390 Ethernet: Add KERN_* prefixes to printk() messages

<torvalds@ppc970.osdl.org>
	Fix permission problem on include/video/neomagic.h

<rmk@flint.arm.linux.org.uk>
	[ARM] Clean up ARM includes
	
	This removes a number of unnecessary includes from the ARM specific
	files throughout the kernel.  Most notably asm/pgalloc.h is
	needlessly included in several places.  There were some places
	including it as a means to get at the cache flushing functions,
	so this has been corrected.

<benh@kernel.crashing.org>
	[PATCH] Fix typo in previous patch
	
	This is my brown paper bag day, I sent you the wrong patch for
	fixing the deadlock in rtas.c, here's one to apply on top of current
	bk that fixes build.

<davej@redhat.com>
	[CPUFREQ] Fix debug build of powernow-k8
	From Paul Devriendt

<davej@redhat.com>
	[CPUFREQ] Fix up missing CONFIG_X86_POWERNOW_K8_ACPI 
	We don't need this, we can infer from CONFIG_ACPI_PROCESSOR

<davej@redhat.com>
	[CPUFREQ] Fix broken cast.
	This breaks on x86-64 with the following warning.
	
	drivers/cpufreq/cpufreq_userspace.c: In function `cpufreq_procctl':
	drivers/cpufreq/cpufreq_userspace.c:170: warning: cast from pointer to
integer of different size
	drivers/cpufreq/cpufreq_userspace.c: In function `cpufreq_sysctl':
	drivers/cpufreq/cpufreq_userspace.c:208: warning: cast from pointer to
integer of different size

<olh@suse.de>
	[PATCH] mace register_netdev printk
	
	small cosmetic fix for powermac mace network driver.
	
	eth%d: MACE at 00:05:02:f4:1b:1d, chip revision 25.64
	vs.
	eth0: MACE at 00:05:02:f4:1b:1d, chip revision 25.64

<akpm@osdl.org>
	[PATCH] 3c509 oops fix
	
	If __ISAPNP__ and CONFIG_X86_PC9800 are not set, we forget to link the device
	into the global chain and el3_init_module dereferences NULL.

<jgarzik@redhat.com>
	[wireless orinoco] Remove bogus !dev check
	
	Caught by Stanford checker.

<chrisw@osdl.org>
	[PATCH] wan sdla:  fix probable security hole
	
	> [BUG] minor
	> /home/kash/linux/linux-2.6.5/drivers/net/wan/sdla.c:1206:sdla_xfer:
	> ERROR:TAINT: 1201:1206:Passing unbounded user value "(mem).len" as arg 0
	> to function "kmalloc", which uses it unsafely in model
	> [SOURCE_MODEL=(lib,copy_from_user,user,taintscalar)]
	> [SINK_MODEL=(lib,kmalloc,user,trustingsink)]  [MINOR]  [PATH=] [Also
	> used at, line 1219 in argument 0 to function "kmalloc"]
	> static int sdla_xfer(struct net_device *dev, struct sdla_mem *info, int
	> read)
	> {
	> 	struct sdla_mem mem;
	> 	char	*temp;
	>
	> Start --->
	> 	if(copy_from_user(&mem, info, sizeof(mem)))
	> 		return -EFAULT;
	>
	> 	if (read)
	> 	{
	> Error --->
	> 		temp = kmalloc(mem.len, GFP_KERNEL);
	> 		if (!temp)
	> 			return(-ENOMEM);
	> 		sdla_read(dev, mem.addr, temp, mem.len);
	
	Hrm, I believe you could use this to read 128k of kernel memory.
	sdla_read() takes len as a short, whereas mem.len is an int.  So,
	if mem.len == 0x20000, the allocation could still succeed.  When cast
	to short, len will be 0x0, causing the read loop to copy nothing into
	the buffer.  At least it's protected by a capable() check.  I don't
	know what proper upper bound is for this hardware, or how much it's
	used/cared about.  Simple memset() is trivial fix.

<chrisw@osdl.org>
	[PATCH] remove redundant check in de2104x ->get_regs()
	
	Trivial patchlet...ethtool core already caps regs.len at a max of
	->get_regs_len():
	
		reglen = ops->get_regs_len(dev);
		if (regs.len > reglen)
			regs.len = reglen;
	
	So doing the same in the in de2104x driver ->get_regs() is redundant.
	Patch below simply removes it to clarify the guarantee of the API.

<jgarzik@redhat.com>
	[hamradio baycom] Remove bogus check in interrupt handler
	
	Tangentially noticed by Stanford checker.

<jgarzik@redhat.com>
	[netdrvr rcpci] Remove bogus check in ->remove handler

<jgarzik@redhat.com>
	[netdrvr r8169] remove driver-local DMA_xxBIT_MASK definitions
	
	They are now upstream, we don't need driver-local ones anymore.

<bunk@fs.tum.de>
	[PATCH] fix warning in drivers/net/tulip/timer.c
	
	I get the following warning in 2.6.5-mm6 and 2.6.6-rc1:
	
	<--  snip  -->
	
	...
	  CC      drivers/net/tulip/timer.o
	drivers/net/tulip/timer.c: In function `comet_timer':
	drivers/net/tulip/timer.c:156: warning: unused variable `ioaddr'
	...
	
	<--  snip  -->
	
	
	Since the
	   [netdrvr tulip] add MII support for Comet chips
	patch has removed the only use of this variable, the fix is simple:

<chrisw@osdl.org>
	[PATCH] e1000: fix probable security hole
	
	* Ken Ashcraft (ken@coverity.com) wrote:
	> [BUG]
	>
/home/kash/linux/linux-2.6.5/drivers/net/e1000/e1000_ethtool.c:1494:e1000_ethtool_ioctl: 
ERROR:TAINT: 1487:1494:Passing unbounded user value "(regs).len" as arg 2 to 
function "copy_to_user", which uses it unsafely in model 
[SOURCE_MODEL=(lib,copy_from_user,user,taintscalar)] 
[SINK_MODEL=(lib,copy_to_user,user,trustingsink)]    [PATH=]
	> 	}
	> 	case ETHTOOL_GREGS: {
	> 		struct ethtool_regs regs = {ETHTOOL_GREGS};
	> 		uint32_t regs_buff[E1000_REGS_LEN];
	>
	> Start --->
	> 		if(copy_from_user(&regs, addr, sizeof(regs)))
	> 			return -EFAULT;
	> 		e1000_ethtool_gregs(adapter, &regs, regs_buff);
	> 		if(copy_to_user(addr, &regs, sizeof(regs)))
	> 			return -EFAULT;
	>
	> 		addr += offsetof(struct ethtool_regs, data);
	> Error --->
	> 		if(copy_to_user(addr, regs_buff, regs.len))
	> 			return -EFAULT;
	>
	> 		return 0;
	
	Looks like a bug.  Possible patch below zeros the buffer (since it's not
	filled completely by e1000_ethtool_gregs()), and truncates len.

<shemminger@osdl.org>
	[PATCH] Mixed PCI/ISA device name conflicts
	
	In systems with mixed network cards, and all drivers compiled into
	the kernel; the PCI device (eth0) will get probed first, before the ISA.
	
	The problem is that the ISA device can mistakenly try to probe
	for eth0.  The problem is that the ISA driver will not detect the failure
	until it goes to call register_netdevice, and not all drivers have
	perfect error unwind code.
	
	This patch short circuits the device probe, so it won't bother
	looking for devices that already are registered.

<rmk@arm.linux.org.uk>
	[PATCH] fix arm/etherh.c
	
	On Tue, Apr 13, 2004 at 02:35:40PM -0400, Jeff Garzik wrote:
	> Russell,
	>
	> Would you be willing to provide an updated diff of this?
	
	I didn't particularly like the PRIV() method implemented previously -
	gcc appears to want to avoid some optimisations it if its an inline
	function rather than a macro.
	
	Also, 'ei_local' may look unused in some functions, but it's your
	typical hidden-use-in-a-macro crap which 8390 likes.

<bjorn.helgaas@hp.com>
	[PATCH] Fix hw_random build on ia64
	
	The following patch allows hw_random.c to build on ia64.  (The problem
	was just that the VIA stuff has i386 assembly in it.  The current code
	only probes for VIA on i386 anyway, so this patch just adds more ifdefs
	so the VIA code is only built for i386.)

<achirica@telefonica.net>
	[PATCH] airo: Fix suspend support

<shemminger@osdl.org>
	[PATCH] remove 8139too ring size option.
	
	On Wed, 31 Mar 2004 15:05:16 -0500
	Jeff Garzik <jgarzik@pobox.com> wrote:
	
	> I really should remove the ability to configure 8139_RXBUF_IDX=3.

<brazilnut@us.ibm.com>
	[PATCH] pcnet32.c add support for 79C976
	
	Please apply the following patch to 2.6.5-rc2-bk9 and 2.4.26-rc1 to
	include support for the 79C976. Tested on IA32.

<akpm@osdl.org>
	[PATCH] Call SET_NETDEV_DEV() in a bunch of net drivers
	
	Used for sysfs support.

<daniel.ritz@gmx.ch>
	[PATCH] missing s/dev->priv/netdev_priv(dev) in drivers/net/pcmcia/
	
	On Wednesday 24 March 2004 23:25, Jeff Garzik wrote:
	> Daniel Ritz wrote:
	> > clean up the last two instances of dev->priv in drivers/net/pcmcia.
	> > against 2.6.5-rc2-bk.
	> >
	> > --- 1.27/drivers/net/pcmcia/3c589_cs.c	Wed Mar  3 01:03:51 2004
	> > +++ edited/drivers/net/pcmcia/3c589_cs.c	Wed Mar 24 22:29:35 2004
	> > @@ -716,7 +716,7 @@
	> >  	  "status %4.4x.\n", dev->name, (long)skb->len,
	> >  	  inw(ioaddr + EL3_STATUS));
	> >
	> > -    ((struct el3_private *)dev->priv)->stats.tx_bytes += skb->len;
	> > +    ((struct el3_private *)netdev_priv(dev))->stats.tx_bytes +=
skb->len;
	> >
	> >      /* Put out the doubleword header... */
	> >      outw(skb->len, ioaddr + TX_FIFO);
	> > --- 1.24/drivers/net/pcmcia/ibmtr_cs.c	Wed Mar  3 01:06:03 2004
	> > +++ edited/drivers/net/pcmcia/ibmtr_cs.c	Wed Mar 24 22:29:51 2004
	> > @@ -444,7 +444,7 @@
	> >          link->state &= ~DEV_PRESENT;
	> >          if (link->state & DEV_CONFIG) {
	> >  	    /* set flag to bypass normal interrupt code */
	> > -	    ((struct tok_info *)dev->priv)->sram_virt |= 1;
	> > +	    ((struct tok_info *)netdev_priv(dev))->sram_virt |= 1;
	> >  	    netif_device_detach(dev);
	> >  	    ibmtr_release(link);
	>
	>
	> although the patch is OK, the code itself is a bit yucky.
	>
	> Can you please create a temporary variable, of struct el3_private or
	> tok_info type, and eliminate that cast?
	>
	> struct el3_private *priv = netdev_priv(dev);
	> priv->stats.tx_bytes += skb->len;
	>
	> Much nicer :)
	>
	
	agreed. here we go...

<proski@gnu.org>
	[PATCH] Tulip endianess fix
	
	My tulip ethernet card doesn't work on Blue&White G3 PowerMac with Linux
	2.6.5-rc2.  The card is shown by lspci as
	
	01:03.0 Ethernet controller: Linksys Network Everywhere Fast Ethernet
	10/100 model NC100 (rev 11)
	
	The kernel detects it as "ADMtek Comet rev 17".
	
	The MAC address reported by the kernel looked obviously wrong.  Also, I
	could only ping the system successfully if the interface was in promiscuous
	mode (running Ethereal).
	
	Those two symptoms indicated two different problems - one for reading the
	MAC address from the card on module load (tulip_init_one), and the other
	for writing the address to the card when the interface was brought up
	(tulip_up).  I have fixed both, and here's the explanation:
	
	tulip_init_one:
	
	When reading the first 4 bytes of the address, inl() returns the same data
	to the CPU on all platforms, interpreting the data from the lowest port
	address as the least significant byte.  In other words, I/O is little
	endian on all platforms; it's the memory that differs across platforms.
	We want to write the data to memory preserving little-endianness of the
	PCI bus.  To force little endian write to the memory, the data should be
	converted to the little endian format.
	
	When reading the remaining 2 bytes, the CPU gets them in 2 least
	significant bytes.  To write those 2 bytes to the memory in a 16-bit
	operation, they should be byte-swapped for the 16-bit operation.
	
	tulip_up:
	
	The first 4 bytes are processed correctly, but the code is confusing.
	Reading from memory needs conversion to CPU format, while writing to I/O
	ports doesn't.  So I replaced cpu_to_le32() to le32_to_cpu().
	
	The second 2 bytes are read in a 16-bit memory operation, so they should
	be passed to le16_to_cpu() rather than cpu_to_le32() to make them CPU
	independent and suitable for outl().
	
	
	All those conversions do nothing on little-endian machines, so they should
	not be affected.
	
	The patch has been tested.  The driver is working fine.  ping is OK, ssh
	is OK, X11 over ssh is OK.  Even netconsole is working fine.

<stevef@stevef95.austin.ibm.com>
	Remove "badness in remove_proc_entry" warning logged on module unload of cifs

<jakub@redhat.com>
	[SPARC]: Add MQ syscall support.

<sri@us.ibm.com>
	[SCTP] Avoid the use of constant SCTP_IP_OVERHEAD to determine the 
	max data size in a SCTP packet.
	
	Calculate the overhead based on the socket's protocol family header
	length.

<sri@us.ibm.com>
	[SCTP] Cleanup sctp_packet and sctp_outq infrastructure.

<sri@us.ibm.com>
	[SCTP] Partial Reliability Extension support.

<aj@andaco.de>
	[TG3]: Fix typo in TG3_TSO_FW_RODATA_ADDR definition.

<sri@us.ibm.com>
	[SCTP] Propagate error from sctp_proc_init. (Olaf Kirch)

<akpm@osdl.org>
	[ATM]: Warning fix for lec.h

<akpm@osdl.org>
	[NET]: Fix pc300_drv warnings.

<herbert@gondor.apana.org.au>
	[IPV6]: Prevent IPV6=m and IP6_NF_QUEUE=y

<bbuesker@qualcomm.com>
	[IPSEC]: Add SPD priority for PF_KEY interface.

<akpm@osdl.org>
	[PATCH] ppc/ppc64: Add posix message queue syscalls
	
	From: Benjamin Herrenschmidt <benh@kernel.crashing.org>
	
	This patch adds the posix message queue syscalls to ppc32 and 64 and fixes
	our implementation of compat copy siginfo to 32 bits userland which wasn't
	using the si_code but still doing a switch/case on the signal number.
	
	I also reserved some syscalls for the numa API

<akpm@osdl.org>
	[PATCH] CPU_MASK_ALL fix
	
	From: Nick Piggin <nickpiggin@yahoo.com.au>
	
	Do the typecast thing to permit CPU_MASK_ALL to be used both as an
	initialiser and as a normal rvalue.

<akpm@osdl.org>
	[PATCH] Rename PF_IOTHREAD to PF_NOFREEZE
	
	From: Nigel Cunningham <ncunningham@users.sourceforge.net>
	
	A few weeks ago, Pavel and I agreed that PF_IOTHREAD should be renamed to
	PF_NOFREEZE.  This reflects the fact that some threads so marked aren't
	actually used for IO while suspending, but simply shouldn't be frozen.
	This patch, against 2.6.5 vanilla, applies that change.  In the
	refrigerator calls, the actual value doesn't matter (so long as it's
	non-zero) and it makes more sense to use PF_FREEZE so I've used that.

<akpm@osdl.org>
	[PATCH] idr.c: extra features enhancements
	
	From: Jim Houston <jim.houston@comcast.net>
	
	- Adds idr_get_new_above(), whihc permits us to do a first-fit search
	  from a specified offset rather than always from zero.
	
	- Add IDR_INIT() DEFINE_IDR() constructors.  Often idr's are singletons
	  and having to cook up an initcall for them is a pain.
	
	This is needed by the "Increase number of dynamic inodes in procfs" patch.

<akpm@osdl.org>
	[PATCH] fix load_elf_binary error path on unshare_files error
	
	From: Chris Wright <chrisw@osdl.org>
	
	Make sure to return proper retval on unshare_files() error in
load_elf_binary.
	
	Error noted by Kirill Korotaev <kirillx@7ka.mipt.ru>.

<akpm@osdl.org>
	[PATCH] Increase number of dynamic inodes in procfs
	
	From: Nathan Lynch <nathanl@austin.ibm.com>
	
	On some larger ppc64 configurations /proc/device-tree is exhausting procfs'
	dynamic (non-pid) inode range (16K).  This patch makes the dynamic inode
	range 0xf0000000-0xffffffff and changes the inode number allocator to use
	the idr.c allocator for the first-fit allocations.

<akpm@osdl.org>
	[PATCH] direct-IO return type fixes
	
	From: me, Badari Pulavarty <pbadari@us.ibm.com>
	
	Currently a direct-IO read or write of more than 2G on 64-bit machines is
	broken.  Replace int with ssize_t in various places to fix that up.

<akpm@osdl.org>
	[PATCH] Fix default value for commit interval for older reiserfs filesystems.
	
	From: Bart Samwel <bart@samwel.tk>
	
	The reiserfs patch that adds support for "commit=0" saves the default max
	commit age in a variable when the fs is originally mounted, so that it can
	later restore it.  Unfortunately it makes some mistakes with that:
	
	- The default is not saved when the original mount has a commit=NNN option.
	
	- The default is not correctly saved for older reiserfs filesystems, where
	  the default was not stored on disk.
	
	This patch fixes these mistakes.

<akpm@osdl.org>
	[PATCH] From: David Gibson <david@gibson.dropbear.id.au>
	
	hugepage_vma() is both misleadingly named and unnecessary.  On most archs it
	always returns NULL, and on IA64 the vma it returns is never used.  The
	function's real purpose is to determine whether the address it is passed is a
	special hugepage address which must be looked up in hugepage pagetables,
	rather than being looked up in the normal pagetables (which might have
	specially marked hugepage PMDs or PTEs).
	
	This patch kills off hugepage_vma() and folds the logic it really needs into
	follow_huge_addr().  That now returns a (page *) if called on a special
	hugepage address, and an error encoded with ERR_PTR otherwise.  This also
	requires tweaking the IA64 code to check that the hugepage PTE is present in
	follow_huge_addr() - previously this was guaranteed, since it was only called
	if the address was in an existing hugepage VMA, and hugepages are always
	prefaulted.

<akpm@osdl.org>
	[PATCH] h8300 stack bounds checking
	
	From: William Lee Irwin III <wli@holomorphy.com>
	
	The stack is now shared with struct thread_info on most arches, not task_t.
	This mostly affects get_wchan() and stack usage debug.

<akpm@osdl.org>
	[PATCH] m68k stack bounds checking
	
	From: William Lee Irwin III <wli@holomorphy.com>
	
	The stack is now shared with struct thread_info on most arches, not task_t.
	This mostly affects get_wchan() and stack usage debug.

<akpm@osdl.org>
	[PATCH] m68knommu stack bounds checking
	
	From: William Lee Irwin III <wli@holomorphy.com>
	
	The stack is now shared with struct thread_info on most arches, not task_t.
	This mostly affects get_wchan() and stack usage debug.

<akpm@osdl.org>
	[PATCH] ppc32 stack bounds checking
	
	From: William Lee Irwin III <wli@holomorphy.com>
	
	The stack is now shared with struct thread_info on most arches, not task_t.
	This mostly affects get_wchan() and stack usage debug.

<akpm@osdl.org>
	[PATCH] sparc32 stack bounds checking
	
	From: William Lee Irwin III <wli@holomorphy.com>
	
	The stack is now shared with struct thread_info on most arches, not task_t.
	This mostly affects get_wchan() and stack usage debug.

<akpm@osdl.org>
	[PATCH] nfs token table can be  __initdata
	
	nfs token table can be  __initdata

<akpm@osdl.org>
	[PATCH] Warn if module_param and MODULE_PARM mixed
	
	From: Rusty Russell <rusty@rustcorp.com.au>
	
	From: Pavel Roskin <proski@gnu.org>
	
	If you use both module_param (new) and MODULE_PARM (obsolete) in a module,
	only the second gets recognised.  Warn.

<stevef@stevef95.austin.ibm.com>
	Add in cifs fcntl handling to fix remote dnotify problem

<torvalds@evo.osdl.org>
	Remove unnecessary declaration of inline functions

<B.Zolnierkiewicz@elka.pw.edu.pl>
	[PATCH] ide.c: split init_hwif_default() out of init_hwif_data()

<B.Zolnierkiewicz@elka.pw.edu.pl>
	[PATCH] ide_init_default_hwifs() -> ide_init_default_irq()
	
	init_ide_data() initializes default IDE interfaces but without default IRQ
	(hwif->irq and hwif->hw.irq fields) so introduce ide_init_default_irq() and
	remove redundant ide_init_default_hwifs() (except arm26 and arm ones).
	
	As a side-effect it fixes:
	- CONFIG_BLK_DEV_HD_IDE if !CONFIG_BLK_DEV_IDEPCI (i386)
	- hwif->noprobe shouldn't be 0 if !hwif->io_ports[IDE_DATA_OFFSET]
	  (alpha, i386, ia64, mips, sh, x86_64)

<B.Zolnierkiewicz@elka.pw.edu.pl>
	[PATCH] generic ide_init_hwif_ports()
	
	Add generic ide_init_hwif_ports() to <linux/ide.h> and remove arch specific
	versions except arm26, arm, h8300, i386-pc9800, m68k and m68knommu ones.

<benh@kernel.crashing.org>
	[PATCH] ppc64: siginfo conversion fix
	
	My message queue patch fixes the 64 bits -> 32 bits conversion of
	siginfo, but didn't change the 32 -> 64 bits conversion done in
	sys32_rt_sigqueueinfo() which was apparently bogus as well.
	
	After much discussion & debate on the right way of converting that
	structure, I decided to go the sparc64 / s390 way, and not the x86_64
	way, that is to copy the various unions data "as is". This guarantees
	that whatever a 32 bist app passes there, another 32 bits app will
	understand it. Crossover between 32 and 64 bits apps on such things
	as home-made userland siginfo isn't something we can help with anyway.
	
	The x86_64 choice of converting as if it was an RT signal, thus
	converting the sigval, cannot easily be applied to big endian archs
	since the sigval is a union of a ptr and an int, on BE, the int
	happens to be on the wrong half of the 64 bits ptr, thus  we can't
	do a simple conversion.

<roland@redhat.com>
	[PATCH] fix for potential deadlock after posix-timers change
	
	Ulrich has been working on the glibc code using posix-timers and
	stressing it more now than it has before.  He ran into an SMP deadlock
	on process exit in the case there are pending queued signals from a
	timer.
	
	The deadlock arises because in the path through exit_itimers, the
	tasklist_lock is already held (for writing).  When a timer is being
	deleted, sigqueue_free will try to take it (for reading) in the case
	where that timer has a pending signal queued on somebody's queue.  This
	patch avoids the problem by making sure the queues are flushed before
	calling exit_itimers, thus ensuring its code path won't try to take
	tasklist_lock.

<akpm@osdl.org>
	[PATCH] reiserfs use-after-free fix
	
	From: Chris Mason <mason@suse.com>
	
	reiserfs-delayed-work started using queue_delayed_work, but did not make sure
	the timer was finished before it freed the work queue structs during
unmount. 
	This leads to timer oopsen if you unmount at just the right time.

<akpm@osdl.org>
	[PATCH] fix madvise(MADV_DONTNEED) for nonlinear vmas
	
	From: Hugh Dickins <hugh@veritas.com>
	
	Jamie points out that madvise(MADV_DONTNEED) should unmap pages from a
	nonlinear area in such a way that the nonlinear offsets are preserved if the
	pages do turn out to be needed later after all, instead of reverting them to
	linearity: needs to pass down a zap_details block.
	
	(But this still leaves mincore unaware of nonlinear vmas: bigger job.)

<akpm@osdl.org>
	[PATCH] pcnet32.c build fix
	
	Remove a duplicated case which recently snuck in there.

<akpm@osdl.org>
	[PATCH] hlist_add_after() fix
	
	From: "Pedro Emanuel M. D. Pinto" <pepinto@student.dei.uc.pt>
	
	This currently-unused function is incorrectly implemented.  Fix.

<akpm@osdl.org>
	[PATCH] remove duplicated COPYING file in fs/hfs/
	
	From: Christoph Hellwig <hch@lst.de>
	
	We don't need a copy of COPYING down in fs/hfs.  Roman said he didn't mind,
	so..

<akpm@osdl.org>
	[PATCH] MIPS: don't offer SERIAL_DZ on 64-bit DEC
	
	From: Ralf Baechle <ralf@linux-mips.org>
	
	Limit the DZ driver to MIPS32 as the supported hardware is only present in
	R2k/R3k-based systems (unless someone sends Maciej a PMAC-A board for driver
	development).

<akpm@osdl.org>
	[PATCH] MIPS: update documentation files
	
	From: Ralf Baechle <ralf@linux-mips.org>
	
	The pending changes to the MIPS doc files, more changes needed...

<rmk@flint.arm.linux.org.uk>
	[ARM] Add find_first_bit and find_next_bit.

<akpm@osdl.org>
	[PATCH] MIPS update
	
	From: Ralf Baechle <ralf@linux-mips.org>
	
	- more work on resurrecting AMD Alchemy platforms
	- cleanup of unnecessary <asm/pgalloc.h> inclusions
	- update default config files
	- cleanup 32-bit compat ioctl code
	- support for Montum Jaguar ATX
	- workarounds for early revs of the RM9000
	- fixes for RM5000 and RM7000 cache handling
	- add support for PMC-Sierra Yosemite eval board
	- further cleanup and bugfixes for SGI IP27
	- make LASAT and VR41xx build and work in 2.6
	- improved SGI IP32 support
	- plenty of small fixes

<axboe@suse.de>
	[PATCH] Fix CFQ elevator problem
	
	Remove bogus assert in CFQ and remove merge hints.

<jakub@redhat.com>
	[SPARC64]: Fix 32-bit posix timers.

<stevef@stevef95.austin.ibm.com>
	Do not cache inode metadata when cache time set to 0 (fix hardlink count
caching)

<jakub@redhat.com>
	[SPARC64]: Missing part of posix timers fix.

<torvalds@ppc970.osdl.org>
	Linux 2.6.6-rc2

<len.brown@intel.com>
	[ACPI] enhance intr-src-override parsing to handle ES7000
	http://bugme.osdl.org/show_bug.cgi?id=2520

<len.brown@intel.com>
	ACPI] Delete IRQ2 "cascade" in ACPI IOAPIC mode
	no such concept exists in ACPI, frees IRQ2 for use.

<hch@sgi.com>
	[XFS] use kmem_alloc for noaddr buffers
	
	SGI Modid: xfs-linux:xfs-kern:167609a

<hch@sgi.com>
	[XFS] kill the pagebuf vs xfs_buf confusion
	
	SGI Modid: xfs-linux:xfs-kern:167627a

<hch@sgi.com>
	[XFS] really kill the pagebuf vs xfs_buf confusion
	
	SGI Modid: xfs-linux:xfs-kern:167628a

<hch@sgi.com>
	[XFS] clarify pagebuf page lookup logic
	
	SGI Modid: xfs-linux:xfs-kern:168168a

<sandeen@sgi.com>
	[XFS] Use pgoff_t for page indices, and remove other type confusion
	
	SGI Modid: xfs-linux:xfs-kern:168484a

<nathans@sgi.com>
	[XFS] Fix a very hard-to-hit, small-block-size only corruption.
	
	SGI Modid: xfs-linux:xfs-kern:168987a

<nathans@sgi.com>
	[XFS] Fix delayed write buffer handling to use the correct list
	interfaces, add validity checks, remove unused code, fix comments.
	
	SGI Modid: xfs-linux:xfs-kern:169043a

<nathans@sgi.com>
	[XFS] Make buffer error checking consistent, add a value range check.
	
	SGI Modid: xfs-linux:xfs-kern:169542a

<nathans@sgi.com>
	[XFS] Return the right error code on an ACL xattr version mismatch.
	
	SGI Modid: xfs-linux:xfs-kern:169622a

<jpk@sgi.com>
	[XFS] Correct the (file size >= stripe unit) check inside
	xfs_iomap_write_delay.  It was comparing the file size, in
	bytes, against the stripe unit size, in FSBs. (PV 911469)
	
	SGI Modid: xfs-linux:xfs-kern:169744b

<nathans@sgi.com>
	[XFS] Only use page->private to track page state for page cache pages
	
	SGI Modid: xfs-linux:xfs-kern:169801a

<nathans@sgi.com>
	[XFS] Fix some cases where we returned fill_super success, instead
	of failing.
	
	SGI Modid: xfs-linux:xfs-kern:169865a

<nathans@sgi.com>
	[XFS] Allow xfsbufd flush intervals to take immediate effect after changing
the flush sysctl value.  Fix from Bart Samwel.
	
	SGI Modid: xfs-linux:xfs-kern:170053a

<nathans@sgi.com>
	[XFS] Use USER_HZ in XFS sysctl interfaces.  Fix from Bart Samwel.
	
	SGI Modid: xfs-linux:xfs-kern:170056a

<nathans@sgi.com>
	[XFS] Bump up age_buffer and sync_interval maxima for laptop mode.  From
Bart Samwel.
	
	SGI Modid: xfs-linux:xfs-kern:170057a

<cattelan@sgi.com>
	[XFS] Fix for the xfs dir2 rebalance bug.
	
	SGI Modid: xfs-linux:xfs-kern:170221a

<nathans@sgi.com>
	[XFS] Fix vmtruncate abuse in the XFS setattr ATTR_SIZE operation.
	
	SGI Modid: xfs-linux:xfs-kern:170344a

<nathans@sgi.com>
	[XFS] cleanup pagebuf flag usage and simplify pagebuf_free.
	
	SGI Modid: xfs-linux:xfs-kern:169276a

<nathans@sgi.com>
	[XFS] Fix up a trivial merge botch.

<drepper@redhat.com>
	[PATCH] Add missing __initdata
	
	One of the stack size optimizations introduced a new static variable in
	a function marked with __init.  But the variable is not marked
	appropriately and so 1k of data is never freed.

<akpm@osdl.org>
	[PATCH] Fix nfsroot option handling
	
	From: Trond Myklebust <trond.myklebust@fys.uio.no>
	
	The following patch fixes up a number of bugs in the NFSroot parser
	rewrite from patchset
	trond.myklebust@fys.uio.no|ChangeSet|20040411182341|00938
	
	It also ensures that NFSroot mount options are consistent with the userland
	"mount" program.

<akpm@osdl.org>
	[PATCH] compute_creds race
	
	From: Andy Lutomirski <luto@myrealbox.com>
	
	Fixes from me, Olaf Dietsche <olaf+list.linux-kernel@olafdietsche.de>
	
	In fs/exec.c, compute_creds does:
	
		task_lock(current);
		if (bprm->e_uid != current->uid || bprm->e_gid != current->gid) {
	                 current->mm->dumpable = 0;
	
			if (must_not_trace_exec(current)
			    || atomic_read(&current->fs->count) > 1
			    || atomic_read(&current->files->count) > 1
			    || atomic_read(&current->sighand->count) > 1) {
				if(!capable(CAP_SETUID)) {
					bprm->e_uid = current->uid;
					bprm->e_gid = current->gid;
				}
			}
		}
	
	         current->suid = current->euid = current->fsuid = bprm->e_uid;
	         current->sgid = current->egid = current->fsgid = bprm->e_gid;
	
		task_unlock(current);
	
		security_bprm_compute_creds(bprm);
	
	I assume the task_lock is to prevent another process (on SMP or preempt)
	from ptracing the execing process between the check and the assignment.  If
	that's the concern then the fact that the lock is dropped before the call
	to security_brpm_compute_creds means that, if security_bprm_compute_creds
	does anything interesting, there's a race.
	
	For my (nearly complete) caps patch, I obviously need to fix this.  But I
	think it may be exploitable now.  Suppose there are two processes, A (the
	malicious code) and B (which uses exec).  B starts out unprivileged (A and
	B have, e.g., uid and euid = 500).
	
	1. A ptraces B.
	
	2. B calls exec on some setuid-root program.
	
	3. in cap_bprm_set_security, B sets bprm->cap_permitted to the full
	   set.
	
	4. B gets to compute_creds in exec.c, calls task_lock, and does not
	   change its uid.
	
	5. B calls task_unlock.
	
	6. A detaches from B (on preempt or SMP).
	
	7. B gets to task_lock in cap_bprm_compute_creds, changes its
	   capabilities, and returns from compute_creds into load_elf_binary.
	
	8. load_elf_binary calls create_elf_tables (line 852 in 2.6.5-mm1),
	   which calls cap_bprm_secureexec (through LSM), which returns false (!).
	
	9. exec finishes.
	
	The setuid program is now running with uid=euid=500 but full permitted
	capabilities.  There are two (or three) ways to effectively get local root
	now:
	
	1.  IIRC, linux 2.4 doesn't check capabilities in ptrace, so A could
	   just ptrace B again.
	
	2. LD_PRELOAD.
	
	3.  There are probably programs that will misbehave on their own under
	   these circumstances.
	
	Is there some reason why this is not doable?
	
	The patch renames bprm_compute_creds to bprm_apply_creds and moves all uid
	logic into the hook, where the test and the resulting modification can both
	happen under task_lock().
	
	This way, out-of-tree LSMs will fail to compile instead of malfunctioning. 
	It should also make life easier for LSMs and will certainly make it easier
	for me to finish the cap patch.

<akpm@osdl.org>
	[PATCH] ext3 avoid writing kernel memory to disk
	
	From: Marc-Christian Petersen <m.c.p@kernel.linux-systeme.com>
	
	Solar Designer discovered an information leak in the ext3 code of Linux.
	In a worst case an attacker could read sensitive data such as cryptographic
	keys which would otherwise never hit disk media.  Theodore Ts'o developed a
	correction for this.

<akpm@osdl.org>
	[PATCH] Call populate_rootfs later in boot
	
	populate_rootfs() is called rather early - before we've called init_idle().
	
	But populate_rootfs() does file I/O, which involves calls to cond_resched(),
	and downing of semaphores, etc.  If it scheules, the scheduler emits
	scheduling-while-atomic warnings and sometimes oopses.
	
	So run populate_rootfs() later, after the scheduler is all set up.

<akpm@osdl.org>
	[PATCH] remove amd7xx_tco
	
	From: Zwane Mwaikambo <zwane@linuxpower.ca>
	
	We've had trouble with this driver, it appears to work but the hardware
	never does the final reboot.  I have yet to come across someone with a
	board which works and don't have personal access to one.  So how about
	scrapping the whole thing.

<akpm@osdl.org>
	[PATCH] lockfs - vfs bits
	
	From: Christoph Hellwig <hch@lst.de>
	
	These are the generic lockfs bits.  Basically it takes the XFS freezing
	statemachine into the VFS.  It's all behind the kernel-doc documented
	freeze_bdev and thaw_bdev interfaces.
	
	Based on an older patch from Chris Mason.

<akpm@osdl.org>
	[PATCH] lockfs: reiserfs fix
	
	From: Chris Mason <mason@suse.com>
	
	reiserfs_write_super_lockfs() is supposed to wait for the transaction to
	commit.

<akpm@osdl.org>
	[PATCH] lockfs - xfs bits
	
	From: Christoph Hellwig <hch@lst.de>
	
	Remove all the code now in the VFS, make XFS's freeze ioctls use the new
	infastructure and reorganize some code.
	
	This code needs some work so the source files shared with 2.4 aren't
	exposed to the new VFS interfaces directly.  You'll get an update once this
	has been discussed with the other XFS developers and is implemented.  Note
	that the current patch works fine and I wouldn't complain if it gets into
	Linus' tree as-is.

<akpm@osdl.org>
	[PATCH] lockfs - dm bits
	
	From: Christoph Hellwig <hch@lst.de>
	
	This patch makes the device mapper use the new freeze_bdev/thaw_bdev
	interface.  Extracted from Chris Mason's patch.

<akpm@osdl.org>
	[PATCH] i4l: add compat ioctl's for CAPI
	
	From: Marcel Holtmann <marcel@holtmann.org>
	
	This patch adds the needed compat ioctl's for the CAPI on 64bit platforms.

<akpm@osdl.org>
	[PATCH] selinux: change context_to_sid handling for no-policy case
	
	From: Stephen Smalley <sds@epoch.ncsc.mil>
	
	This patch changes the behavior of security_context_to_sid in the no-policy
	case so that it simply accepts all contexts and maps them to the kernel SID
	rather than rejecting anything other than an initial SID.  The change avoids
	error conditions when using SELinux in permissive/no-policy mode, so that any
	file contexts left on disk from prior use of SELinux with a policy will not
	cause an error when they are looked up and userspace attempts to set contexts
	can succeed.

<akpm@osdl.org>
	[PATCH] selinux: add runtime disable
	
	From: Stephen Smalley <sds@epoch.ncsc.mil>
	
	This patch adds a kernel configuration option that enables writing to a new
	selinuxfs node 'disable' that allows SELinux to be disabled at runtime prior
	to initial policy load.  SELinux will then remain disabled until next boot.
	This option is similar to the selinux=0 boot parameter, but is to support
	runtime disabling of SELinux, e.g.  from /sbin/init, for portability across
	platforms where boot parameters are difficult to employ (based on feedback by
	Jeremy Katz).

<akpm@osdl.org>
	[PATCH] selinux: remove hardcoded policy assumption from get_user_sids()
logic
	
	From: Stephen Smalley <sds@epoch.ncsc.mil>
	
	This patch removes a hardcoded policy assumption from the get_user_sids logic
	in the SELinux module that was preventing it from returning contexts that had
	the same type as the caller even if the policy allowed such a transition.
The
	assumption is not valid for all policies, and can be handled via policy
	configuration and userspace rather than hardcoding it in the module logic.

<akpm@osdl.org>
	[PATCH] i810_dma range check
	
	From: Andrea Arcangeli <andrea@suse.de>
	
	Correctly range-check an incoming-from-userspace argument.  Found by the
	Stanford checker.

<akpm@osdl.org>
	[PATCH] i386 hugetlb tlb correction
	
	From: William Lee Irwin III <wli@holomorphy.com>
	
	i386 does hardware interpretation of pagetables, so pte_clear() can't be
	used on present ptes, as it sets the upper half of the hugepte prior to
	setting the lower half (which includes the valid bit).  i.e.  there is a
	window where having a hugepage mapped at 56GB and doing pte_clear() in
	unmap_hugepage_range() allows other threads of the process to see a
	hugepage at 0 in place of the original hugepage at 56GB.
	
	This patch corrects the situation by using ptep_get_and_clear(), which
	clears the lower word of the pte prior to clearing the upper word.
	
	There is another nasty where huge_page_release() needs to wait for TLB
	flushes before returning the hugepages to the free pool, analogous to the
	issue tlb_remove_page() and tlb_flush_mm() repair.

<akpm@osdl.org>
	[PATCH] loop_set_fd() sendfile check fix
	
	From: Yury Umanets <torque@ukrpost.net>
	
	I have found small inconsistency in loop_set_fd().  It checks if
	->sendfile() is implemented for passed block device file.  But in fact,
	loop back device driver never calls it.  It uses ->sendfile() from backing
	store file.

<davej@redhat.com>
	[CPUFREQ] Fix unbalanced try_get_module/put_module
	Spotted by Charles Coffing <ccoffing@novell.com>

<davej@redhat.com>
	[CPUFREQ] Remove redundant part of powernow-k7 module parm
	If used as a bootparam, this would've become powernow-k7.powernow_acpi_force
which looks silly.

<davej@redhat.com>
	[CPUFREQ] Make an educated guess at the current P-state in the ACPI driver.
	One big limitation of the ACPI specification is that it's impossible to
	detect the current P-State by reading from ACPI-defined registers. And the
	CPU isn't always at P0 when the system boots. So, try to "guess" the current
	P-State by analyzing cpu_khz.
	
	From Dominik.

<davej@redhat.com>
	[CPUFREQ] Export an array of acpi driver supported frequencies in sysfs
	From Dominik.

<davej@redhat.com>
	[CPUFREQ] Fix security hole in proc handler.
	Brad Spengler <spender@grsecurity.net> found an exploitable bug in the proc
handler
	of cpufreq, where a user-supplied unsigned int is cast to a signed int and
then
	passed on to copy_[to|from]_user() allowing arbitary amounts of memory to be
written
	(root only thankfully), or read (as any user).
	
	The Common Vulnerabilities and Exposures project (cve.mitre.org) has assigned
	the name CAN-2004-0228 to this issue.

<torvalds@ppc970.osdl.org>
	Revert fb_ioctl "fix" with extreme prejudice.
	
	As Arjan points out, the patch does exactly the opposite
	of what it was claimed to do.
	
	Andrea: tssk tssk.
	
	Cset exclude: akpm@osdl.org[torvalds]|ChangeSet|20040421144431|15930

<jakub@redhat.com>
	[PATCH] ia64: add mq support for ia64
	

<hch@sgi.com>
	[XFS] Don't reset buffer offset before using it.
	
	SGI Modid: xfs-linux:xfs-kern:168692a

<nathans@sgi.com>
	[XFS] Revive an accidentally dropped pagesize > blocksize assert.

<rmk@flint.arm.linux.org.uk>
	[ARM] Add support for ARM Versatile platform.
	
	This cset adds minimal support for ARM Ltd's ARM926EJ-S "Versatile"
	platform.

<rmk@flint.arm.linux.org.uk>
	[SERIAL] Correct PL011 help text.

<B.Zolnierkiewicz@elka.pw.edu.pl>
	[PATCH] ide-disk.c: fix for IDE CF card ejection with devfs
	
	From: Pavel Roskin <proski@gnu.org>
	
	If I eject IDE CompactFlash card, I get a stack dump from
	devfs_remove() because ide/host2/bus0/target0/lun0 doesn't exist.
	
	After del_gendisk() is called from idedisk_cleanup() drive->devfs_name refers
	to a non-existent directory and should be erased, so that ide_unregister()
	doesn't try to remove that directory again.

<B.Zolnierkiewicz@elka.pw.edu.pl>
	[PATCH] ide-probe.c: kill duplicate #include
	
	From: Arthur Othieno <a.othieno@bluewin.ch>

<B.Zolnierkiewicz@elka.pw.edu.pl>
	[PATCH] removal of MOD_{INC,DEC}_USE_COUNT in ide-cs.c
	
	From: Pavel Roskin <proski@gnu.org>
	
	The "ide-cs" module cannot be unloaded because it uses obsolete
	MOD_INC_USE_COUNT and MOD_DEC_USE_COUNT macros.  In fact, they are not
	needed in ide-cs.c in 2.6 kernels.  The generic PCMCIA code already
	increases use count for every device served by the driver, so it's
	impossible to unload the ide-cs driver while it's in use.
	
	I was told that the removal of IDE interfaces may be unsafe in 2.6
	kernels.  However, MOD_INC_USE_COUNT only prevents removal of the module,
	not the interface.  It's also the first obstacle, albeit a trivial one,
	for anybody debugging those problems (i.e. loading a modified module
	requires "rmmod -f" or reboot to unload the old version).

<sfr@canb.auug.org.au>
	[PATCH] PPC64 iSeries virtual ethernet fix
	
	This patch is needed due to other patches that were applied in parallel
	with the inclusion of the iSeries virtual ethernet driver.

<jbglaw@lug-owl.de>
	[PATCH] New set of input patches
	
	This  updates the vsxxx driver to it's current version.
	
	Even DEC tablet support (VSXXX-AB) is now tested - it works:)
	You can even hotplug between mouse and digitizer...

<jbglaw@lug-owl.de>
	[PATCH] lkkbd: Current version
	
	This updates the lkkbd driver to it's current version.
	
	It also incorporates two patches suggested on LKML (fixing
	some leading whitespace and an unneccessary check).

<chrisw@osdl.org>
	[IPV4]: Fix return value on MCAST_MSFILTER error case.

<rusty@rustcorp.com.au>
	[NETFILTER]: Missing ip_rt_put in ipt_MASQUERADE.

<shemminger@osdl.org>
	[TCP]: Better packing of frto fields into tcp_opt.

<shemminger@osdl.org>
	[TCP]: Add sysctl to turn off matrics caching.

<simon@thekelleys.org.uk>
	[PATCH] atmel wireless update
	
	Fixes to avoid problems when the driver shares an interrupt. These were
	caused because the ISR cannot determine the status of the chip without
	changing its state and the driver was only disabling the interrupts from
	the card during some critical regions. An interrupt originating from
	another device at the wrong moment could run the ISR and corrupt chip
	state. Fixed by blocking interupts in the processor in critical regions
	and never checking the chip interrupt status before the driver is fully
	up.
	
	
	Added the ability to override the Regulatory Domain stored in ROM. The
	following command achieves this
	
	iwpriv <interface> regdomain <domain>
	
	vaild domains are USA,Canada,Europe,Spain,France,MKK,MKK1,Israel
	
	The current regulatory domain affects which radio channels are available
	for use.
	
	
	Some minor tidying to calibrate busy-wait loops using udelay and remove
	inclusion of obsolete include/linux/802_11.h

<akpm@osdl.org>
	[PATCH] pcmcia netdev ordering fixes
	
	From: Russell King <rmk+pcmcia@arm.linux.org.uk>
	
	This is an *untested* patch (PCMCIA people, please test) to fix
	initialisation ordering issues in these network device drivers.  I don't
	have the hardware to be able to test these changes, although it passes a
	modular build without warnings.
	
	Andrew - it may be worth sticking these in -mm so they get some visibility
	via your tree as well.
	
	Many of these drivers were calling register_netdev() before they had
	completed their initialisation.
	
	In addition, they were calling register_netdev with the
	"DEV_CONFIG_PENDING" flag still set, which prevents hotplug scripts from
	bringing up the interface.
	
	Also, we take care to ensure that link->dev is correctly set - this is used
	to tell the PCMCIA release code if the netdev is currently registered (yes,
	that's probably racy at present, but lets sort one problem at a time.)
	
	I've arranged that all drivers register the netdevice as close as possible
	to the end of their initialisation, copy the net device's name for cardmgr
	to pass to it's network scripts, and then print out whatever information
	the driver wants to.
	
	Finally, a note about ibmtr - it seemed to assume that cardmgr wanted "tr0"
	or "tr1" depending on the base address, and completely ignoring the real
	device which the netdev layer allocated it.  I've assumed that this is
	wrong (since the netdev name is used in printk messages), and changed it to
	behave the same as the other drivers.

<ralf@linux-mips.org>
	[PATCH] Au1000 IrDA driver update
	
	Get to build under 2.6, random updates to debugging code, new eval boards.

<ralf@linux-mips.org>
	[PATCH] Remove RCS Id string

<ralf@linux-mips.org>
	[PATCH] meth updates
	
	More work on the meth driver for SGI IP32 aka O2.

<ralf@linux-mips.org>
	[PATCH] BCM1250 network driver updates
	
	Resurrect into working order for 2.6.

<ralf@linux-mips.org>
	[PATCH] sgiseeq fixes
	
	Resurrect into working order for 2.6.

<ralf@linux-mips.org>
	[PATCH] IOC3 updates
	
	Use generic MII code, compile time configurable rx and tx checksumming.
	Try to handle IOC3 attached 16552 serials.  Fix descriptor setup when
	crossing a 16kB page.  Use generic PCI API.  Use generic ethtool code,
	small cleanups, use a temporary kludge to exploit virtual device
	functionality for significantly better performance.

<ralf@linux-mips.org>
	[PATCH] declance updates
	
	Various small changes, DEC still doesn't work under 2.6.

<stevef@smfhome.smfdom>
	Retry 2nd time after failure on correct port

<davem@nuts.davemloft.net>
	[TCP]: Abstract out all settings of tcp_opt->ca_state into a function.

<davem@nuts.davemloft.net>
	[TCP]: Add vegas congestion avoidance support.
	
	A forward port of an old 2.3.x kernel hack done
	years ago.  I (DaveM) did the first rough port,
	Stephen Hemminger actually cleaned it up and
	made it usable.

<greg@kroah.com>
	[PATCH] USB: Don't try to suspend devices that do not support it.
	
	Patch originally from luming.yu@intel.com and closes bug #1557

<len.brown@intel.com>
	[ACPI] if acpi_os_name= is used, print what it finds

<len.brown@intel.com>
	[ACPI] allow IRQ2 to be used in ACPI/IOAPIC mode
	http://bugzilla.kernel.org/show_bug.cgi?id=2564

<mebrown@michaels-house.net>
	[PATCH] sysfs module unload race fix for bin_attributes
	
	 -  Add module locking to sysfs bin_attribute files. Update all in-tree
	    users to set module owner.
	
		Compile tested. booted. stress tests pass:
	
	while true; do modprobe mymod; rmmod mymod; done &
	while true; do hexdump -C /sys/path/to/sysfs/binary/file; done

<stern@rowland.harvard.edu>
	[PATCH] USB: Important bugfix for UHCI list management code
	
	A major bug in the UHCI driver turned up recently.  Thanks to a lot of
	help from Simone Gotti it was identified and fixed late last week.  It
	turned out to be entirely my fault -- a previous patch had introduced two
	(!) errors.  (A combination of carelessness and a nasty thinko, and
	somehow it passed the regression tests...)
	
	Anyway, it's entirely possible that many of the problems people have been
	seeing are caused by that bug.  This patch is the solution.

<colin@colino.net>
	[PATCH] USB: fix cdc-acm as it is still (differently) broken

<greg@kroah.com>
	[PATCH] USB: fix cdc-acm warnings due to previous patch

<akpm@osdl.org>
	[PATCH] remove show_trace_task()
	
	It no longer has any callers.

<akpm@osdl.org>
	[PATCH] ppc64: iSeries virtual cdrom module fix
	
	From: Stephen Rothwell <sfr@canb.auug.org.au>
	
	This patch fixes loading viocd as a module.  It would oops because I was
	passing the address of a static buffer to dma_map_single and when loaded as
	a module, this address is not valid for that purpose.
	
	There are a couple of simple cleanups here as well.

<akpm@osdl.org>
	[PATCH] s390: core s390.
	
	From: Martin Schwidefsky <schwidefsky@de.ibm.com>
	
	s390 core changes:
	 - Fix race in do_call_softirq in regard to kernel preemption.
	 - Fix typo in compat mq system call wrappers.
	 - Add s390 to Kconfig for AUDITSYSCALL.
	 - Redefine TASK_SIZE to TASK31_SIZE for compilation of binfmt_elf32.
	 - Use correct error value for sys32_ipc when called with an invalid number.
	 - New default configuration.

<akpm@osdl.org>
	[PATCH] s390: common i/o layer.
	
	From: Martin Schwidefsky <schwidefsky@de.ibm.com>
	
	Common i/o layer changes:
	 - Quiesce active subchannels for lpar reipl.
	 - Delete timer after reception of interrupt for kill on timeout.
	 - Cleanup some comments in qdio.

<akpm@osdl.org>
	[PATCH] s390: 3270 device driver.
	
	From: Martin Schwidefsky <schwidefsky@de.ibm.com>
	
	3270 device driver changes:
	 - Add NULL pointer checks.

<akpm@osdl.org>
	[PATCH] s390: network device drivers.
	
	From: Martin Schwidefsky <schwidefsky@de.ibm.com>
	
	Network driver changes:
	 - qeth: Fix reference counting in regard to sysfs backing store patches.
	 - qeth: Prefix kernel thread names with qeth_.
	 - qeth: Remove inbound and outbound tasklets. Handle buffers directly
	         in the interrupts handlers.
	 - iucv: Add missing kfree in iucv_register_program.
	 - iucv: Add missing return in netiucv_transmit_skb.
	 - iucv: Check for NULL pointer in conn_action_txdone.

<akpm@osdl.org>
	[PATCH] s390: dasd device driver.
	
	From: Martin Schwidefsky <schwidefsky@de.ibm.com>
	
	dasd device driver changes:
	 - Initialize open_count with -1 to account for blkdev_open in
	   dasd_scan_partitions.
	 - Introduce USE_ERP request flag to selectivly switch off error
	   recovery for reserve, release & unconditional reserve ioctls.

<akpm@osdl.org>
	[PATCH] s390: zfcp adapter fixes.
	
	From: Martin Schwidefsky <schwidefsky@de.ibm.com>
	
	zfcp host adapter changes:
	 - Fix error recovery stall in case of unavailable nameserver.
	 - Reset host_scribble field to NULL in scsi_cmd.
	 - Remove request debug code.

<akpm@osdl.org>
	[PATCH] s390: crypto api.
	
	From: Martin Schwidefsky <schwidefsky@de.ibm.com>
	
	Add support for z990 crypto instructions to in-kernel crypto api.

<akpm@osdl.org>
	[PATCH] EDD: set sysfs attr owner field
	
	From: Matt Domsch <Matt_Domsch@dell.com>
	
	The patch below from Michael E.  Brown properly sets the owner field of a
	sysfs attribute.  Without this patch, it is possible to crash the kernel with
	a simultaneous insmod/rmmod while reading files exported by the module.

<akpm@osdl.org>
	[PATCH] dynamic proc cleanups
	
	From: Matt Mackall <mpm@selenic.com>
	
	Delete obsolete comment and kill test of obsolete define.

<akpm@osdl.org>
	[PATCH] fbdev comment fix
	
	Fix the incorrect comment which caused the fb_ioctl confusion.

<akpm@osdl.org>
	[PATCH] MIPS: PCI code is now shared.
	
	From: Ralf Baechle <ralf@linux-mips.org>
	
	All MIPS systems use the same PCI code now.

<akpm@osdl.org>
	[PATCH] Add Pete Popov to credits
	
	From: Ralf Baechle <ralf@linux-mips.org>
	
	Add Pete to CREDITS for all the time he's invested into supporting the AMD
	Alchemy of SOCs and eval boards.

<akpm@osdl.org>
	[PATCH] Merge missing MIPS i8042 bits
	
	From: Ralf Baechle <ralf@linux-mips.org>
	
	- Add HPC3 PS/2 driver bits for SGI IP22 aka Indy
	- Add Mace PS/2 driver bits for SGI IP32 aka O2
	- Add R4030 PS/2 driver bits for Jazz family
	- Don't register I/O ports where we're using the I/O port memory window
	   to access the i8042 registers

<akpm@osdl.org>
	[PATCH] MIPS is an a.out free zone
	
	From: Ralf Baechle <ralf@linux-mips.org>
	
	MIPS never uses a.out

<akpm@osdl.org>
	[PATCH] Update comment in fs/compat.c
	
	From: Ralf Baechle <ralf@linux-mips.org>
	
	MIPS now also uses the generic ioctl compat code.

<akpm@osdl.org>
	[PATCH] Set ARCH_MIN_TASKALIGN on ppc32
	
	From: Benjamin Herrenschmidt <benh@kernel.crashing.org>
	
	From: David Woodhouse <dwmw2@infradead.org>
	
	Without this the task struct gets unaligned when using SLAB_DEBUG, causing
	random problems with FP and Altivec.

<akpm@osdl.org>
	[PATCH] sunrpc rmmod oops fix
	
	From: "J. Bruce Fields" <bfields@fieldses.org>
	
	Unregister svcauth_gss caches on exit from gss module; fixes an oops on
	rmmod.

<akpm@osdl.org>
	[PATCH] ppc64: add some iSeries proc entries
	
	From: Stephen Rothwell <sfr@canb.auug.org.au>
	
	This patch just adds some proc entries for the virtual tape and cdrom
	drivers to allow mapping between linux devices and OS/400 ones.  This is
	expected by existing users and there is no other way to do this
	translation.

<akpm@osdl.org>
	[PATCH] ppc64: Set ARCH_MIN_TASKALIGN
	
	From: Benjamin Herrenschmidt <benh@kernel.crashing.org>
	
	We need some alignement of those structs for proper operations especially
	with FP and Altivec, or SLAB_DEBUG can break us.

<mikpe@csd.uu.se>
	[PATCH] clean up Pentium M quirk code in nmi.c
	
	This simplifies the Pentium M quirk code in nmi.c, and eliminates an
	unnecessary apic_read().
	
	Local APIC accesses are not zero-cycle; let's not inflict more damage
	than we must.

<mikpe@csd.uu.se>
	[PATCH] use smp_processor_id() in init_IRQ()
	
	This replaces current_thread_info()->cpu in i386' init_IRQ() by the
	equivalent smp_processor_id().
	
	Reduces overhead on UP, and makes the code cleaner.

<david-b@pacbell.net>
	[PATCH] USB: ehci handles pci misbehavior better
	
	Cope better when PCI misbehaves badly and registers misbehave:
	
	    - terminate some loops before they get to infinity
	       * capability scan
	       * port reset
	    - after init failure, memory may already be cleaned up
	
	Some systems have been reporting such problems after ACPI resume.

<david-b@pacbell.net>
	[PATCH] USB: rndis gadget driver updates
	
	Various build fixes:  64bit (Andrew Morton), static linking,
	broken on big-endian, etc.
	
	Tighten up the integration with the main "ether" driver, so
	state transitions and host ethernet addresses are shared too.
	Add missing spinlock calls around RNDIS command outcall,
	fix GET_INTERFACE issue, host mustn't clobber netdev flags.
	
	Minor code cleanups.

<wli@holomorphy.com>
	[PATCH] USB: silence dpcm warning
	
	Warnings aren't terribly important in and of themselves, but there
	isn't really much the warning tells us to do here, so it would appear
	that caving in to the compiler is the thing to do for now.

<lkml@lievin.net>
	[PATCH] USB: tiglusb: wrong timeout value
	
	Hi,
	
	this patch (cumulative; 2.4 & 2.6) fixes another bug in the tiglusb
	driver. The formula used to calculate jiffies from timeout is wrong.
	The new formula is ok and takes care of integer computation/rounding.
	This is the same kind of bug than in the tipar char driver.

<jan@ccsinfo.com>
	[PATCH] USB: ftdi patch fixup
	
	I just checked out the latest 2.6.6-rc1-mm1 to see that the ID patch for
	ftdi has applied cleanly, but apparently someone was faster and in the
	combined ID table our ID's were missing.
	Most probably the patch program got confused and applied the hung at wrong
	spot..
	
	Attached is a patch that places that 2 lines in the correct spot.

<david-b@pacbell.net>
	[PATCH] USB: usbnet and pl2301/2302 reset
	
	Handle some PL-2301/2302 devices better.

<stevef@stevef95.austin.ibm.com>
	RFC1002 fixup

<lkml@lievin.net>
	[PATCH] tipar char driver: wrong timeout value
	
	this patch (2.4 & 2.6) fixes a bug about the timeout value. The formula
	used to calculate jiffies from timeout is wrong.
	The new formula is ok and takes care of integer computation/rounding.
	There is the same bug in the tiglusb.c module which will be fixed by another
	patch.

<lxiep@us.ibm.com>
	[PATCH] symlink doesn't support kobj name > 20 charaters (KOBJ_NAME_LEN)
	
	Since symlink.c uses "name" field of a kobj when it calculates the
	length,  it gets a wrong value if the kobj's name  has more than 20
	charathers.  A correct way to do that is to call kobject_name(kobj)
	instead of using kobj->name directly.

<stevef@stevef95.austin.ibm.com>
	exit from waiting on smb response when session dead

<stevef@stevef95.austin.ibm.com>
	Update change log for 1.10 cifs vfs

<davidm@tiger.hpl.hp.com>
	ia64: Add message-queue support to copy_siginfo_from_user().

<stevef@steveft21.ltcsamba>
	proper rc on host down

<stevef@steveft21.ltcsamba>
	fix error code mapping on bad host

<stevef@stevef95.austin.ibm.com>
	fix timeout on close operation when pending signal

<aia21@cantab.net>
	NTFS: Move a few assignments after a NULL check in fs/ntfs/attrib.c.

<stevef@steveft21.ltcsamba>
	do not allow routine user signals to kill SendReceive wait for response
(which was damaging performance badly)

<akpm@osdl.org>
	[PATCH] writeback livelock fix
	
	If a filesystem's ->writepage implementation repeatedly refuses to write the
	page (it keeps on redirtying it instead) (reiserfs seems to do this) then the
	writeback logic can get stuck repeately trying to write the same page.
	
	Fix that up by correctly setting wbc->pages_skipped, to tell the writeback
	logic that things aren't working out.

<aia21@cantab.net>
	NTFS: Finally fix NFS exporting of mounted NTFS volumes by checking the
	return of d_splice_alias() and acting accordingly rather than just
	ignoring the returned dentry.

<len.brown@intel.com>
	[ACPI] Workaround "_BBN 0" BIOS bug
	enhance "pci=noacpi" to skip ACPI PCI configuration and interrupt config
	add "acpi=noirq" to skip just ACPI interrupt config (David Shaohua Li)
	http://bugzilla.kernel.org/show_bug.cgi?id=1662

<len.brown@intel.com>
	[ACPI] workaround for nForce2 BIOS bug: XT-PIC timer in IOAPIC mode 
	"acpi_skip_timer_override" boot parameter
	dmi_scan for common platforms, may be replaced with PCI-ID in future.
	http://bugzilla.kernel.org/show_bug.cgi?id=1203

<davem@nuts.davemloft.net>
	[SPARC64]: Update defconfig.

<nico@org.rmk.(none)>
	[ARM PATCH] 1824/1: guard against gcc not respecting local variable register
assignment
	
	Patch from Nicolas Pitre
	
	The recent discovery of a problem with gcc not always respecting register
	assignment for local variables to be used with inline assembly is worrisome.
	If unnoticed, such problems can cover bugs that might prove hard to find
	especially when the code is right but silently ignored.  This patch adds a
	test where needed to have the assembler confirm our register selection and
	fail the kernel build if the wrong registers are allocated.

<nico@org.rmk.(none)>
	[ARM PATCH] 1825/1: abort on bad code generation with div64 in some cases
	
	Patch from Nicolas Pitre
	
	One case was found when the kernel is compiled with -O2 (instead of the 
	default -Os).  However, all gcc-3.* versions seem to have a problem with 
	this.  Instead of blacklisting them all unconditionally, better just abort
	when a bad case occurs especially since this bad case doesn't seem to
	appear with current default compiler flags.  Depends on patch #1824.

<davem@nuts.davemloft.net>
	[SPARC64]: Fix zero-extension issues wrt. {pgd,pmd}_val().

<shemminger@osdl.org>
	[TCP]: Report vegas info via tcp_diag.

<mludvig@suse.cz>
	[CRYPTO]: Add module autoloads for null module.

<arjanv@redhat.com>
	[NET]: linux/if.h needs linux/compiler.h for __user.

<len.brown@intel.com>
	[ACPI] No IRQ known... - using IRQ 255 (Bjarni Rúnar Einarsson)
	http://bugzilla.kernel.org/show_bug.cgi?id=2148

<rmk@flint.arm.linux.org.uk>
	[ARM] Remove extraneous "volatile" from atomic_t pointers.

<dsaxena@net.rmk.(none)>
	[ARM PATCH] 1815/1: Generic DMA buffer bouncing support for ARM targets
	
	Patch from Deepak Saxena
	
	Latest (and hopefully last :) patch for generic DMA buffer bouncing.
	
	- Fixed SA1111 dma_needs_bounce
	- Added check for out of bounds buffers.
	- Made dmabounce.c directly implement dma_* API
	
	Note that I didn't do the following:
	
	#ifndef CONFIG_DMABOUNCE
	inline implementations of all functions
	#else
	extern declarations
	#endif
	
	Instead I wrapped it individual in #ifndef/#else blocks to keep the
	comments in the same area as function declarations.  IMHO this makes 
	it easier for someone to go look at the comments if they need to know 
	what a specific API does.
	

<aia21@cantab.net>
	NTFS: Use get_bh() instead of manual atomic_inc() in fs/ntfs/compress.c.

<aia21@cantab.net>
	NTFS: - Modify fs/ntfs/time.c::ntfs2utc(), get_current_ntfs_time(), and
	        utc2ntfs() to work with struct timespec instead of time_t on the
	        Linux UTC time side thus preserving the full precision of the NTFS
	        time and only loosing up to 99 nano-seconds in the Linux UTC time.
	      - Move fs/ntfs/time.c to fs/ntfs/time.h and make the time functions
	        static inline.

<scott.feldman@intel.com>
	[PATCH] e100: ICH 10/H Tx hang fix
	
	* Need to carry forward this workaround from old e100 driver to
	  avoid a Tx hang on ICH systems linked at 10/Half.  Workaround
	  adds a stall before each Tx command queued by issuing a NOP
	  command followed by 1us delay.  Yuck!  Otherwise HW locks hard.
	  (Probably needed for eepro100 also ;-).

<len.brown@intel.com>
	ACPI irq->gsi naming (Bjorn Helgaas)

<aia21@cantab.net>
	NTFS: - Remove unused ntfs_dirty_inode().
	      - Cleanup super operations declaration.

<aia21@cantab.net>
	NTFS: Wrap flush_dcache_mft_record_page() in #ifdef NTFS_RW.

<aia21@cantab.net>
	NTFS: Add NInoTestSetFoo() and NInoTestClearFoo() macro magic to
	      fs/ntfs/inode.h and use it to declare NInoTest{Set,Clear}Dirty.

<aia21@cantab.net>
	NTFS: Move typedefs for ntfs_attr and test_t from fs/ntfs/inode.c to
	      fs/ntfs/inode.h so they can be used elsewhere.

<aia21@cantab.net>
	NTFS: Determine the mft mirror size as the number of mirrored mft records
	      and store it in ntfs_volume->mftmirr_size (fs/ntfs/super.c).

<wesolows@foobazco.org>
	[SPARC32]: Ensure swap entries do not overlap the PRESENT or FILE bits.
	
	Recent changes to the swap code force us to actually support the
	entire range of swap encodings.  The old encodings could cause the
	FILE bit to be set, causing a BUG.

<khc@pm.waw.pl>
	[netdrvr tulip] fix use-after-free
	
	The attached patch fixes an "oops" in tulip driver when a live interface
	is deactivated (i.e. PC Card ejected or module unloaded) without being
	brought down first.

<B.Zolnierkiewicz@elka.pw.edu.pl>
	[PATCH] generic PCI IDE support for Toshiba Piccolo chips
	
	From: Daniel Drake <dsd@gentoo.org>
	
	Adds Toshiba chips to the list supported by the generic PCI IDE driver.
	The 2.4 tree already contained an entry for 0x1179:0x0102, this patch
	adds that entry to 2.6 as well as two new ones (0x0103 and 0x0105).
	This then allows DMA to be enabled on disks.

<B.Zolnierkiewicz@elka.pw.edu.pl>
	[PATCH] use kernel min/max in IDE code (1/2)
	
	From: Randy Dunlap <rddunlap@osdl.org>
	From: Michael Veeck <michael.veeck@gmx.net>
	
	ide-cd.h: remove unnecessary MIN() macro
	ide-cd.c: change MIN() calls to use kernel.h calls
	ide-tape.c: use min_t()/max_t() instead of min()/max()

<B.Zolnierkiewicz@elka.pw.edu.pl>
	[PATCH] use kernel min/max in IDE code (2/2)
	
	From: Randy Dunlap <rddunlap@osdl.org>
	From: Michael Veeck <michael.veeck@gmx.net>
	
	Removes unnecessary IDE_MIN()/IDE_MAX() macros
	and changes calls to use kernel.h macros instead.

<B.Zolnierkiewicz@elka.pw.edu.pl>
	[PATCH] prevent module unloading for legacy IDE chipset drivers
	
	It is unsafe thing to do (no locking, no reference counting etc).
	Just remove module_exit() as it was done for IDE PCI drivers.

<stevef@smfhome.smfsambadom>
	Fix port 139 connections to Windows 2K adding missing RFC1002 session_init

<stevef@smfhome.smfsambadom>
	Remove unneeded debug statement

<chas@cmf.nrl.navy.mil>
	[ATM]: [fore200e] 0.3e version by Christophe Lizzi (lizzi@cnam.fr)

<chas@cmf.nrl.navy.mil>
	[ATM]: [fore200e] make use tasklet configurable

<hunold@linuxtv.org>
	[PATCH] V4L: Update the saa7146 driver
	
	 - [DVB] saa7146 driver updates:
	   - remove bogus v_calc and h_calc parameters, which can be easily
	     retrieved from other values
	   - add class parameter to i2c initialization
	   - let resource handling provide more useful informations
	   - sanitize overlay/capture locking

<hunold@linuxtv.org>
	[PATCH] DVB: Documentation and Kconfig updazes
	
	 - [DVB] misc. documentation updates, KConfig help file updates
	 - [DVB] make Twinhan driver depend on bt8xx

<hunold@linuxtv.org>
	[PATCH] DVB: Update DVB budget drivers
	
	 - [DVB] budget-av: patch by Kenneth Aafløy to add support for Typhoon
	   DVB-S budget card
	 - [DVB] budget.c: support for Fujitsu-Siemens Activy Card
	 - [DVB] budget-ci: add preliminary CI support

<hunold@linuxtv.org>
	[PATCH] DVB: Add EN50221 cam support to dvb-core
	
	 - [DVB] add generic functions for EN50221 CAM interfaces

<hunold@linuxtv.org>
	[PATCH] DVB: Other DVB core updates
	
	 - [DVB] remove superflous memset() which caused section data to be
	   overwritten when a) there are two sections in one TS packet, and b)
	   the first section was smaller than 18 bytes; thanks to Jean-Claude
	   Repetto for tracking this down
	 - [DVB] starting a ts filter on a running section filter's pid did
	   break the section filter; fixed. 
	 - [DVB] integrate ULE Decapsulation code, thanks to gcs - Global
	   Communication & Services GmbH.  and Institute for Computer Sciences
	   Salzburg University.  Hilmar Linder <hlinder@cosy.sbg.ac.at> and
	   Wolfram Stering <wstering@cosy.sbg.ac.at>
	 - [DVB] fix the module use count bugs, thanks to Hernan A.Perez Masci
	   for his initial work on this problem
	 - [DVB] if dvb_frontend_internal_ioctl() returns an error code, be sure
	   to deliver it to the calling application, don't ignore it (fixes the
	   bug that the frontend0 doesn't respond properly to unknown ioctls...)
	 - [DVB] major frontend code clean up, rewritten core tuning loop.
	   Thanks to Andrew de Quincey.
	 - [DVB] follow changes in dvb-core in skystar2, dvb-bt8xx

<hunold@linuxtv.org>
	[PATCH] DVB: AV7110 DVB driver updates
	
	 - [DVB] av7110 update:
	   - speed up firmware loading
	   - follow internal API changes in saa7146 driver
	   - introduced some symbolic constants for a/v dec cmds
	   - change default for hw_sections to 0 to enable crc checks

<hunold@linuxtv.org>
	[PATCH] DVB: Misc. DVB frontend driver updates
	
	 - [DVB] follow changes in dvb-core for frontend drivers (ves1x93,
	   ves1820, nxt6000, sp887x, tda1004x, stv0299, mt312, alps_tdlb7,
	   alps_tdmb7, at76c651, cx24110, dst, dvb_dummy_fe, grundig_29504-401,
	   grundig_29504-491)
	 - [DVB] tda1004x: updated timeout to 800ms, implemented FE_SLEEP
	 - [DVB] cx24110: add FE_CAN_RECOVER to reduce kdvb-fe CPU load
	 - [DVB] grundig_29504-401: added 200ms delay after first FE_INIT,
	   Implemented FE_GET_FRONTEND
	 - [DVB] alps_tdlb7, alps_tdmb7: upped tuning delays to fix tuning

<hunold@linuxtv.org>
	[PATCH] DVB: Misc. DVB USB driver updates
	
	 - [DVB] ttusb-dec:
	   - Add a parameter to dvb_filter_pes2ts function to specify whether
	     the packet is a payload unit start or not
	   - Use the hotplug firmware loader for 2.6 kernels instead of
	     compiling the firmware into the module. 
	   - Correct the USB id of the DEC3000-s, add basic support
	
	 - [DVB] ttusb-budget:
	    - Remove spurious discontinuity message when starting streaming

<hunold@linuxtv.org>
	[PATCH] DVB: Follow saa7146 changes in affected V4L drivers
	
	 - [V4L] follow changes in saa7146 driver: mxb, dpc7146, hexium_orion,
	   hexium_gemini

<armin@melware.de>
	[PATCH] ISDN CAPI: add ncci list semaphore
	
	Fix race conditions of ISDN CAPI's internal ncci list handling by using
	a per capidev semaphore.

<axboe@suse.de>
	[PATCH] don't log drive loading failures
	
	This is an old bug that often confuses people, rightfully.
	
	For some laptop and server type cdroms, the drives advertise themselves
	as tray loading even if they are caddy-like or slot-in loaders.  This
	means they cannot insert the media on their own, and this generates a
	5/24/00 error to START_STOP_UNIT.
	
	This prevents the logging of such a failure, and also fixes the
	generation of such a bad command in case the mech type was correctly set
	by the drive.

<stevef@stevef95.austin.ibm.com>
	Flush writebehind before invalidate in file open path

<greg@kroah.com>
	[PATCH] USB: fix up fake usb_interface structure in hiddev
	
	This fixes a oops in the current kernel tree.

<greg@kroah.com>
	[PATCH] USB: further cleanup of the hiddev driver, fixing another possible
oops on disconnect.

<stevef@stevef95.austin.ibm.com>
	fix memory allocation of rfc1002 sess init struct

<axboe@suse.de>
	[PATCH] correct LoEj logic
	
	The logic got a little foo-bar'ed in the last patch, we should have keep
	the old logic.  Ie LoEj bit (2nd) must always be set, just clear it for
	known non-capable of loading drives.

<alex.williamson@hp.com>
	[PATCH] ia64: bug w/ shared interrupts
	
	I just ran into a bug introduced by the most recent iosapic.c patch.
	The scenario is a builtin driver is up and running happily.  A module
	loads for a devices that happens to share the same interrupt vector,
	in this case a network driver.  The module calls pci_enable_device()
	as it should, which eventually lands in iosapic_enable_intr().  We
	then proceed to mask the interrupt and kill the device that's already
	running.  As a bonus, request_interrupt() doesn't fix the problem
	because we only call the startup for the interrupt handler on the
	first action attached to the interrupt.
	
	I think the best way out of this is simply to detect when an action is
	already attached to a vector and leave it alone.  This also prevents
	interrupts from moving to other cpus (on boxes w/o irq redirection)
	for no good reason.

<edwardsg@sgi.com>
	[PATCH] ia64: Remove SN PDA page overflow check
	
	There's an obsolete check in sn_init_pdas() left over from the 2.4
	days that panics if the cpu PDA and cpu_data area span more than a page.
	With 2.6, we're not limited to a page, so remove the check entirely.

<stevef@stevef95.austin.ibm.com>
	update rfc1001 handling

<shemminger@osdl.org>
	[TCP]: Add vegas sysctl docs.

<shemminger@osdl.org>
	[IPV4]: Spelling fixed for ip-sysctl.txt

<shemminger@osdl.org>
	[IRDA]: Export irda_task_delete.

<petri.koistinen@iki.fi>
	[SUNRPC]: Missing NULL kmalloc check in unix_domain_find().

<kaos@sgi.com>
	[PATCH] ia64: SN_SAL_PRINT_ERROR is reentrant

<david-b@pacbell.net>
	[PATCH] One more USB fix
	
	Here's another fix it'd be good to merge ...
	
	No changes to the Linux code at all, but it'll makes the Windows
	configuration of a Linux device running the Ethernet/RNDIS gadget behave
	correctly on more versions of Windows.  (It might prevent some
	Bluescreening too.)

<mchan@broadcom.com>
	[TG3]: Fix jimbo frame PHY programming.
	
	1. Added new workaround for 5705 to improve bit error rate.
	
	2. Changed to use read-modify-write to set the extended packet bit in
	tg3_phy_reset.
	
	3. Removed some phy setup code in tg3_phy_probe. All of that is already
	in the end of tg3_phy_reset. Writing to the phy during probe time may
	contend with ASF because ASF is constantly reading phy registers to
	determine the link.
	
	
	4. Removed the write to phy register 0x18 in tg3_phy_copper_begin. Not
	sure what it was for and it will overwrite that regsiter.

<grundler@parisc-linux.org>
	[TG3]: Fix comment typo.

<jgarzik@redhat.com>
	[TG3]: Dump NIC-specific statistics via ethtool.
	
	Contributed by Tony Cureington @ HP, updated (from pre-ethtool_ops)
	and modified by me.

<davem@nuts.davemloft.net>
	[TG3]: Update driver version and reldate.

<stevef@smfhome.smfsambadom>
	do not block (writing back to the filesystem potentially) while allocating
smb buffers

<akpm@osdl.org>
	[PATCH] create singlethread_workqueue()
	
	From: Rusty Russell <rusty@rustcorp.com.au>
	
	Workqueues are a great primitive for running things from user context from
	a completely clean environment.  Unfortunately, they currently insist on
	creating one thread per CPU, which is overkill for many situations, so the
	more generic keventd workqueue is used for these.  Recently deadlocks using
	keventd were demonstrated, showing that it is not suitable for all uses.
	
	1) Clean up CPU iterators.  Always a nice touch.
	
	2) Add __create_workqueue() and create_singlethread_workqueue(),
	   keeping source compatibility.
	
	3) Put workqueues in workqueue list even if !CONFIG_HOTPLUG_CPU (means
	   we need a lock to protect that list).  Now we can tell if a wq is
	   single-threaded using list_empty(&wq->list).
	
	4) For single-threaded workqueues, override CPU in queue_work,
	   delayed_work_timer_fn and flush_workqueue to be 0.  flush_workqueue
	   now does redundant passes for single-threaded workqueues, but the
	   code remains simple.
	
	5) Make create_workqueue_thread return the thread, so we can easily
	   kthread_bind for multi-threaded workqueues.
	
	
	akpm fixes:
	
	- Fix up is_single_threaded() handling
	
	- single-threaded wq thread does not have "/0" appended.

<akpm@osdl.org>
	[PATCH] Use workqueue for call_usermodehelper
	
	From: Rusty Russell <rusty@rustcorp.com.au>
	
	call_usermodehelper uses keventd to create a thread, guaranteeing a nice,
	clean kernel thread.  Unfortunately, there is a case where
	call_usermodehelper is called with &bus->subsys.rwsem held (via
	bus_add_driver()), but keventd could be running bus_add_device(), which is
	blocked on the same lock.  The result is deadlock, and it comes from using
	keventd for both.
	
	In this case, it can be fixed by using a completely independent thread for
	call_usermodehelper, or an independent workqueue.  Workqueues have the
	infrastructure we need, so we use one.
	
	Move EXPORT_SYMBOL while we're there, too.
	
	akpm fixes: Make it compile with !CONFIG_KMOD

<akpm@osdl.org>
	[PATCH] reiserfs: ignore prepared and locked buffers
	
	From: Chris Mason <mason@suse.com>
	
	block_write_full_page might see and lock clean metadata buffers, which leads
	to bogus vs-12339 messages.  Change the message to ignore bh locked.

<akpm@osdl.org>
	[PATCH] credentials locking fix
	
	From: Chris Wright <chrisw@osdl.org>
	
	Contributions from:
	Stephen Smalley <sds@epoch.ncsc.mil>
	Andy Lutomirski <luto@stanford.edu>
	
	During exec the LSM bprm_apply_creds() hooks may tranisition the program to a
	new security context (like setuid binaries).  The security context of the new
	task is dependent on state such as if the task is being ptraced.  
	
	ptrace_detach() doesn't take the task_lock() when clearing task->ptrace.  So
	there is a race possible where a process starts off being ptraced, the
	malicious ptracer detaches and if any checks agains task->ptrace are done
more
	than once, the results are indeterminate.
	
	This patch ensures task_lock() is held while bprm_apply_creds() hooks are
	called, keeping it safe against ptrace_attach() races.  Additionally, tests
	against task->ptrace (and ->fs->count, ->files->count and ->sighand->count
all
	of which signify potential unsafe resource sharing during a security context
	transition) are done only once the results are passed down to hooks, making
it
	safe against ptrace_detach() races.
	
	Additionally:
	
	- s/must_must_not_trace_exec/unsafe_exec/
	- move unsafe_exec() call above security_bprm_apply_creds() call rather than
	  in call for readability.
	- fix dummy hook to honor the case where root is ptracing
	- couple minor formatting/spelling fixes

<akpm@osdl.org>
	[PATCH] ext3 journalled quota locking fix
	
	From: Jan Kara <jack@ucw.cz>
	
	I've attached a fix for a problem in ext3 journalled quota patch - the
problem
	is that detecting whether dqput() sleeps was wrong and so we could possibly
	schedule when holding a spinlock.

<stevef@steveft21.ltcsamba>
	rfc1001 session init name parsing fix

<akpm@osdl.org>
	[PATCH] Bigger quota hashtable
	
	From: Jan Kara <jack@ucw.cz>
	
	I found out that quota uses hash table with just 43 entries to hash dquot
	entries.  I guess that we can afford using one page for that
	(quotactl(Q_GETQUOTA...), got faster like 3x for 4000 users).  Attached patch
	implements that.

<akpm@osdl.org>
	[PATCH] Per-sb dquot dirty lists
	
	From: Jan Kara <jack@ucw.cz>
	
	When there are lots of dirty dquots the vfs_quota_sync() is too slow (it has
	O(N^2) behaviour).  Attached patch implements list of dirty dquots for each
	superblock and quota type.  Using this lists sync is trivially linear.
	Attached patch is against 2.6.5 with journalled quota and previous patch for
	hash table size.
	
	(Jan had a test which went from 8 minutes to 0.8 seconds...)

<akpm@osdl.org>
	[PATCH] dquot: remove unneeded test
	
	We're testing the nullness of `sb' potentially after rereferencing it
	(although the compiler will have reordered things to avoid such a bug).
	
	Just remove the test - the superblock pointer shouldn't be null in there.

<akpm@osdl.org>
	[PATCH] Minor fixes for ext3 journalled quotas
	
	From: Jan Kara <jack@ucw.cz>
	
	It fixes a memory leak when turning journalled quotas off.

<akpm@osdl.org>
	[PATCH] ppc64: Split prom.c Into pre-reloc and post-reloc Functions
	
	From: Rusty Russell <rusty@rustcorp.com.au>
	
	Move all the functions that run normally (ie.  with the kernel in the correct
	address) to the bottom of prom.c, and keep all the functions which use
RELOC()
	to the top, above "prom_init()" which calls them.
	
	Also, make prom_initialize_dart_table and prom_initialize_tce_table static.

<akpm@osdl.org>
	[PATCH] ppc64: Rearrage finish_device_tree() and its functions in C Order
	
	From: Rusty Russell <rusty@rustcorp.com.au>
	
	Rather than pre-declaring static functions, order them so it's not
neccessary.
	This makes the code easier to navigate and patch.

<akpm@osdl.org>
	[PATCH] ppc64: Rearrage copy_device_tree() and its functions in C Order
	
	From: Rusty Russell <rusty@rustcorp.com.au>
	
	Rather than pre-declaring static functions, order them so it's not
neccessary.
	This makes the code easier to navigate and patch.

<akpm@osdl.org>
	[PATCH] ppc64: Rearrage interpret_funcs in C Order
	
	From: Rusty Russell <rusty@rustcorp.com.au>
	
	Rather than pre-declaring static functions, order them so it's not
neccessary.
	This makes the code easier to navigate and patch.

<akpm@osdl.org>
	[PATCH] ppc64: Rearrage Rest of prom.c in C Order
	
	From: Rusty Russell <rusty@rustcorp.com.au>
	
	Rather than pre-declaring static functions, order them so it's not
neccessary.
	This makes the code easier to navigate and patch.

<akpm@osdl.org>
	[PATCH] ppc64: Make finish_device_tree use lmb_alloc, not klimit
	
	From: Rusty Russell <rusty@rustcorp.com.au>
	
	finish_device_tree simply allocates nodes by incrementing klimit (ie.  using
	memory on top of the kernel).  Change it to figure out how much memory it
	needs, then use lmb_alloc to allocate that, then fill it in.
	
	This gets rid of the only manipulation of klimit after prom_init.

<akpm@osdl.org>
	[PATCH] ppc64: make_room macro for ppc64 prom.c
	
	From: Rusty Russell <rusty@rustcorp.com.au>
	
	copy_device_tree calls inspect_node() which recurses to copy the Open
Firmware
	device tree.  It just copied into memory above the kernel for about 8MB,
which
	can overwrite the initrd, and/or get truncated on big machines.
	
	The real solution is to allocate memory properly for all the prom_init memory
	users.  However, that's quite a change.  This patch introduces a "make_room"
	macro which inspect_node uses to get memory.  This does the same as before,
	except skips over the initrd if neccessary.

<akpm@osdl.org>
	[PATCH] ppc64: Fix prom.c to boot on G5 after make_room fix
	
	From: Rusty Russell <rusty@rustcorp.com.au>
	
	Ben Herrenschmidt made this actually boot.

<akpm@osdl.org>
	[PATCH] ppc64: Clean up prom functions in prom.c
	
	From: Rusty Russell <rusty@rustcorp.com.au>
	
	1) Define PROM_ERROR: checks for call_prom() < 0 are bogus (returns ulong)
	2) All OF access functions should be marked __init.
	3) prom_strtoul isn't used at all.

<akpm@osdl.org>
	[PATCH] ppc64: Initrd Cleanup
	
	From: Rusty Russell <rusty@rustcorp.com.au>
	
	Clean up initrd handling.
	
	1) Expose initrd_start and initrd_end to prom.c (replacing its local
	   initrd_start and initrd_len).
	
	2) Don't hand mem (aka klimit) through functions which don't need it.
	
	3) Add more debugging under DEBUG_PROM in case we broke anything.

<akpm@osdl.org>
	[PATCH] ppc64: Move Initrd
	
	From: Rusty Russell <rusty@rustcorp.com.au>
	
	This patch moves the initrd when "make_room" runs out of space, rather than
	stepping over it.  The problem with stepping over it is that it gets copied
	with the kernel when this happens, which wastes space.
	
	Also ensures that the initrd isn't where the kernel wants to be moved to: if
	it is, it gets moved out the way.

<akpm@osdl.org>
	[PATCH] ppc64: prom.c fix for CONFIG_BLK_DEV_INITRD=n
	
	From: Rusty Russell <rusty@rustcorp.com.au>
	
	Doesn't compile with CONFIG_BLK_DEV_INITRD=n.  Be more careful with the
	conditionals.
	
	Spotted by Dave Boutcher...

<akpm@osdl.org>
	[PATCH] hugetlbpage: remove include linux/module.h
	
	From: Paul Jackson <pj@sgi.com>
	
	The #include of linux/module.h in several arch/*/mm/hugetlbpage.c files for
	EXPORT_SYMBOL(hugetlb_total_pages) is now unneeded.

<akpm@osdl.org>
	[PATCH] slab alignment fixes
	
	From: Manfred Spraul <manfred@colorfullife.com>
	
	Below is a patch that redefines the kmem_cache_alloc `align' argument:
	
	- align not zero: use the specified alignment.  I think values smaller than
	  sizeof(void*) will work, even on archs with strict alignment requirement
(or
	  at least: slab shouldn't crash.  Obviously the user must handle the
	  alignment properly).
	
	- align zero:
	* debug on: align to sizeof(void*)
	* debug off, SLAB_HWCACHE_ALIGN clear: align to sizeof(void*)
	* debug off, SLAB_HWCACHE_ALIGN set: align to the smaller of
	   - cache_line_size()
	   - the object size, rounded up to the next power of two.
	  Slab never honored cache align for tiny objects: otherwise the 32-byte
	  kmalloc objects would use 128 byte objects.
	
	There is one additional point: right now slab uses ints for the bufctls.
	Using short would save two bytes for each object.  Initially I had used
short,
	but davem objected.  IIRC because some archs do not handle short
efficiently. 
	Should I allow arch overrides for the bufctls?  On i386, saving two bytes
	might allow a few additional anon_vma objects in each page.

<akpm@osdl.org>
	[PATCH] prune_dcache comment fix
	
	From: Maneesh Soni <maneesh@in.ibm.com>
	
	Clarify some things which were confusing poeple...

<akpm@osdl.org>
	[PATCH] m68k: Amiga A2065 Ethernet KERN_*
	
	From: Geert Uytterhoeven <geert@linux-m68k.org>
	
	Amiga A2065 Ethernet: Add KERN_* prefixes to printk() messages

<akpm@osdl.org>
	[PATCH] m68k bitops
	
	From: Geert Uytterhoeven <geert@linux-m68k.org>
	
	M68k bitops updates (from Roman Zippel):
	  - Optimize find_{first,next}_zero_bit()
	  - Add missing implementations of find_{first,next}_bit()

<akpm@osdl.org>
	[PATCH] efivars: remove from arch/ia64
	
	From: Matt Tolentino <metolent@snoqualmie.dp.intel.com>
	
	I broke up the efivars driver update patch I had sent out quite a while ago
	into several smaller patches.  This includes several fixes and suggestions
	that were pointed out.  The patches are broken down as follows:
	
	1 - remove all traces of efivars from arch/ia64/
	2 - add new sysfs based efivars driver into
	    drivers/firmware with accompanying Kconfig/Makefile
	    changes to make it fully functional for ia64 again.
	3 - cleans up x86 references to the /proc version of
	    the efivars driver.

<akpm@osdl.org>
	[PATCH] efivars: add to drivers/firmware
	
	From: Matt Tolentino <metolent@snoqualmie.dp.intel.com>
	
	Second efivars driver update patch that adds efivars into the
drivers/firmware
	directory.

<akpm@osdl.org>
	[PATCH] efivars: remove x86 references
	
	From: Matt Tolentino <metolent@snoqualmie.dp.intel.com>
	
	Third efivars driver update patch that removes x86 references to the /proc
	version of the driver.

<akpm@osdl.org>
	[PATCH] efivars fixes
	
	From: Matt Domsch <Matt_Domsch@dell.com>
	
	Patch below fixes three small bugs in efivars.c as posted by Matt Tolentino
	last week and included in the latest -mm.  Aside from this small patch, I'm
	quite pleased with Matt T's work, thanks!
	
	- dummy() used for reading write-only sysfs files should return -ENODEV to
	  indicate failure, not 0.
	
	- efivar_create() should return the number of bytes written on success, not
	  zero.
	
	- efivar_delete() should return the number of bytes written on success, not
	  zero.

<akpm@osdl.org>
	[PATCH] efibootmgr location change
	
	From: Matt Domsch <Matt_Domsch@dell.com>
	
	I moved the home of the efibootmgr utility from domsch.com to
	linux.dell.com.  Note the move in drivers/firmware/Kconfig, also note
	version 0.5.0-test3 or above is necessary.

<akpm@osdl.org>
	[PATCH] s390: no timer interrupts in idle.
	
	From: Martin Schwidefsky <schwidefsky@de.ibm.com>
	
	This patch add a system control that allows to switch off the jiffies timer
	interrupts while a cpu sleeps in idle.  This is useful for a system running
	with virtual cpus under z/VM.

<akpm@osdl.org>
	[PATCH] task_lock() comment update

<akpm@osdl.org>
	[PATCH] dio_bio_reap() return value fix
	
	This function doesn't correctly accumulate -EIO for its caller.

<akpm@osdl.org>
	[PATCH] fix CONFIG_SYSFS=n compile warning
	
	From: Matt Mackall <mpm@selenic.com>

<akpm@osdl.org>
	[PATCH] isofs "default NLS charset not used" fix
	
	From: Marek Szuba <scriptkiddie@wp.pl>
	
	Use the configured default NLS rather than hardwire it.

<akpm@osdl.org>
	[PATCH] slab: use order 0 for vfs caches
	
	We have interesting deadlocks when slab decides to use order-1 allocations
for
	ext3_inode_cache.  This is because ext3_alloc_inode() needs to perform a
	GFP_NOFS 1-order allocation.
	
	Sometimes the 1-order allocation needs to free a huge number of pages (tens
of
	megabytes) before a 1-order grouping becomes available.  But the GFP_NOFS
	allocator cannot free dcache (and hence icache) due to the deadlock problems
	identified in shrink_dcache_memory().
	
	So change slab so that it will force 0-order allocations for shrinkable VFS
	objects.  We can handle those OK.

<akpm@osdl.org>
	[PATCH] smb_writepage retval fix
	
	->writepage() is supposed to return zero or a negative error code.  Returning
	the number of bytes written will confuse the VFS.

<akpm@osdl.org>
	[PATCH] simplify put_page()
	
	By requiring that compound pages implement destructors we can drop some code
	from put_page().

<akpm@osdl.org>
	[PATCH] hugepage fixes
	
	From: William Lee Irwin III <wli@holomorphy.com>
	
	mm/hugetlb.c is putting the destructor in head->lru.prev not head[1].mapping;
	fix below along with nuking huge_page_release(), which simply duplicates
	put_page().

<akpm@osdl.org>
	[PATCH] ISDN Eicon driver: remove call to trap usermode helper
	
	From: Armin Schindler <armin@melware.de>
	
	This patch removes the function to call a usermode helper if the hardware
	and its firmware has a problem.  This feature is already implemented in the
	user utility and the driver does not need to care about it.

<akpm@osdl.org>
	[PATCH] doc: tips for S3 resume on radeon cards
	
	From: Pavel Machek <pavel@ucw.cz>
	
	Stefan has pretty useful tips for getting S3 to work on radeon notebooks.
	This brings whole new class of systems to be usable for S3.

<akpm@osdl.org>
	[PATCH] ppc32: fix head_44x.S copyrights
	
	From: Matt Porter <mporter@kernel.crashing.org>
	
	A copyright change to properly show the lineage of this file.

<akpm@osdl.org>
	[PATCH] fs/proc/array.c: workaround for gcc-2.96
	
	From: Alan Stern <stern@rowland.harvard.edu>
	
	This patch is needed to work around gcc-2.96's limited ability to cope with
	long long intermediate expression types.  I don't know why the code
	compiled okay earlier and failed now.

<akpm@osdl.org>
	[PATCH] blkdev.h: functions no longer inline
	
	From: "Randy.Dunlap" <rddunlap@osdl.org>
	
	These are EXPORTed SYMBOLs; 'inline' was removed from them in ll_rw_blk.c
	on 2002-11-25.

<akpm@osdl.org>
	[PATCH] nfs_writepage() retval fix
	
	Both ->writepage() and ->writepages() should return 0 or a negative error
	code.  It shouldn't return the number of bytes which were written.
	
	From: Trond Myklebust <trond.myklebust@fys.uio.no>
	
	   Redirty the page if all of the modified parts of the page weren't
	   written out.

<akpm@osdl.org>
	[PATCH] ppc32: dma_unmap_page() fix
	
	From: <a.othieno@bluewin.ch> (Arthur Othieno)
	
	Duplicate definition of dma_unmap_single() should actually be
	dma_unmap_page().
	
	(acked by Tom Rini)

<akpm@osdl.org>
	[PATCH] fix fs/proc/task_nommu.c compile
	
	From: Christoph Hellwig <hch@lst.de>
	
	this file has been broken for ages, but it seems few !CONFIG_MMU users use
	mainline at all.

<akpm@osdl.org>
	[PATCH] remove Documentation/DocBook/parportbook.tmpl
	
	From: Christoph Hellwig <hch@lst.de>
	
	The partportbook is licensed under the GFDL and Linus agreed to remove
	all GFDL licensed files in
	http://www.ussg.iu.edu/hypermail/linux/kernel/0306.1/1968.html.
	
	I pinged the author the first time on the 2nd of april but still didn't get
	a reply, then send a patch to Linus to remove it last week but linus
	ignored it.  Here's the patch again:

<akpm@osdl.org>
	[PATCH] Set module license in mcheck/non-fatal.c
	
	From: Herbert Xu <herbert@gondor.apana.org.au>
	
	This patch sets the module license for mcheck/non-fatal.c.  The module
	doesn't work at all without this as one of the symbols it needs is only
	exported as GPL.

<akpm@osdl.org>
	[PATCH] SubmittingPatches diffing update.
	
	From: Zwane Mwaikambo <zwane@arm.linux.org.uk>
	
	A kernel janitor recently got confused by the advice in SubmittingPatches
	and was sending patches with the wrong strip level, i think just about
	everyone would prefer standard patches.  Also mention various patch
	management scripts for batching up large deltas.

<akpm@osdl.org>
	[PATCH] ppc64: remove duplicated mb() and comment from __cpu_up
	
	From: Nathan Lynch <nathanl@austin.ibm.com>
	
	This seems to have slipped in during a manual merge at some point.

<akpm@osdl.org>
	[PATCH] SELinux ptrace race fix
	
	From: Stephen Smalley <sds@epoch.ncsc.mil>
	
	Looking again at the SELinux ptrace check, I believe that there is an
	unrelated race due to the fact that the parent link is only updated after
	releasing the task lock in ptrace_attach (and this is necessary as task lock
	doesn't nest with write lock of tasklist_lock).
	
	The patch below changes SELinux to save the tracing process' SID upon a
	successful selinux_ptrace hook call and then use that SID in the ptrace check
	in apply_creds in order to avoid such races.  This allows us to preserve the
	fine-grained process-to-process ptrace check upon exec (vs.  the global
	CAP_SYS_PTRACE privilege => PT_PTRACE_CAP flag used by the capability module)
	while still avoiding races.

<akpm@osdl.org>
	[PATCH] doc: specifiying module parameters
	
	From: "Randy.Dunlap" <rddunlap@osdl.org>
	
	kernel-parameters.txt: add info on how to specify loadable module
	parameters vs.  built-in module parameters

<akpm@osdl.org>
	[PATCH] kbuild: Improved external module support
	
	From: Sam Ravnborg <sam@ravnborg.org>
	
	The external module support recently introduced caused a number of problems:
	- To build an external module the Module.symvers file was needed
	- To create the Module.symvers file a module was required
	- If Module.symvers was missing kbuild boiled out with an error
	- If vmlinux was missing also the stage 2 of module build failed (make -k)
	- It was not documented what was needed to actually bauild a module
	
	The following patch addresses this by adding the following functionality:
	- Always generate the Module.symvers file
	- Ignore a missing Module.symvers file
	- Add a new target modules_prepare, it prepares the kernel for building
	  external modules, and is also usefull with O=
	- And it adds some more comments to Makefile.modpost, so others may follow
	  it with some luck
	- .modpost.cmd is no longer generated
	
	This should close all reports on issues with respect to building external
	modules with current kernel - which has been identified as kernel problems.

<aia21@cantab.net>
	NTFS: Load the mft mirror at mount time and compare the mft records
	      stored in it to the ones in the mft (fs/ntfs/super.c).

<shaggy@austin.ibm.com>
	JFS: Fix non-ascii file name problem
	
	An unintentional sign extention caused non-ascii characters to be
	stored incorrectly, leading to inaccessible files.  Changing a
	declaration to unsigned char fixes the problem.

<axboe@suse.de>
	[PATCH] fix SG_IO page leak
	
	We cannot always rely on ->biotail remaining untouched. Currently we
	leak all the pinned user pages when doing cdda ripping at least, so I
	see no way around keeping the bio pointer seperate and passing it back
	in for unmap. Alternatively, we could invent a struct blk_map_data and
	put it on the stack for passing to both map and unmap.

<torvalds@ppc970.osdl.org>
	Include <linux/syscalls.h> in files that need them.

<mludvig@suse.cz>
	[CRYPTO]: Add module aliases for des and sha512.

<davem@nuts.davemloft.net>
	[TG3]: Undo comment typo fix, it was wrong.

<ebrower@usa.net>
	[COMPAT]: HDIO_DRIVE_TASK is a compatible ioctl.

<stevef@stevef95.austin.ibm.com>
	fixes for socket retry and error handling of misc. error paths

<stevef@stevef95.austin.ibm.com>
	fix double entry typo

<shemminger@osdl.org>
	[NET]: Eliminate large inlines in skbuff.h

<rusty@rustcorp.com.au>
	[PATCH] Fix cpumask iterator over empty cpu set
	
	Can't use _ffs() without first checking for zero, and if bits beyond
	NR_CPUS set it'll give bogus results.  Use find_first_bit

<torvalds@ppc970.osdl.org>
	Linux 2.6.6-rc3

<shemminger@osdl.org>
	[TCP]: tcp_send_skb code pruning
	
	The function tcp_send_skb is only called from tcp_fin, and is always called
	with force_queue=1.  Therefore, it no longer needs to be global and the code
	to send right now can be removed.  Because it always queues, change the
	name as well, and fix up the comment.

<davem@nuts.davemloft.net>
	[SPARC64]: Fix MAP_FIXED+shared address check, noticed by rmk.

<roehrich@sgi.com>
	[XFS] Fix dmapi/mprotect interaction
	
	SGI Modid: xfs-linux:xfs-kern:170448a

<akpm@osdl.org>
	[PATCH] acpi build fix
	setup.c:608: `acpi_skip_timer_override' undeclared

<roehrich@sgi.com>
	[XFS] Remove <linux/mman.h> now that linvfs_mprotect doesn't need it.
	
	SGI Modid: xfs-linux:xfs-kern:170509a

<sziwan@hell.org.pl>
	[PATCH] acpi4asus 0.28 (Karol 'sziwan' Kozimor)
	- Added support for Samsung P30
	- Fixed an oops triggered by non-standard hardware (Samsung P30)
	- Added support for L4400L and M6800N
	
	The patch also removes some superfluous data. It doesn't include the
	copy_from_user() conversion, it will be released as a separate patch.

<hch@sgi.com>
	[XFS] close external blockdevice after final flush
	
	SGI Modid: xfs-linux:xfs-kern:170489a

<len.brown@intel.com>
	[ACPI] battery "charged" instead of "unknown" (Luming Yu)
	http://bugzilla.kernel.org/show_bug.cgi?id=1863

<len.brown@intel.com>
	[ACPI] pci-link may not always be SHARED (SuSE via Luming Yu)
	http://bugzilla.kernel.org/show_bug.cgi?id=2404

<len.brown@intel.com>
	[ACPI] rmmod ACPI modules vs /proc
	from Anil S Keshavamurthy and David Shaohua Li
	http://bugzilla.kernel.org/show_bug.cgi?id=2457

<len.brown@intel.com>
	[ACPI] toshiba_acpi driver if acpi_disabled (David Shaohua Li)
	http://bugzilla.kernel.org/show_bug.cgi?id=2465

<len.brown@intel.com>
	[ACPI] support button driver unload (Luming Yu)
	http://bugzilla.kernel.org/show_bug.cgi?id=2281

<len.brown@intel.com>
	[ACPI] fix build warning in dmi_scan

<len.brown@intel.com>
	[ACPI] button build fix

<aia21@cantab.net>
	NTFS: - Fix compiler warnings related to type casting.
	      - Move %L to %ll as %L is floating point and %ll is integer which
	        is what we want.
	      - Add logfile inode to ntfs_volume structure and the code to clean
	        it up in super.c.

<dvrabel@com.rmk.(none)>
	[ARM PATCH] 1832/1: Typo in dma_unregister_dev printk
	
	Patch from David Vrabel
	
	Fix a trivial typo in a dma_unregister_dev printk.

<rmk@flint.arm.linux.org.uk>
	[ARM] Add read_cpuid() to aid reading CPU ID registers.

<rmk@flint.arm.linux.org.uk>
	[ARM] Fix BE find_*_bit operations
	
	These broke when find_first_bit/find_next_bit was added.

<akpm@osdl.org>
	[PATCH] fix warning in fs/dquot.c
	
	From: "Luiz Fernando N. Capitulino" <lcapitulino@prefeitura.sp.gov.br>
	
	fs/dquot.c: In function `vfs_quota_off':
	fs/dquot.c:1328: warning: label `out' defined but not used

<akpm@osdl.org>
	[PATCH] ppc64: Set memory-only nodes online
	
	From: Olof Johansson <olof@austin.ibm.com>
	
	On pSeries LPARs we might end up with NUMA nodes that only have memory and
	no CPUs.  Only the CPU configuration code actually set a node online, so
	memory-only nodes wouldn't show up in sysfs.  Below patch adds the
	set_online call to the memory loop too.

<akpm@osdl.org>
	[PATCH] Fix thinkos in #if -> #ifdef conversions
	
	From: Tom Rini <trini@kernel.crashing.org>
	
	When I changed some '#if FOO' tests to '#ifdef FOO' I forgot to make sure
	that nothing was doing #define FOO 0.  So after auditing all of the changes
	I made, the following is needed:

<akpm@osdl.org>
	[PATCH] Fix thinkos in #if -> #ifdef conversions #2
	
	From: Tom Rini <trini@kernel.crashing.org>
	
	And when trying to catch up on old patches, I forgot this hunk:

<akpm@osdl.org>
	[PATCH] fix warning in arch/ppc/boot/simple/misc.c
	
	From: Christoph Hellwig <hch@lst.de>
	
	asm-ppc/elf.h uses a pointer to struct task_struct without any
	forward-declaration.
	
	In file included from include/linux/elf.h:5,
	                 from arch/ppc/boot/simple/misc.c:20:
	include/asm/elf.h:102: warning: `struct task_struct' declared inside
parameter list
	include/asm/elf.h:102: warning: its scope is only this definition or
declaration, which is probably not what you want

<akpm@osdl.org>
	[PATCH] ppc32: Update SBS K2 support
	
	From: Tom Rini <trini@kernel.crashing.org>
	
	This patch updates support for the SBS K2 platform.  Most of the size in this
	patch comes from merging k2_pci.c and k2_setup.c into just k2.c.

<akpm@osdl.org>
	[PATCH] ppc32: Add openpic_hookup_cascade()
	
	From: Tom Rini <trini@kernel.crashing.org>
	
	This patch adds openpic_hookup_cascade(offset, name, handler) which allows
for
	an arbitrary interrupt controller to be hooked up as a cascade to the
openpic.
	 This also allows for platforms to just not have a cascaded controller.

<akpm@osdl.org>
	[PATCH] ppc32: Update Motorola PrPMC750 support
	
	From: Tom Rini <trini@kernel.crashing.org>
	
	This patch updates support for the Motorola PrPMC750 platform.  Most of the
	size in this patch comes from merging prpmc750_pci.c and prpmc750_setup.c
into
	just prpmc750.c.

<rmk@flint.arm.linux.org.uk>
	[ARM] Update assabet_defconfig.

<armin@melware.de>
	[PATCH] ISDN CAPI: fix ncci list semaphore
	
	Fix new ISDN CAPI's internal ncci list semaphore if
	CONFIG_ISDN_CAPI_MIDDLEWARE is disabled.
	
	Thanks to Florian Schirmer.

<rmk@flint.arm.linux.org.uk>
	[ARM] Update ioremap implementation.
	
	Use flush_cache_vmap() after creating mappings.  Also use BUG_ON()
	rather than if() BUG().

<rmk@flint.arm.linux.org.uk>
	[ARM] Fix dependencies of SERIO_AMBAKMI and SERIO_RPCKBD

<rmk@flint.arm.linux.org.uk>
	[ARM] Oprofile should use asm/irq.h not asm/arch/irqs.h

<rmk@flint.arm.linux.org.uk>
	[ARM] Fix monspecs in ARM-related framebuffer drivers.
	
	Use named initialisers for monspecs; the format of the structure
	changed a while back and it broke.

<ink@jurassic.park.msu.ru>
	[PATCH] Fix rwsem contention case on alpha/s390x
	
	Thanks to Dru <andru@treshna.com>, who provided an easy way to reproduce
	the problem.
	
	What we have in lib/rwsem.c:__rwsem_do_wake():
		int woken, loop;
		^^^
	and several lines below:
		loop = woken;
		woken *= RWSEM_ACTIVE_BIAS-RWSEM_WAITING_BIAS;
		woken -= RWSEM_ACTIVE_BIAS;
	
	However, rw_semaphore->count is 64-bit on Alpha, so
	RWSEM_WAITING_BIAS has been defined as -0x0000000100000000L.
	Obviously, this blows up in the write contention case.

<rmk@flint.arm.linux.org.uk>
	[ARM] Remove Anakin default configuration file.

<rmk@flint.arm.linux.org.uk>
	[ARM] Fix shared mmap()ings for ARM VIPT caches.
	
	This allows us to appropriately align shared mappings on VIPT caches
	with aliasing issues.

<shemminger@osdl.org>
	[IPV4]: Use static in several places.
	
	More functions and data that should be static.

<chaapala@cisco.com>
	[LIB]: Add CRC32c (Castagnoli, et al Cyclic Redundancy-Check)

<chaapala@cisco.com>
	[LIB]: Use compiler.h's pure attribute macros in crc32.c.

<rmk@flint.arm.linux.org.uk>
	[ARM] Fix read_cpuid()

<chaapala@cisco.com>
	[CRYPTO]: Provide crc32c as a type of digest.

<davem@nuts.davemloft.net>
	[SPARC64]: Update defconfig.

<rmk@flint.arm.linux.org.uk>
	[ARM] Fix atomic bitops earlyclobber
	
	atomic_dec_and_test and atomic_add_negative didn't mark their
	temporary variables as early-clobber.  Fix this.

<shemminger@osdl.org>
	[NETLINK]: Mark some functions/data static.

<torvalds@ppc970.osdl.org>
	Add __user annotations to ppc64 user access functions.

<torvalds@ppc970.osdl.org>
	Tell the sparse checker to use 64-bit mode when checking
	a ppc64 tree.

<rmk@flint.arm.linux.org.uk>
	[ARM] Move all page fault handling code to fault.c

<rmk@flint.arm.linux.org.uk>
	[ARM] Add Versatile default configuration

<dirk.behme@com.rmk.(none)>
	[ARM PATCH] 1835/1: Make ALTERA Excalibur work again in 2.6.5
	
	Patch from Dirk Behme
	
	Make ALTERA Excalibur work again in 2.6.4. Update serial driver uart00.c and
defconfig.
	
	This is an update of patch 1833/1.
	
	Remove #include <config/pld/hotswap.h>, it isn't necessary at all. 

<B.Zolnierkiewicz@elka.pw.edu.pl>
	[PATCH] fix default IDE interfaces initialization for PPC32
	
	In ide_init_default_irq() patch I overlooked that
ppc_ide_md.init_hwif_ports()
	called from generic ide_init_hwif_ports() can set hwif->irq and it will
	be overwritten by ide_init_default_irq() if CONFIG_PCI is defined.  Fix
	it.
	
	I will clean it up properly later after killing ide_init_hwif_ports() on
	ARM{26}.  Doing it now is just wasted effort.

<david@gibson.dropbear.id.au>
	[PATCH] Fix overeager stack-expansion on ppc64
	
	This fix is from Paul Mackerras and was applied in 2.4 sometime late
	last year.
	
	On ppc64, touching addresses between the highest other mapping and the
	stack can cause the stack to be extended way, way down, rather than
	causing a SEGV as you would expect.  This patch only allows the stack
	mapping to be extended to cover addresses actually within the stack
	(as determined by looking at the process's r1).  This fix is ported
	from 2.4
	
	This fixes failures on the LTP's shmdt01, munmap01 and munmap02 tests.

<david@gibson.dropbear.id.au>
	[PATCH] POWER5 erratum workaround
	
	Early POWER5 revisions (<DD2.1) have a problem requiring slbie
	instructions to be repeated under some circumstances.  The patch below
	adds a workaround (patch made by Anton Blanchard).

<viro@parcelfarce.linux.theplanet.co.uk>
	[PATCH] Fix might_sleep in /proc/swaps code
	
	This fixes a locking problem noted by Tim Hockin:
	    * /proc/swaps uses seq_file code, calling seq_path() with swaplock held
	    * seq_path() calls d_path()
	    * d_path() calls mntput() which might_sleep()
	
	We add a new semaphore protecting insertions/removals in the set of swap
	components + switch of ->start()/->stop() to the same semaphore [fixes
	deadlocks] + trivial cleanup of ->next().

<akpm@osdl.org>
	[PATCH] cifssmb.c warning fix
	
	On ppc64, __u64 is `unsigned long', so:
	
	fs/cifs/cifssmb.c: In function `CIFSSMBSetFileSize':
	fs/cifs/cifssmb.c:2466: warning: long long int format, __u64 arg (arg 2)

<akpm@osdl.org>
	[PATCH] ppc32: compile error in signal.c
	
	From: Meelis Roos <mroos@linux.ee>
	
	arch/ppc/kernel/signal.c: In function `handle_signal':
	arch/ppc/kernel/signal.c:518: error: `newspp' undeclared (first use in this
function)
	arch/ppc/kernel/signal.c:518: error: (Each undeclared identifier is reported
only once
	arch/ppc/kernel/signal.c:518: error: for each function it appears in.)
	arch/ppc/kernel/signal.c:518: warning: long unsigned int format, pointer arg
(arg 3)

<akpm@osdl.org>
	[PATCH] Update kerneltraffic link in SubmittingDrivers and kernel-docs.txt
	
	From: Coywolf Qi Hunt <coywolf@greatcn.org>
	
	This updates the kerneltraffic url link found in
	Documentation/SubmittingDrivers and Documentation/kernel-docs.txt.

<akpm@osdl.org>
	[PATCH] cciss build fix
	
	From: <mikem@beardog.cca.cpqcorp.net>
	
	This patch fixes the linux/include/cciss_ioctl.h file.  When support for the
	cciss big ioctl was added the stucture in the header was put in the wrong
	place.  If an application includes the file it will fail to compile.

<akpm@osdl.org>
	[PATCH] cciss MAINTAINERS update
	
	From: <mikem@beardog.cca.cpqcorp.net>
	
	Here's an update for the MAINTAINERS file.

<akpm@osdl.org>
	[PATCH] s390: core s390
	
	From: Martin Schwidefsky <schwidefsky@de.ibm.com>
	
	s390 core changes:
	 - Move setting/clearing of TIF_31BIT thread flag to SET_PERSONALITY.
	 - Use TASK_UNMAPPED_BASE in elf_map32 for mmaps with address 0.
	 - Define ARCH_KMALLOC_MINALIGN.
	 - Define ARCH_MIN_TASKALIGN.

<akpm@osdl.org>
	[PATCH] s390: common i/o layer
	
	From: Martin Schwidefsky <schwidefsky@de.ibm.com>
	
	Common i/o layer changes:
	 - Don't use bus ids in crw debug feature.
	 - Use cio_oper for oper notification to disconnected devices.
	 - Remove __get_subchannel_by_stsch.
	 - Make cio workqueue a single threaded workqueue.
	 - Introduce addiotnal cio_notify workqueue for device driver notification.
	 - Switch off path in vpm if cio_start returned -ENODEV.
	 - Fix rescan for new subchannels after a logical vary on.

<akpm@osdl.org>
	[PATCH] s390: network driver
	
	From: Martin Schwidefsky <schwidefsky@de.ibm.com>
	
	Network driver changes:
	 - ctc: Add missing irb error checking.
	 - iucv: Add name of net_device to iucvMagic to more than one
	         connection between two guests.
	 - qeth: Don't send IPA command if card is not in state SOFTSETUP or UP.
	 - qeth: Fix number base in simple_strtoul call for buffer_count attribute.
	 - qeth: Fix reallocating of buffers when buffer_count attribute is changed.
	 - qeth: Correct handling of return codes in qeth_realloc_buffer_pool.
	 - qeth: Don't call dev_close/dev_open on STOPLAN/STARTLAN commands.
	         Use netif_carrier_off/netif_carrier_on instead.

<akpm@osdl.org>
	[PATCH] s390: 3270 console driver
	
	From: Martin Schwidefsky <schwidefsky@de.ibm.com>
	
	3270 device driver change:
	 - Add missing irb error checking.

<akpm@osdl.org>
	[PATCH] s390: zfcp host adapter
	
	From: Martin Schwidefsky <schwidefsky@de.ibm.com>
	
	zfcp host adapter change:
	 - Fix addressing exception due to uninitialized host_scribble pointer.

<akpm@osdl.org>
	[PATCH] s390: oprofile for s390
	
	From: Martin Schwidefsky <schwidefsky@de.ibm.com>
	
	Add oprofile support for s/390.

<akpm@osdl.org>
	[PATCH] static functions in as-iosched.c
	
	From: Stephen Hemminger <shemminger@osdl.org>

<akpm@osdl.org>
	[PATCH] Fix support for the Motorola PrPMC800
	
	From: Tom Rini <trini@kernel.crashing.org>
	
	Makes the Motorola PrPMC800 platform functional again.  This comes from Randy
	Vinson <rvinson@mvista.com>.

<akpm@osdl.org>
	[PATCH] gcc-3.4.0 fixes
	
	From: Mikael Pettersson <mikpe@user.it.uu.se>
	
	This patch fixes three warnings from gcc-3.4.0 in 2.6.6-rc3:
	
	- arch/i386/pci/pcbios.c: use of "+m" constraint
	
	- drivers/char/ftape/: use of cast-as-lvalue
	
	- drivers/char/ftape/: __attribute__((packed)) on something containing only
	  bytes

<akpm@osdl.org>
	[PATCH] writeback livelock fix
	
	To avoid various livelocks, the writeback code parks all the dirty inodes
onto
	sb->s_io and then works through that list until it is empty.  This assumes
	that each inode will be moved to some other list as it is processed.
	
	But there's a loophole: if the ->writepages() implementation does nothing at
	all, the inode is not redirtied (which would move it to s_dirty).  This
causes
	s_io to not empty and pdflush goes nuts.
	
	So when this happens, move the inode onto s_dirty within
	__sync_single_inode().  Use list_move_tail() to attempt to preserve the
	time-ordering of the s_dirty list.

<hugh@veritas.com>
	[PATCH] mremap offset type
	
	Just found I never changed type of move_page_tables when I changed it to
	return offset: einormous mremap moves would fail on 64-bit.

<davidm@tiger.hpl.hp.com>
	ia64: Fix Exec-Only stack patch so X can work again.
	
	No pun intended, but X can't work if it can't turn on eXecute-permission
	on the some data pages...

<pfg@sgi.com>
	[PATCH] ia64: SN2 fix
	
	Move HW interrupt register init. to the proper place
	and don't force an interrupt if the IRQ is disabled
	or in progress.

<shemminger@osdl.org>
	[NET]: More network layer static funcs and data.

<trond.myklebust@fys.uio.no>
	[PATCH] NFSv3: Fix SETATTR call after O_EXCL create
	
	Ensure that when we send the SETATTR call after doing an O_EXCL create,
	we always set the atime and ctime fields.
	
	See RFC1813 for details on why the server is allowed to clobber these
	two fields in order to cache a verifier that protects CREATE in case of
	a timeout+resend from the client.
	
	Patch is by Olaf Kirch.

<akpm@osdl.org>
	[PATCH] parport pnp detection fix
	
	From: Adam Belay <ambx1@neo.rr.com>
	
	Fix http://bugme.osdl.org/show_bug.cgi?id=2540
	
	It prevents PnP detection if devices were already detected by SuperIO.

<akpm@osdl.org>
	[PATCH] nfs printk warning fix
	
	From: Trond Myklebust <trond.myklebust@fys.uio.no>
	
	fs/nfs/direct.c: In function `nfs_direct_IO':
	fs/nfs/direct.c:458: warning: int format, different type arg (arg 2)

<akpm@osdl.org>
	[PATCH] efivars sysfs fix
	
	From: Matt Tolentino <metolent@snoqualmie.dp.intel.com>
	
	This trailing space in sysfs contents is not needed.

<akpm@osdl.org>
	[PATCH] DVB:Fix adapter module removal bug
	
	From: Michael Hunold <hunold@convergence.de>
	
	unfortunately it's possible to remove a DVB adapter module even if a DVB
	network device has been set up using this adapter.
	
	The attached patch fixes this problem.

<akpm@osdl.org>
	[PATCH] s390: oprofile Kconfig fixes
	
	From: Arnd Bergmann <arnd@arndb.de>
	
	Enable basic profiling code on s390 depending on CONFIG_PROFILING, not
	CONFIG_OPROFILE.
	
	CONFIG_PROFILING should enable the generic profiling code here, even if
	CONFIG_OPROFILE is not set.  Note that the identical code on i386 is always
	compiled in, regardless of CONFIG_PROFILING and CONFIG_OPROFILE.

<akpm@osdl.org>
	[PATCH] make ikconfig quiet
	
	From: "Randy.Dunlap" <rddunlap@osdl.org>
	
	From: Pavel Machek <pavel@ucw.cz>
	
	Kill uninformative boot-time message.

<akpm@osdl.org>
	[PATCH] ppc64: shmget() translation bugfix
	
	From: David Gibson <david@gibson.dropbear.id.au>
	
	The 32->64 bit syscall translation layer on ppc64 incorrectly sign-
	extends rather than zero-extending the second parameter to shmget(),
	which should be a size_t.  This means that it is impossible to shmget()
	more 2GB or more from a 32-bit process.

<akpm@osdl.org>
	[PATCH] fadvise length handling fix
	
	POSIX sez: "If len is zero, all data following offset is specified."

<davidm@tiger.hpl.hp.com>
	Cset exclude: davidm@tiger.hpl.hp.com|ChangeSet|20040427053149|28511

<shaggy@austin.ibm.com>
	JFS: [CHECKER] Fix a possible null-pointer dereference

<rmk@arm.linux.org.uk>
	[PATCH] Update MTD concatenating driver
	
	This patch updates the MTD concatenating driver from MTD CVS, which
	fixes issues found with this driver which concatenates multiple MTD
	devices into one MTD device.
	
	From David Woodhouse, through CVS:
	
		revision 1.8
		date: 2003/06/30 11:01:26;  author: dwmw2;  state: Exp;  lines: +5 -5
		I will not commit stuff whilst pissed
		I will not commit stuff whilst pissed
	
		revision 1.7
		date: 2003/06/29 21:26:34;  author: dwmw2;  state: Exp;  lines: +9 -9
		Fix ecc/oob subdev comparisions
	
		revision 1.6
		date: 2003/06/25 12:37:50;  author: dwmw2;  state: Exp;  lines: +14 -6
		Don't pretend to have {read,write}_{oob,ecc} functions if subdevices don't
	
		revision 1.5
		date: 2003/06/25 12:21:16;  author: dwmw2;  state: Exp;  lines: +390 -397
		coding style cleanup

<nico@org.rmk.(none)>
	[ARM PATCH] 1836/1: don't hardcode virtual addresses
	
	Patch from Nicolas Pitre
	
	virtual address mapping can change.

<nico@org.rmk.(none)>
	[ARM PATCH] 1837/1: small Lubbock cleanup
	
	Patch from Nicolas Pitre
	
	Minor cleanup of Lubbock specific code, like removal of
	redundant mappings. 
	Also a prerequisite for some upcoming patches.

<nico@org.rmk.(none)>
	[ARM PATCH] 1838/1: Lubbock leds and macro namespace cleanup
	
	Patch from Nicolas Pitre
	
	Too many macro with too generic names.  Let's remove unneeded code and
	redundant/unused macros.  This also prevent namespace clash with upcoming 
	patches.

<nico@org.rmk.(none)>
	[ARM PATCH] 1839/1: fix lubbock_flash.c which used a bogus reg name
	
	Patch from Nicolas Pitre
	
	Before previous patch this driver compiled OK but was buggy.
	Now it doesn't compile anymore as the bogus macro has been
	deleted.  Fix that in any case.
	
	The same fix has been committed to the MTD CVS already, but please forward 
	this to Linus otherwise Lubbock won't compile from kernel.org tree anymore
	(waiting for dwmw2 to update this might prove ... hrm ... long) 

<nico@org.rmk.(none)>
	[ARM PATCH] 1840/1: recognize more XScale CPU variants
	
	Patch from Nicolas Pitre
	
	... including the new PXA270 aka Bulverde.

<nico@org.rmk.(none)>
	[ARM PATCH] 1841/1: Lubbock defconfig update
	
	Patch from Nicolas Pitre
	

<akpm@osdl.org>
	[PATCH] task_struct alignment fix
	
	The recent slab alignment changes broke an unknown number of architectures
	(parisc and x86_64 for sure) by causing task_structs to be insufficiently
	aligned.
	
	We need good alignemnt because architectures do things like dumping FP state
	into the task_struct with instructions which require particular alignment (I
	think).
	
	So change the default alignment to L1_CACHE_BYTES, which is what we used to
	have, via SLAB_HW_CACHE_ALIGN.

<akpm@osdl.org>
	[PATCH] usb linkage fix
	
	On sparc64 toolchain:
	
	drivers/built-in.o(.init.text+0xaf8c): In function `usb_init':
	: undefined reference to `usbfs_cleanup'
	
	usb_init() is __init and usbfs_cleanup() is __exit.  No can do.

<torvalds@ppc970.osdl.org>
	Fix fixed fadvice length handling
	
	 - Correctly handle wraparound on offset+len
	 - fix FADV_WILLNEED handling of non-page-aligned (offset+len)
	
	Let's hope we don't need to fix the fixed fix.

<len.brown@intel.com>
	[ACPI] PCI Interrupt Link fixes
	Handle BIOS that reference disabled PCI Interrupt Link Devices
	http://bugme.osdl.org/show_bug.cgi?id=1581
	
	Clean up VIA _CRS = 0 BIOS workaround
	
	Handle BIOS returning _CRS outside _PRS
	http://bugme.osdl.org/show_bug.cgi?id=2567
	
	delete now unused _SRS retry code
	disable redundant console messages

<B.Zolnierkiewicz@elka.pw.edu.pl>
	[PATCH] serverworks.c: fix DMA for OSB4
	
	From: Patrick Wildi <patrick@wildi.com>
	
	On OSB4 the hwif->ultra_mask is set to not support UDMA.
	Unfortunately in that case svwks_config_drive_xfer_rate()
	falls through to the end of the function, instead of trying
	other DMA modes.

<rth@kanga.twiddle.home>
	[ALPHA] Add message queue syscalls.

<vda@port.imtp.ilyichevsk.odessa.ua>
	[PATCH] add missing #include
	
	There's a subtle problem with "inline" usage in <linux/string.h>:
	
	 <linux/string.h>:
	        this pulls in __constant_c_and_count_memset()
	
	 <linux/mm.h>:
	        this pulls <compiler.h>, re-defining
	        inline == __inline__ __attribute__((always_inline)).
	
	 But by now it is too late! The compiler has already seen the bare
	 "inline" in string.h, and hasn't inlined it.
	
	Result:
	
		# grep __constant System.map
		c0144670 t __constant_c_and_count_memset
		c0145c60 t __constant_c_and_count_memset
		... many more copies of this function ...
	
	Fixed by including <compiler.h> early enough.

<herbert@gondor.apana.org.au>
	[IPV4/IPV6]: Fix listing of listening sockets.
	
	There is a bug in listening_get_first() which used by /proc/net/tcp*
	where it wasn't looping through all the sockets in each hash chain.
	This problem doesn't show up unless the first socket in a chain doesn't
	match the family that is being looked up.
	
	The following patch fixes this by getting rid of listening_get_first()
	altogether.

<paulus@samba.org>
	[PATCH] ppc64: fix incorrect signal handler argument
	
	This fixes a bug in the ppc64 signal delivery code where the signal
	number argument to a signal handler can get corrupted before the handler
	is called.  The specific scenario is that a process is in a blocking
	system call when two signals get generated for it, both of which have
	handlers.
	
	The signal code will stack up two signal frames on the process stack
	(assuming the mask for the first signal delivered doesn't block the
	second signal) and return to userspace to run the handler for the second
	signal.  On return from that handler the first handler gets run with an
	incorrect signal number argument because we end up with regs->result
	still having a negative value (left over from when the system call was
	interrupted) when it should be zero.  This patch sets it to zero when we
	set up the signal frame (in three places; for 64-bit processes, and for
	32-bit processes for RT and non-RT signals). 
	
	The way we handle signal delivery and signal handler return using the
	regs->result field in ppc64 is more complicated than it needs to be.  In
	ppc32 I have already simplified it and eliminated use of the
	regs->result field.  I am going to do the same in the ppc64 code, but I
	think this patch should go in for now to fix the bug. 
	
	The patch also fixes a couple of places where we were unnecessarily and
	incorrectly truncating the regs->result value to 32 bits
	(sys32_sigreturn and sys32_rt_sigreturn return a long value, as all
	syscalls do, and if regs->result is negative we need those syscalls to
	return a negative value).
	
	Thanks to Maneesh Soni for identifying the specific circumstances
	under which this bug shows up.

<viro@parcelfarce.linux.theplanet.co.uk>
	[PATCH] mcdx.c insanity removal
	
	The mcdx.c author had pulled off something absolutely amazing - he had
	declared several unsigned variables (ISA port numbers) as void *, using
	explicit cast to unsigned in almost all places that used them. 
	Exception: printk.  There he proudly used them as pointers - with %3p in
	format.  That cute trick allowed him to avoid using %03x, which
	apparently scared him for some reason. 
	
	Switched to use of unsigned, killed casts, replaced %3p with %03x in
	formats.  BTW, the code had been that way since the initial merge back
	in 1.3.7...

<stevef@steveft21.ltcsamba>
	fix ppc64 build problem due to missing header

<stevef@smfhome.smfdom>
	even if O_CREAT specified do not reset mode when file not actually created 

<stevef@steveft21.ltcsamba>
	reduce excessive stack space usage in smb password hashing

<stevef@steveft21.ltcsamba>
	do not refresh mode (e.g. in revalidate) to windows servers

<hirofumi@mail.parknet.co.jp>
	[PATCH] FAT: Fix nfsv2 support
	
	The ->dentry_to_fh() can use the 20 bytes in the case of NFSv2, but
	fat_dentry_to_fh() requires 24 bytes by my patch.
	
	So nfsd reply the EOPNOTSUPP to nfs client, then nfs client convert
	the unknown error to -EIO.
	
	This patch fixes the problem by pushing the handle data into 20 bytes.

<hirofumi@mail.parknet.co.jp>
	[PATCH] FAT: simple error handling cleanup
	
	From: René Scharfe <l.s.r@web.de>
	
	the following patch converts the error handling paths in VFAT fs to use
	goto, making it more consistent with other filesystem code. Shrinks the
	resulting binary by 144 bytes in my build.

<hirofumi@mail.parknet.co.jp>
	[PATCH] FAT: small cleanup

<hirofumi@mail.parknet.co.jp>
	[PATCH] FAT: remove symbols exports from msdosfs/vfat
	
	From Christoph Hellwig <hch@lst.de>
	
	If we're ever going to ressurect umsdos it should be a stackable
	filesystem..

<rmk@flint.arm.linux.org.uk>
	[SERIAL] Fix the calculation of the number of UARTs
	
	The calculation ended up believing we had one less UART than we
	really had.  Fix it.

<torvalds@ppc970.osdl.org>
	Make types of big integers in bitops.h explicit.
	
	"sparse" warns about implicit type conversions that may cause
	surprising results. Did you know that large decimal types have
	different type conversions from large hexadecimals?

<torvalds@ppc970.osdl.org>
	Be more careful about semaphore contention memory ordering.
	
	Don't touch the wakee stack after marking it runnable.

<len.brown@intel.com>
	[ACPI] export symbols to button module

<rusty@rustcorp.com.au>
	[NET]: Fix MODULE_PARM_DESC typo in dummy driver.

<shemminger@osdl.org>
	[PATCH] SCTP crc table can be static const

<sri@us.ibm.com>
	[SCTP] Fix bugs in handling overlapping INIT and peer restart over a
	multihomed association.

<sri@us.ibm.com>
	[SCTP] Rename SCTP_ADDR_REACHABLE as SCTP_ADDR_AVAILABLE to be 
	consistent with the SCTP sockets API draft.

<wesolows@foobazco.org>
	[SPARC32]: Correct calculation of num_physpages
	
	Previously num_physpages only took into consideration low memory.
	Since nr_free_pages returned something much larger, the caches
	init would oops.

<wesolows@foobazco.org>
	[SPARC32]: Trivial reformatting patch for arch/sparc/mm/init.c
	
	From Art Haas <ahaas@airmail.net>

<sri@us.ibm.com>
	[SCTP] Fix memset() parameter ordering.

<wesolows@foobazco.org>
	[SPARC32]: Reduce fragmentation in the bitmap allocator
	
	The existing allocator is first-fit with wraparound.  This allows
	a large number of small holes to accumulate in the early part of the
	region, leading to heavy fragmentation.  This adjusts the algorithm
	to rescan the region when smaller sizes are requested, reducing
	early fragmentation.

<SKolodynski@com.rmk.(none)>
	[SERIAL] Add support for SBS Tech. Inc. PMC-OCTPRO and P-OCTAL cards.
	
	Patch from Slawomir Kolodynski

<akpm@osdl.org>
	[PATCH] cancel_delayed_work() fix
	
	cancel_delayed_work() forgets to clear the workqueue's pending flag.  This
	makes the workqueue appear to be permanently busy, so any subsequent attempts
	to use it will fail.

<david@gibson.dropbear.id.au>
	[PATCH] ppc64: Use slbie, not slbia in hugepage code
	
	On PPC64, when we prepare segments below 4G for use with hugepages, we
	need to flush their entries from the SLB, in case SLB entries
	specifying normal pages were already present.
	
	Previously we did that by flushing the entire SLB, the patch below
	changes this to individually flush each necessary segment with slbie.
	The new version may well be slightly faster, but the real reason for
	it is so that this code path doesn't need to be changed to reinstate
	any bolted SLB entries, if we add them.  The existing version has
	already caused problems (read, crashes) when combined with some
	patches that add bolted SLB entries.

<paulus@samba.org>
	[PATCH] ppc32: Updated boot fix
	
	This fixes booting on some PPC32 machines, notably CHRP and powermac
	machines.  This is a modified version of Tom Rini's patch that addresses
	the concerns I had with it.
	
	The problem was that the linker script was getting included in the list
	of things that got put together to make some of the sorts of bootable
	images that we produce.  This removes ld.script in cases where it wasn't
	appropriate and changes the rules in others so that although we have the
	dependency on ld.script, it doesn't get included in the list of things
	to link.

<alex.williamson@com.rmk.(none)>
	[SERIAL] 8250_hcdp needs irq sharing
	
	Patch from Alex Williamson
	
	Here's a trivial patch that makes 8250_hcdp setup the correct flags
	when IRQ sharing is enabled for serial ports.
	
	The HCDP table tells us if the device is a PCI UART.  We can use this
	to set the shared interrupt flag as well as program the interrupt with
	the correct polarity/trigger (should get rid of "changing vector <x>
	from IO-SAPIC-edge to IO-SAPIC-level" messages at bootup).  This also
	allows non-PCI UARTs to be left un-shareable, which is likely much
	more safe (edge triggered).
	
	The bit that I'm keying on is still part of the older 1.0a HCDP spec,
	so should be implemented (it was on all the boxes I tested).  If
	there's firmware out there that doesn't set this bit or the interrupt
	supported flag, the HCDP UART may run in polling mode, but should
	still be functional.

<rmk@flint.arm.linux.org.uk>
	[ARM] Fix potential oops and kill unused variable warning in sa1111.c
	
	This fixes a potential oops/use after free bug, and removes an unused
	variable warning.

<rmk@flint.arm.linux.org.uk>
	[ARM] Update mach-types file again.

<bjorn.helgaas@com.rmk.(none)>
	[SERIAL] default to serial console when possible
	
	Patch from Bjorn Helgaas
	
	This adds efi_uart_console_only() so we can default to using a serial
	console if the EFI console path only contains UARTs.

<hugh@veritas.com>
	[PATCH] mremap pte_unmap NULL
	
	Old bug noone seems to have hit, but mremap's pte_unmap dst might be
	NULL: would get preempt count wrong even when not DEBUG_HIGHMEM.

<hugh@veritas.com>
	[PATCH] add_to_page_cache comments
	
	Remove two layers of the fossil record from comments on add_to_page_cache:
	2.6.6 moves swapcache handling away, and we long ago stopped masking flags.

<shaggy@austin.ibm.com>
	JFS: [CHECKER] Memory leak in jfs_link

<shaggy@austin.ibm.com>
	JFS: [CHECKER] get rid of txAbortCommit
	
	txAbortCommit is broken and fixing it makes it equivalent to txAbort,
	so get rid of it and use txAbort instead.

<torvalds@ppc970.osdl.org>
	Be more careful about waking up rwsem waiters
	
	Get a reference count on the the sleeper, so that
	it can't possibly go away before we've sent it the
	wakeup event.
	
	Noted by Nick Piggin <nickpiggin@yahoo.com.au>
	         David Howells <dhowells@redhat.com>

<daniel.ritz@ch.rmk.(none)>
	[PCMCIA] add EnE specific initialization to fix HDSP
	
	Patch from Daniel Ritz.
	
	This patch clears an almost undocumented EnE specific test register
	that makes sound on RME Hammerfall DSP Carbus work...should even work
	after suspend.

<rmk@flint.arm.linux.org.uk>
	[SERIAL] Remove unused variable.

<chrisw@osdl.org>
	[PATCH] fix memleak in sys_mq_timedsend
	
	Move error handling to capture all three possible error conditions on
	sending to a full queue.  Without this fix any unprivileged user can
	leak arbitrary amounts of kernel memory.

<akpm@osdl.org>
	[PATCH] report size of printk buffer
	
	From: <Andries.Brouwer@cwi.nl>
	
	In the old days the printk log buffer had a constant size, and dmesg asked
	for the 4096, later 8192, later 16384 bytes in there.  These days the
	printk log buffer has variable size, and it is not easy for dmesg to do the
	right thing, especially when doing a "read and clear".  The patch below
	adds a syslog subfuntion that reports the buffer size.

<chrisw@osdl.org>
	[PATCH] fix queues_count accounting in mqueue_delete_inode()
	
	During mqueue_get_inode(), it's possible that kmalloc() of the
	info->messages array will fail.  This failure mode will cause the
	queues_count to be (incorrectly) decremented twice.  This patch uses
	info->messages on mqueue_delete_inode() to determine whether the
	mqueue was every truly created, and hence proper accounting is needed
	on destruction.

<mingo@redhat.com>
	[NET]: Update netpoll credits.

<bcollins@debian.org>
	[IEEE1394]: Fix deadlock in killing kernel thread

<benh@kernel.crashing.org>
	[PATCH] ppc/ppc64: Cleanup PPC970 CPU initialization
	
	This cleans up the code used to initialize the 970 CPU.
	
	More specifically, it adds support for the 970FX, makes sure we don't
	touch registers we aren't supposed to when running in LPAR mode, and
	stop blindly zeroing out HID4 and HID5, we just clear the bits we really
	want clear in there and leave the rest to the firmware.

<benh@kernel.crashing.org>
	[PATCH] Fix my address in CREDITS
	
	Heh, I moved 6 month ago, time to update CREDITS ;)

<benh@kernel.crashing.org>
	[PATCH] ppc32: Add missing [pci_]dma_mapping_error()
	
	Those were missing from ppc32, please apply.

<benh@kernel.crashing.org>
	[PATCH] ppc32: pmac support update
	
	This adds some initial support for the latest model of iBook G4 (still
	need some work on the clock chip at least and some radeonfb updates that
	I'll send later along with other fixes for this driver). 
	
	It also removes a useless delay and fixes detection of the airport card
	on the "Windtunnel" class desktop G4 machines.

<akpm@osdl.org>
	[PATCH] page_mapping race fix
	
	From: Hugh Dickins <hugh@veritas.com>
	
	Remove this development-only debug code - Hugh thinks that its BUG_ON() can
	trigger by accident.

<kraxel@bytesex.org>
	[PATCH] Fix oops in video_register_device
	
	degerrit@web.de wrote:
	   "I caused an oops in unusual circumstances by accidentally "forcing" a
	    video device number which was too high or already taken (don't know
	    which). I assume this probably shouldn't give an oops (though it was my
	     fault), so here's a bugreport..."
	
	Fixed by adding a range check for the number passed in by the driver.

<mikpe@csd.uu.se>
	[PATCH] allow drivers to claim the lapic NMI watchdog HW
	
	Here is an updated lapic NMI ownership tracking patch which
	should address the issues that were raised with the first one:
	
	- Simplified the API function names to {reserve,release}_lapic_nmi().
	
	- Rewrote the ownership tracking code to use two individually named
	  flags instead of using arithmetic and the sign. The code is now
	  simple enough that no "hiding" macros are needed. (Thanks Albert
	  for that suggestion.)

<B.Zolnierkiewicz@elka.pw.edu.pl>
	[PATCH] fixup for C1 Halt Disconnect problem on nForce2 chipsets
	
	Based on information provided by "Allen Martin" <AMartin@nvidia.com>:
	
	A hang is caused when the CPU generates a very fast CONNECT/HALT cycle
	sequence.  Workaround is to set the SYSTEM_IDLE_TIMEOUT to 80 ns.
	This allows the state-machine and timer to return to a proper state within
	80 ns of the CONNECT and probe appearing together.  Since the CPU will not
	issue another HALT within 80 ns of the initial HALT, the failure condition
	is avoided.

<jeremy@sgi.com>
	[PATCH] sata_vsc initialization fix

<jgarzik@redhat.com>
	[libata sata_sis] support SATA SCRs in PCI cfg space

<sri@us.ibm.com>
	[SCTP] Fix accessing Gap Ack blocks array with a -ve index in
	sctp_outq_sack()

<armin@melware.de>
	[PATCH] ISDN Eicon driver: accept capidrv parameters
	
	   Accept negative level3cnt value in register_application
	   for special b-channel calculation. Necessary to work with
	   capidrv.

<akpm@osdl.org>
	[PATCH] cciss update
	
	From: <mikem@beardog.cca.cpqcorp.net>
	
	This patch adds support for 2 new controllers.  The first is a PCI-Express
	version of the 6400.  The second is actually a SATA controller using the
cciss
	interface.

<venkatesh.pallipadi@intel.com>
	[PATCH] bug in bigsmp CPU bringup
	
	There is an bug in bigsmp sub-architecture, due to which it will not
	enable all the CPUs when the BIOS-APICIDs are not 0 to n-1 (where n is
	total number of CPUs). Particularly, only 2 CPU comes up on a system
	that has 4 CPUs with BIOS APICID as (0, 1, 6, 7).=20
	
	The bug is root caused to check_apicid_present(bit) call in smpboot.c,
	when bigsmp is expecting apicid in place of bit.
	check_apicid_present(bit) in bigsmp subarchitecture checks the bit with
	phys_id_present_map (which is actually map representing all apicids and
	not bit).
	
	One solution is to change check_apicid_present(bit) to
	check_apicid_present(apicid), in smp_boot_cpus().  But, it can affect
	all the other subarchitectures in various subtle ways.  So, here is a
	simple alternate fix (Thanks to Martin Bligh), which solves the above
	problem. 
	
	[ Confirmation from Martin:
	
	     Looks fine, it's exactly the same fix we use for Summit.  Since
	     we're using the other method instead of the bitmap, this check
	     isn't needed, so we can just bypass it.  This way also has the
	     great advantage of being isolated to the bigsmp subarch, so it only
	     needs testing there ;-)
	 ]

<sfr@canb.auug.org.au>
	[PATCH] PPC64 iSeries: replace semaphores with completions
	
	This replaces some usages of sempahores on the stack with completions.
	
	We think we have had at least one bug report that could be caused by the
	inherent race in the semaphore usage.

<B.Zolnierkiewicz@elka.pw.edu.pl>
	[PATCH] ide-disk.c: write cache handling fixes
	
	From: Alan Cox <alan@redhat.com>, Arjan van de Ven <arjanv@redhat.com>
	
	 - calculate drive->wcache for non-removable disks too
	 - flush the cache before unlocking the door on removable media,
	   otherwise you have a small race with the human

<paul@wagland.net>
	[PATCH] bug fix for megaraid memory leak
	
	I was going through the code looking for bits and pieces to pull across
	into the new LSI Logic beta megaraid driver /sys fs code and came across
	this one.
	
	LSI Logic have already fixed this issue for the 2.4 driver, and the new
	beta driver does not use the /proc filesystem at all, so no problem
	there.
	
	The problem is that resources are not freed upon certain error
	conditions in the in-kernel megaraid driver, to quote from Lester
	Hightower (who originally found the issue):
	
	   "The problem occurs only in the circumstance where one reads one of
	    the /proc/megaraid/hba<X>/diskdrives-ch<N> files where the card <X>
	    does not have channel <N> on it.  Most people would likely not
	    notice this leak in normal operation, but due to the way that we
	    monitor our MegaRaid cards in our company (we read these /proc
	    entries every 180s) so we found the leak rather quickly, and
	    unpleasantly (when your kernel eats all your RAM)."
	
	Anyway, here is the fix, compiled and tested OK for me.

<akpm@osdl.org>
	[PATCH] b44 driver needs mii

<vandrove@vc.cvut.cz>
	[PATCH] ncpfs data corruption when using large TCP transfers
	
	ncpfs was forgetting to update iovec's iov_base field whenever partial
	transmission occured. This was causing data corruption during large
	(60kB) writes.
	
	The code now also passes copy of iovec to the sock_sendmsg, so it does
	not rely on network stack updating (or not updating) passed iovec in
	case of success (or failure).

<aia21@cantab.net>
	NTFS: Read the journal ($LogFile) and determine if the volume has been
shutdown cleanly
	      and force a read-only mount if not (fs/ntfs/super.c and
fs/ntfs/logfile.c).  This
	      is a little bit of a crude check in that we only look at the restart
areas and
	      not at the actual log records so that there will be a very small
number of cases
	      where we think that a volume is dirty when in fact it is clean.  This
should only
	      affect volumes that have not been shutdown cleanly and did not have
any pending,
	      non-check-pointed i/o.

<nitin.a.kamble@intel.com>
	[PATCH] mxcsr patch for i386 & x86-64
	
	This enables proper mxcsr register masking: the magic mask "0xffbf"
	is not necessarily correct for all CPU's, and there is an architected
	way to discover the proper MXCSR feature bits by examining the fxsave
	results.
	
	Please refer to IA32 Software Developer's Manual, Volume 1, Section
	11.6.6 for more details.

<aia21@cantab.net>
	NTFS:  Eeek.  Forgot to revert the Makefile before checking it in last
time...

<zippel@linux-m68k.org>
	[PATCH] fix value toggle in gconf
	
	gconf doesn't correctly toggle through the values of a symbol, so use
	sym_toggle_tristate_value() instead.
	
	Problem reported by Martin Persenius <martin@persenius.net>

<arjanv@redhat.com>
	[PATCH] IDE disk cache flush at unopportune momemnts
	
	This makes the idedisk_release function only flush the cache on final
	release; with the recent 2.6 blocklayer updates release gets called
	somewhat frequently, and at times where IO is outstanding to the disk.
	
	This bug didn't trigger before simply because ide_cacheflush_p() always
	was a nop.

<eric@yhbt.net>
	[PATCH] logips2pp driver update (MX510/310 support), cleanup
	
	I've updated the logips2pp driver to detect the MX310 and MX510 mice
	and also made it more maintainable by putting everything into one
	table instead of having 4 arrays for them (the MX700 support wasn't
	added correctly in the last revision).

<benh@kernel.crashing.org>
	[PATCH] ppc64: Fix nasty typo in PTE freeing code
	
	There is a typo in the PTE freeing code causing us to possibly
	overflow the batch structure.
	
	Obvious fix (look at the closing parentheses).

<B.Zolnierkiewicz@elka.pw.edu.pl>
	[PATCH] Suspend IDE disks on shutdown
	
	When Patrick removed ide_notify_reboot() in 2.5.42, he didn't notice
	that it meant that IDE no longer had any shutdown() functionality.
	
	So we did the right thing on suspend, but not on shutdown.
	
	ide_notify_reboot() was only doing STANDBY on shutdown (because FLUSH
	'doesn't work' in 2.4 too) but it worked okay and we still should do STANDBY
	on shutdown because some broken disks flush their caches.
	
	Thus just calls bus->suspend() (FLUSH+STANDBY) at shutdown time.  We can
	add some safety delay later - 2.4 doesn't have any.

<arjanv@redhat.com>
	[PATCH] ide: don't send cacheflush to drives that don't understand it

<stsp@aknet.ru>
	[PATCH] Fix IO bitmap invalidate
	
	There is a bug where if any process that obtained an IO access
	permissions via ioperm() does not explicitly "drop" that permissions,
	the IO permissions don't get properly invalidated on process exit.
	
	The cause is that exit_thread() only invalidates the per-thread
	io_bitmap pointer, but doesn't invalidate the per-TSS io_bitmap pointer
	as well. 
	
	As the per-thread pointer is invalidated, __switch_to() doesn't take
	care of that one either, so the per-TSS pointer stays valid as long as
	some other process does ioperm().
	
	This fixes the problem - it invalidates the per-TSS io_bitmap pointer
	and the problem goes away. 

<aia21@cantab.net>
	NTFS: 2.1.8 release - If the $LogFile indicates a clean shutdown and a
	      read-write (re)mount is requested, empty $LogFile by overwriting it
	      with 0xff bytes to ensure that Windows cannot cause data corruption
	      by replaying a stale journal after Linux has written to the volume.

<torvalds@ppc970.osdl.org>
	x86-64: fix preempt race in exit_thread
	
	This fixes a (very very small) preempt race window when we
	invalidate the IO permission bitmap on process exit.

<rmk@flint.arm.linux.org.uk>
	[ARM] Remove DMA support in Versatile
	
	We don't have DMA support for AMBA devices yet.

<rmk@flint.arm.linux.org.uk>
	[ARM] Enclose MMC-related code in #ifdef CONFIG_MMC .. #endif

<rmk@flint.arm.linux.org.uk>
	[SERIAL] Remove unmerged 'clk' subsystem from PL011 driver.

<chaapala@cisco.com>
	[CRYPTO]: Fix typing in crc32c's chksum_update

<torvalds@ppc970.osdl.org>
	All the Intel LPC bridges have the same PCI quirks.
	
	They all have 128 bytes of ACPI/TCO IO space pointed to
	by config space register 0x40, and 64 bytes of GPIO space
	pointed to by 0x58.
	
	Thanks to Jun Nakajima for the full list.

<armin@melware.de>
	[PATCH] ISDN Eicon driver: fix empty queue check
	
	   Check for last adapter link is done by next member,
	   because entries are not removed yet.

<benh@kernel.crashing.org>
	[PATCH] Fix CTS handling in pmac-zilog.c
	
	From: Paul Mackerras <paulus@samba.org>
	
	This patch fixes a bug in the pmac-zilog driver where if you enable
	CRTSCTS mode, it won't output data when CTS is asserted.  On
	powermacs, the CTS input is inverted.  It also fixes a logic bug in
	testing for CTS and DCD changes.

<akpm@osdl.org>
	[PATCH] fix WARN_ON on XFS module unload
	
	From: Christoph Hellwig <hch@lst.de>
	
	This one is a little funny.  The SGI trees don't show this issue because
dmapi
	and quota are separate modules so they must be unloaded before xfs_fs_exit
can
	be called at all.
	
	So let's move the exitcalls for them in mainline first to simulate that
	behaviour.

<benh@kernel.crashing.org>
	[SUNZILOG]: Fix DCD/CTS change tests, just like in pmac_zilog.

<joshk@triplehelix.org>
	[SPARC64]: Use $(CC) in NEW_GCC checks.

<jmorris@redhat.com>
	[NET]: Add sock_create_kern()
	
	Under SELinux, and potentially other LSMs, we need to be able to
	distinguish between user sockets and kernel sockets.  For SELinux
	specifically, kernel sockets need to be specially labeled during creation,
	then bypass access control checks (they are controlled by the kernel
	itself and not subject to SELinux mediation).
	
	This addresses a class of potential issues in SELinux where, for example, 
	a TCP NFS session times out, then the kernel re-establishes an RPC 
	connection upon further user activity.  We do not want such kernel 
	created sockets to be labeled with user security contexts.
	
	sock_create() and sock_create_kern() are wrapper functions, which seems 
	semantically clearer to me than e.g. adding a flag to sock_create().  If 
	you prefer the latter, then let me know.
	
	The patch also adds an argument to the LSM socket creation functions
	indicating whether the socket being created is a kernel socket or not.

<jmorris@redhat.com>
	[NET]: Add sock_create_lite()
	
	The purpose of this is to allow sockets created by the kernel in this way
	to be passed through the LSM socket creation hooks and be labeled and
	mediated in the same manner as other sockets.
	
	This patches addresses a class of potential issues with LSMs, where such
	sockets will not be labeled correctly (if at all), or mediated during
	creation.  Under SELinux, it fixes a specific bug where RPC sockets
	created by the kernel during TCP NFS serving are unlabeled.

<dlstevens@us.ibm.com>
	[IPV4]: Use time_after() in override ARP calculation.

<sri@us.ibm.com>
	[SCTP]: Fix multihomed connection failures on 64-bit systems.
	
	Avoid the use of sizeof() and pointer arithmetic to get to the end
	of sctp_cookie structure. Instead use the last element peer_init which
	is a zero-sized array as the offset.

<shemminger@osdl.org>
	[TCP]: BIC TCP for Linux 2.6.6
	
	This is a version of Binary Increase Control (BIC) TCP
	developed by NCSU.   It is yet another TCP congestion control
	algorithm for handling big fat pipes. For normal size congestion
	windows it behaves the same as existing TCP Reno, but when window
	is large it uses additive increase to ensure fairness and when
	window is small it uses binary search increase.
	
	For more details see the BIC TCP web page
	 http://www.csc.ncsu.edu/faculty/rhee/export/bitcp/
	
	The original code was for web100 (2.4); this version is pretty
	much the same but targeted for 2.6 with less sysctl parameters 
	and more constants.
	
	I don't have a real high speed long haul network to test, but
	when running over 1G links with delays, the performance is more stable
	(ie tests are repeatable) and as fast as existing Reno.

<davem@nuts.davemloft.net>
	[NET]: Undo marking sock_alloc() as static, still exported to modules.

<davem@nuts.davemloft.net>
	[SPARC64]: hugetlbpage.c needs linux/module.h

<akpm@osdl.org>
	[PATCH] run populate_rootfs() before initcalls
	
	I moved this a little too late - we need to run populate_rootfs() before
	running initcalls because some driver initcalls need to open files for
	firmware.
	
	The populate_rootfs() call is still coming after init_idle(), so it won't
	knock the scheduler over.

<torvalds@ppc970.osdl.org>
	Waste less memory in dentries.
	
	We don't bother aligining them on a cacheline boundary, since
	that is totally excessive in some configurations (especially
	P4's with 128-byte cachelines).
	
	Instead, we make the minimum inline string size a bit longer,
	and re-order a few fields that allow for better packing on
	64-bit architectures, for better memory utilization.

<tony@com.rmk.(none)>
	[ARM PATCH] 1844/1: Allow OMAP-730 and OMAP-5910 to use ARM926 in mm/Kconfig
	
	Patch from Tony Lindgren
	
	Adds OMAP-730 and OMAP-5910 support

<tony@com.rmk.(none)>
	[ARM PATCH] 1846/1: OMAP update 1/2: arch files
	
	Patch from Tony Lindgren
	
	This patch syncs the mainline kernel with the linux-omap tree. The
	patch contains following updates:
	- Move virtual IO area to 0xfefb0000 from 0xfffb0000 to fix parts of
	  IO area overlapping with ARM Linux reserved memory area
	- Add support to OMAP-730, OMAP-5912, and OMAP-1710 processors
	- Reorganize board support
	- Add OMAP core detection
	This patch requires ARM Linux patch 1844/1 be applied to compile
	OMAP-730 and OMAP-5912

<tony@com.rmk.(none)>
	[ARM PATCH] 1847/1: OMAP update 2/2: include files
	
	Patch from Tony Lindgren
	
	This patch syncs the mainline kernel with the linux-omap tree. The
	patch contains following updates:
	- Move virtual IO area to 0xfefb0000 from 0xfffb0000 to fix parts of
	  IO area  overlapping with ARM Linux reserved memory area
	- Add support to OMAP-730, OMAP-5912, and OMAP-1710 processors
	- Reorganize board support
	- Add OMAP core detection
	This patch requires ARM Linux patch 1844/1 be applied to compile
	OMAP-730 and OMAP-5912

<elf@com.rmk.(none)>
	[ARM PATCH] 1816/1: lh7a40x #2 (1/7) core
	
	Patch from Marc Singer
	
	Updated change set for the 2.6.5 kernel *and* for the April 8th arm
	patch.  Also included are changes suggested by Russell that merge
	several of the files in the mach- directory.  I have also endeavored
	to remove all unnecessary whitespace additions.
	
	Note that since I've found the cause of an annoying user-space crash,
	I believe that this patch is OK.  The crash appears to have nothing to
	do with the system setup.

<elf@com.rmk.(none)>
	[ARM PATCH] 1817/1: lh7a40x #2 (2/7) core-include
	
	Patch from Marc Singer
	
	Include files for this updated lh7a40x patch set.  The changes in this
	set from the previous are mostly cosmetic.  The memory macros were
	reworked in order to be more similar to the other ARM versions.  The
	previous versions produced the same results, but the forms are
	slightly different.
	

<elf@com.rmk.(none)>
	[ARM PATCH] 1818/1: lh7a40x #2 (3/7) doc
	
	Patch from Marc Singer
	
	Documentation for the Sharp-LH machines.
	

<armin@melware.de>
	[PATCH] ISDN Eicon driver: fix idi cleanup deadlock
	
	   On IDI module cleanup, the freed card must be removed from list.  
	   Use list_empty() instead of list_for_each() loop. Thanks Linus.

<ak@suse.de>
	[PATCH] Fix machine check handler on x86-64
	
	This fixes a bug in the new machine check handler on x86-64.
	
	One nasty part was that when you got an MCE during boot up
	then it would not always print it on the screen, but still
	panic because it attempted to kill the idle task.
	
	This patch does:
	 - Always use KERN_EMERG when printing MCEs
	 - Always panic and print on screen before killing idle loop
	   or init.

<ak@suse.de>
	[PATCH] Fix x86-64 compilation without iommu for 2.6.6rc3
	
	Various people hit this in earlier kernels. The x86-64 kernel did not
compile 
	without CONFIG_IOMMU_GART in various configurations. Just add the missing
symbol 
	and export it. Also export iommu_merge while I am at it.

<torvalds@ppc970.osdl.org>
	Mark the ACPI CPU throttle and timer IO regions busy.
	
	This should help some laptops where the generic PCI
	code might otherwise believe that this range is unused.
	The ACPI IO range is usually not visible as a standard
	BAR.

<torvalds@ppc970.osdl.org>
	Linux 2.6.6



(Log in to post comments)

Copyright © 2004, Eklektix, Inc.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds