|
|
Subscribe / Log in / New account

2.5.60 long-format changelog


Summary of changes from v2.5.59 to v2.5.60
============================================

<jdike@uml.karaya.com>
	Converted all initializers over to C99 syntax.

<jdike@uml.karaya.com>
	Converted a few more initializers I missed on the first pass.

<jdike@uml.karaya.com>
	Merged the configurable kernel stack size changes from 2.4.  This
	paramerizes the kernel stack size and adds a config option to set
	the order.

<jdike@uml.karaya.com>
	Fixed a couple of problems with the configurable stack size changes.

<jdike@uml.karaya.com>
	Converted a bunch of inititializers in the drivers that I missed.

<jdike@uml.karaya.com>
	Missed an initializer in the ethertap backend.

<jdike@uml.karaya.com>
	Merged the 2.4 build changes which split the mode-specific stuff
	into separate Makefiles and add the ability to build a dynamically
	loaded binary.

<jdike@uml.karaya.com>
	Moved skas_ptrace.h.

<jdike@uml.karaya.com>
	Moved the segment remapping code under arch/um/kernel/tt.

<jdike@uml.karaya.com>
	task_protections needed adjusting for configurable stack sizes.

<jdike@uml.karaya.com>
	Pulled in a number of other fixes which were needed to bring the
	build up to date.

<jdike@uml.karaya.com>
	Fixed handling of the linker script.

<jdike@uml.karaya.com>
	Fixed the archmrproper rule to not delete linker script sources.

<jdike@uml.karaya.com>
	Forward ported a bunch of cleanups from 2.4.  Improved error messages,
	slightly different formatting, removal of dead code, and some stray
	C99 initializer conversions.

<jdike@uml.karaya.com>
	Forwarded ported a number of skas-related fixes from 2.4.

<jdike@uml.karaya.com>
	Forward ported a number of bug fixes from 2.4, including SA_SIGINFO
	signal delivery, protecting skas mode against tmpfs running out of
	space, protecting the UML main thread against accidentally running
	kernel code, and a couple of data corruption bugs.

<jdike@uml.karaya.com>
	Fixed a few problems in the last merge.

<davidm@tiger.hpl.hp.com>
	ia64: Add missing include of kernel/config.h.

<Matt_Domsch@dell.com>
	EDD: fix raw_data file and edd_has_edd30(), misc cleanups
	
	* Update copyright date
	* s/driverfs/sysfs in comments
	* bump version
	* bug fix: raw_data file was always printing device 0's info.
	* bug fix: edd_has_edd30 was always returning device 0's info.
	* always print the report info at the end of raw_data
	* edd_dev_is_type() should return boolean
	* edd_match_scsidev() should return boolean
	* remove duplicate calls to pci_find_slot, use edd_get_pci_dev().
	* attribute tests should return boolean
	* add edd_release()
	* work if !CONFIG_SCSI=[ym]
	* use new find_bus() and bus_for_each_dev() to match SCSI devices

<shaggy@shaggy.austin.ibm.com>
	JFS: Switch over to using akpm's no-buffer-head operations

<luben@splentec.com>
	[SCSI] Move cmd->{lun, target, channel} to cmd->device->{lun, id, channel}
	
	This patch makes all of SCSI Core and LLDD use cmd->device->{lun, id, channel}, instead of the old cmd->{lun, target, channel}.
	
	    * The new aic7xxx series driver has been partially converted. The problem is:
	      drivers/scsi/aic7xxx/aic79xx_osm.c: In function `ahd_linux_dv_fill_cmd':
	      drivers/scsi/aic7xxx/aic79xx_osm.c:3304: structure has no member named `host'
	      drivers/scsi/aic7xxx/aic79xx_osm.c:3306: structure has no member named `target'
	      drivers/scsi/aic7xxx/aic79xx_osm.c:3307: structure has no member named `lun'
	      drivers/scsi/aic7xxx/aic79xx_osm.c:3308: structure has no member named `channel'
	
	      and the same thing in:
	      drivers/scsi/aic7xxx/aic7xxx_osm.c: In function `ahc_linux_dv_fill_cmd':
	      drivers/scsi/aic7xxx/aic7xxx_osm.c:3154: structure has no member named `host'
	      drivers/scsi/aic7xxx/aic7xxx_osm.c:3156: structure has no member named `target'
	      drivers/scsi/aic7xxx/aic7xxx_osm.c:3157: structure has no member named `lun'
	      drivers/scsi/aic7xxx/aic7xxx_osm.c:3158: structure has no member named `channel'
	* cpqfsTSinit.c has a 2 line problem quite similar to the aic7xxx above.

<luben@splentec.com>
	[SCSI] Move cmd->host to cmd->device->host
	
	his patch makes the conversion from scsi cmd->host to scsi
	cmd->device->host for drivers/scsi/*, drivers/usb/storage/*,
	drivers/ieee1394/*, drivers/message/fusion/* .

<jejb@raven.il.steeleye.com>
	Fix 53c700 for scsi_cmnd field migration

<davidm@tiger.hpl.hp.com>
	ia64: Various updates: ia32 subsystem fix, tracing-support for mmu-context switching,
		etc.

<davidm@tiger.hpl.hp.com>
	ia64: Light-weight system call support (aka, "fsyscalls").  This does not (yet)
		accelerate normal system calls, but it puts the infrastructure in place
		and lets you write fsyscall-handlers to your hearts content.  A null system-
		call (such as getpid()) can now run in as little as 35 cycles!

<agrover@groveronline.com>
	ACPI: Boot functions don't use cmdline, so don't pass it around

<davidm@tiger.hpl.hp.com>
	ia64: Make asynchronous signal delivery work properly during fsys-mode execution.
		Add workaround for McKinley Erratum 7.

<davidm@tiger.hpl.hp.com>
	ia64: Fix some typos.

<davidm@wailua.hpl.hp.com>
	ia64: Correct erratum number (caught by Asit Mallick).

<anton@samba.org>
	ppc64: defconfig update

<jdike@uml.karaya.com>
	Updates to bring UML up to 2.5.58.

<jdike@uml.karaya.com>
	Added gpl_ksymtab and kallsyms sections to the linker scripts.

<jdike@uml.karaya.com>
	Fixed a merge typo in Kconfig.

<Matt_Domsch@dell.com>
	EDD: Until scsi layer is fixed, don't make symlink to scsi disk

<greg@kroah.com>
	[PATCH] USB acm: patch from dan carpenter <error27@email.com> to fix typo.

<anton@samba.org>
	ppc64: SO_TIMESTAMP fix from sparc64

<anton@samba.org>
	ppc64: compat layer updates from Stephen Rothwell

<scott.feldman@intel.com>
	[netdrvr e100] udelay a better way
	
	* Bug Fix: TCO workaround after hard reset of controller to wait for TCO
	  traffic to settle.  Workaround requires issuing a CU load base command
	  after hard reset, followed by a wait for scb and finally a wait for
	  TCO traffic bit to clear.  Affects 82559s and above wired to SMBus.

<scott.feldman@intel.com>
	[netdrvr e100] fix TxDescriptor bit setting

<scott.feldman@intel.com>
	[netdrvr e100] standardize nic-specific stats support
	
	* Removed /proc/net/PRO_LAN_Adapters
	* Added ethtool GSTATS support

<jgarzik@redhat.com>
	[netdrvr tg3] s/spin_lock/spin_lock_irqsave/ in tg3_poll and tg3_timer
	
	The tg3_timer one is very likely superfluous, and will hopefully be
	removed after extended testing.

<jgarzik@redhat.com>
	[netdrvr tg3] Better interrupt masking
	
	The bcm570x chips provide a register that disables (masks) or enables
	interrupts, and as a side effect, each write to this register regardless 
	of value clears various PCI and internal interrupt-pending flags.  This
	register, intr-mbox-0, provides a superset of the function provided
	by the mask-pci-int and clear-pci-int bits in the misc-host-ctrl register.
	
	Furthermore, the documentation clearly implies use of this register,
	as an indicator that the host [tg3 driver] is in its interrupt handler.
	
	The new tg3 logic, taking this knowledge into account, masks-and-clears
	irqs using intr-mbox-0 [only] when a hard irq is received, and
	unmasks-and-clears irqs at the end of tg3_poll after all NAPI events
	have been exhausted.
	
	The old logic twiddled the misc-host-ctrl irq masking bits separately
	from intr-mbox-0 bits, which was not only inconsistent but also
	a few additional I/Os that were not needed.

<jgarzik@redhat.com>
	[netdrvr tg3] flush irq-mask reg write before checking hw status block,
	in tg3_enable_ints.

<jgarzik@redhat.com>
	[netdrvr tg3] manage jumbo flag on MTU change when interface is down

<jgarzik@redhat.com>
	[netdrvr e100] remove e100_proc.c. should have been in prior cset.

<sfr@canb.auug.org.au>
	[COMPAT]: compat_{old_}sigset_t sparc64.

<kai@tp1.ruhr-uni-bochum.de>
	kbuild: Fix __start_SECTION, __stop_SECTION
	
	In a discussion with Sam Ravnborg, the following problem became apparent:
	Most vmlinux.lds.S (but the ARM ones) used the following construct:
	  
	       __start___ksymtab = .;                                          
	       __ksymtab         : AT(ADDR(__ksymtab) - LOAD_OFFSET) {         
	               *(__ksymtab)                                            
	       }                                                               
	       __stop___ksymtab = .;                                           
	  
	However, the link will align the beginning of the section __ksymtab
	according to the requirements for the input sections. If '.' (current
	location counter) wasn't sufficiently aligned before, it's possible
	that __ksymtab actually starts at an address after the one
	__start___ksymtab points to, which will confuse the users of
	__start___ksymtab badly. The fix is to follow what the ARM Makefiles
	did for this case, ie
	  
	       __ksymtab : AT(ADDR(__ksymtab) - LOAD_OFFSET) {                 
	               __start___ksymtab = .;                                  
	               *(__ksymtab)                                            
	               __stop___ksymtab = .;                                   
	       }                                                               

<ink@jurassic.park.msu.ru>
	[PATCH] alpha_agpgart_size
	
	This allows to set the AGP aperture size from command line.
	Default is 64Mb.
	
	Ivan.

<Jeff.Wiedemeier@hp.com>
	[PATCH] NODE_BALANCE_RATE (numa)
	
	This defines NODE_BALANCE_RATE in include/asm-alpha/topology.h. Value is
	pulled from asm-generic/topology.h.
	
	/jeff

<gibbs@overdrive.btc.adaptec.com>
	Aic7xxx and Aic79xx DV Fix:
		Don't bother with DV if the device can only do async

<gibbs@overdrive.btc.adaptec.com>
	Aic79xx Driver Update
		Enable abort and bus device reset handlers for both legacy
		and packetized connections.

<david-b@pacbell.net>
	[PATCH] usb root hub strings
	
	Someone changed the "get string" logic to use short reads,
	not long ones, a while back.  That broke many root hub
	string accesses (not through tools like "lsusb"!) because
	that logic didn't handle short reads quite right.

<baldrick@wanadoo.fr>
	[PATCH] export speedtouch usb info
	
	  speedtouch: restore use of MODULE_DEVICE_TABLE to export usb info.  There may have
	  been a problem with older 2.4 kernels, but there is none now.

<davidm@wailua.hpl.hp.com>
	ia64: Fix ia64_fls() so it works for all possible 64-bit values.
		Reported by Dan Magenheimer (note: the bug didn't affect
		the existing kernel, since the possible values passed to
		the routine were always "safe").

<jdike@uml.karaya.com>
	Fixed asm/modules.h to update UML to 2.5.59.

<ganesh@tuxtop.vxindia.veritas.com>
	[PATCH] USB ipaq driver ids
	
	Added ids for the Dell Axim and Toshiba E740.
	
	Thanks to Ian Molton and B.I.

<shaggy@shaggy.austin.ibm.com>
	JFS: replace ugly JFS debug macros with simpler ones.
	
	JFS has always used ugly debug macros, jFYI, jEVENT, & jERROR.  I have
	replaced them with simpler jfs_info(), jfs_warn(), & jfs_err().

<gibbs@overdrive.btc.adaptec.com>
	Aic7xxx Driver Update:
	  o Determine more conclusively that a BIOS has initialized the
	    adapter before using "left over BIOS settings".
	  o Adapt to upcoming removal of cmd->target/channel/lun/host in 2.5.X
	  o Fix a memory leak on driver unload.
	  o Enable the pci_parity command line option and default to pci parity
	    error detection *disabled*.  There are just too many broken VIA
	    chipsets out there.
	  o Move more functionality into aiclib to share with the aic79xx driver.
	  o Correct a few negotiation regressions.
	  o Don't bother doing full DV on devices that only support async transfers.
	    This should fix a few more of the reported problems with DV.
	
	Aic79xx Driver Update
	  o Add abort and bus device reset handlers.
	  o Fix a memory leak on driver unload.
	  o Adapt to upcoming removal of cmd->target/channel/lun/host in 2.5.X.
	  o Correct a few negotiation regressions.

<gibbs@overdrive.btc.adaptec.com>
	Bump aic7xxx driver version to 6.2.27.

<gibbs@overdrive.btc.adaptec.com>
	Aic7xxx and Aic79xx Driver Update
		Force an SDTR after a rejected WDTR if the syncrate is unkonwn.

<agrover@groveronline.com>
	ACPI: Move drivers/acpi/include directory to include/acpi

<davidm@tiger.hpl.hp.com>
	ia64: Add unwcheck.sh script contributed by Harish Patil.  It checks
		the unwind info for consistency (well, just the obvious
		stuff, but it's a start).
		Fix the couple of bugs that this script uncovered (and work
		around one false positive).

<jdike@uml.karaya.com>
	Some build changes for 2.5.59 and SMP.  Also cleanup of the linker
	scripts and Kconfig.

<jdike@uml.karaya.com>
	Correctly check the mmap return value.

<jdike@uml.karaya.com>
	Some SMP fixes from Oleg.

<bjorn_helgaas@hp.com>
	[PATCH] irq cleanups
	
	Cleanup the irq handling macros.

<jdike@uml.karaya.com>
	Some SMP fixes.

<davidm@tiger.hpl.hp.com>
	ia64: Fix Makefiles so that "make clean" removes the files generated
		in the tools directory.  Patch by Yu, Fenghua.

<jdike@uml.karaya.com>
	Fixed dyn.lds.S to include common.lds.S.

<rohit.seth@intel.com>
	[PATCH] ia64: Update to hugetlb
	
	Please find attached a patch that brings in the support of hugetlb
	inline with the ia32 tree.  This removes the syscall interface and gets
	the hugetlbfs support (using mmap and shmat).  I might be sending you
	couple of more small updates a little later.  At least wanted to get
	this out first.

<davidm@tiger.hpl.hp.com>
	Remove last vestiges of hugepage system calls (they have been replaced by hugetlbfs).

<eranian@hpl.hp.com>
	[PATCH] ia64: perfmon update
	
	Here is the patch. It is rather big because there is some renaming and
	cleanups.  This patch bring 2.5 in line with 2.4.20: perfmon-1.3
	
	It adds:
	        - idle task exclusion
	        - less ctxsw overhead in system wide
	        - cleanups most of the inline asm
	        - don't use PAL anymore to determine PMU features
	        - added temporary hooks for custom overflow handlers (VTUNE/Oprofile)
	        - renaming of the perfmon init functions
	
	Thanks.

<kochi@hpc.bs1.fc.nec.co.jp>
	[PATCH] ia64: skip _PRT entry for non-existent IOSAPICs
	
	On some machines that support I/O hot-plugging,
	it happens that after boottime one or more IO SAPICs appear
	after hot-plug event.  Even in that case, ACPI _PRT entries
	can exist for devices behind those IO SAPICs at boottime
	for future use.
	
	Currently iosapic.c will give up parsing _PRT entries
	once one of them hits such a non-existent IO SAPIC.
	
	This patch fixes the problem on 2.5 ia64 bk tree.
	For 2.4, we don't have this problem now.

<alex_williamson@hp.com>
	[PATCH] ia64: fix typo in ia32_support.c
	
	Happened to notice the attached redundancy.

<davidm@tiger.hpl.hp.com>
	ia64: Don't risk running past the end of the unwind-table.  Based on a patch by
		Suresh Siddha.

<jdike@uml.karaya.com>
	Ported a cleanup from 2.4.

<jdike@uml.karaya.com>
	Ported a uml-config.h change from 2.4.

<jdike@uml.karaya.com>
	Ported a cleanup from 2.4.

<jdike@uml.karaya.com>
	Changed some CONFIG_* names to UML_CONFIG_* names.

<rmk@flint.arm.linux.org.uk>
	[ARM] Fix printk in rpcmouse.c
	
	printk was missing a new line, and displaying the (fixed) IRQ number
	is rather meaningless.

<rmk@flint.arm.linux.org.uk>
	[ARM] Fix buffer overflow in fas216-based SCSI drivers.
	
	100 characters is too small for the SCSI "info" string buffer; the
	last few characters appear to get stomped on.  Make the buffer 150
	characters long.

<rmk@flint.arm.linux.org.uk>
	[ARM] Fix fas216-based data-phase lockups
	
	Ensure SCpnt->request_bufflen is initialised correctly when we
	request sense information.

<rmk@flint.arm.linux.org.uk>
	[ARM] Add soft-cursor support to acornfb and sa1100fb.

<rmk@flint.arm.linux.org.uk>
	[ARM] Make oops dump reasonble again without kallsyms support enabled.
	
	print_symbol() becomes a NOP when CONFIG_KALLSYMS=n, so we loose
	the new line character as well.  Explicitly call printk("\n").

<jdike@uml.karaya.com>
	A bunch of minor changes ported up from 2.4.
	All userspace uses of CONFIG_* have been changed to UML_CONFIG_*
	to avoid conflicts with the host's config.
	os_open_file now has FD_CLOEXEC support.

<jdike@uml.karaya.com>
	Fixed the time locking bug.
	The mconsole and switch protocols are now 64-bit clean.
	Fixed some smaller bugs.

<jdike@uml.karaya.com>
	Changed CONFIG_KERNEL_STACK_ORDER to UML_CONFIG_KERNEL_STACK_ORDER.

<drow@nevyn.them.org>
	Tweak has_stopped_jobs for use with debugging

<jdike@uml.karaya.com>
	Replaced some CONFIG_* with UML_CONFIG_*.

<jdike@uml.karaya.com>
	Replaced a CONFIG_* name with a UML_CONFIG_* name.

<jdike@uml.karaya.com>
	Changed some CONFIG_* symbols to UML_CONFIG_*.

<drow@nevyn.them.org>
	Add PTRACE_GETSIGINFO and PTRACE_SETSIGINFO
	
	These new ptrace commands allow a debugger to control signals more precisely;
	for instance, store a signal and deliver it later, as if it had come from the
	original outside process or in response to the same faulting memory access.

<akpm@digeo.com>
	[SPARC64]: Handle unchanging _TIF_32BIT properly in SET_PERSONALITY.

<jamie@shareable.org>
	[SPARC64]: Fix MAP_GROWSDOWN value, cannot be the same as MAP_LOCKED.

<jdike@uml.karaya.com>
	Added vmlinux.lds.S which is now necessary for linking the vmlinux
	object file.

<anton@samba.org>
	ppc64: defer change of 32/64bit mode, from Andrew Morton

<anton@samba.org>
	ppc64: now make it compile

<Jeff.Wiedemeier@hp.com>
	[PATCH] mark boot_cpu online in smp_prepare_boot_cpu
	
	Mark the boot cpu online in smp_prepare_boot_cpu instead of
	smp_prepare_cpus so that early printks (srmcons) work with alpha smp
	kernels.
	
	/jeff

<rth@kanga.twiddle.net>
	[ALPHA] Add debugging access (core and ptrace) to the 
	PAL unique value.  Support threaded core dumps.

<rth@kanga.twiddle.net>
	[ALPHA] New SRM console driver.
	
	From Jeff Wiedemeier:
	
	How about this.. This version no longer piggy backs on ttyS0 (it
	actually doesn't touch any files outside arch/alpha/kernel at all). It
	does use a dynamic major for the tty piece of the driver. From
	userspace, /dev/console is ok for most uses, but because of the 'noctty
	= 1' at tty_tio.c:1329 (in the IS_SYSCONS_DEV section) using
	/dev/console cannot result in a controlling tty so some things, like
	'resize' and bash job control don't work. For those uses, however, it's
	easy enough to parse /proc/devices on the way up to get the major number
	and create the specific device for the tty side of the driver.
	
	I made a distinction in kernel options as well. "srmcons" specifically
	requests the early prints (as before) and "console=srm" requests the
	full driver, including the early prints. The two options can be
	combined with "console=srm" behavior resulting. The other change is that
	if "console=srm" is specified, I don't unregister_srm_console before
	console_init any more - that only happens in the "srmcons" case. That
	way preferred console selection remains stable and "console=srm" doesn't
	result in the early messages being repeated when the driver
	re-registers. The use of "srmcons_allowed" is also eliminated due to the
	"srmcons" vs. "console=srm" distinction.

<Jeff.Wiedemeier@hp.com>
	[PATCH] remove srmcons_allowed implementation from marvel
	
	Remove unused marvel_srmcons_allowed implementation.
	
	/jeff

<Jeff.Wiedemeier@hp.com>
	[PATCH] use CONFIG_EARLY_PRINTK to turn off "srmcons" prints
	
	Use CONFIG_EARLY_PRINTK to trigger disable_early_printk() call in
	console_init (tty_io.c) to turn off "srmcons" prints rather than the
	existing code in time.c.
	
	/jeff

<agrover@groveronline.com>
	ACPI: Move more headers to include/acpi, and delete an unused header.

<agrover@groveronline.com>
	CPUFREQ: Break out ACPI Perf code into its own module, under cpufreq
	(Dominik Brodowski)

<agrover@groveronline.com>
	ACPI: acpiphp.h includes both linux/acpi.h and acpi_bus.h. Since the
	former now also includes the latter, acpiphp.h only needs the one, now.

<gibbs@overdrive.btc.adaptec.com>
	Aic7xxx Driver Update 6.2.28
		o Add some more DV diagnostic code
		o Fix bug that cause sequencer debug code to be
		  downloaded always.
	
	Aic79xx Driver Update 1.3.0.RC2
		o Correct a bug that effectively limited DV to just ID 0.
		o Add some more DV diagnostic code
		o Misc code cleanups.

<agrover@groveronline.com>
	ACPI: Remove include of unused header (Adrian Bunk)

<agrover@groveronline.com>
	ACPI: Properly init/clean up in cpufreq/acpi (Dominik Brodowski)

<agrover@groveronline.com>
	ACPI: Make proc write interfaces work (Pavel Machek)

<agrover@groveronline.com>
	ACPI: This makes it possible to select method of bios restoring after S3
	resume. [=> no more ugly ifdefs] (Pavel Machek)

<baldrick@wanadoo.fr>
	[PATCH] USB: trivial speedtouch changes
	
	  speedtouch: trivial whitespace and debug message changes.

<baldrick@wanadoo.fr>
	[PATCH] USB: move udsl_atm_set_mac into speedtouch probe function
	
	  speedtouch: roll udsl_atm_set_mac into udsl_usb_probe.

<baldrick@wanadoo.fr>
	[PATCH] USB: eliminate pointless dynamic allocation in speedtouch
	
	  speedtouch: use an array for rcvbufs rather than a pointer and dynamic allocation.

<baldrick@wanadoo.fr>
	[PATCH] USB: move udsl_atm_startdevice into speedtouch probe function
	
	  speedtouch: roll udsl_atm_startdevice into udsl_usb_probe.

<baldrick@wanadoo.fr>
	[PATCH] USB: rework error handling in speedtouch probe function
	
	  speedtouch: rework udsl_usb_probe error handling (for example, handle failure of
	  atm_dev_register).  Do some trivial cleaning up while we're at it.

<baldrick@wanadoo.fr>
	[PATCH] USB: turn speedtouch micro race into a nano race
	
	  speedtouch: turn a micro race into a nano race.  The race is that an ATM device can
	  be used the moment atm_dev_register returns, but you only get to fill out the
	  atm_dev structure after atm_dev_register returns (this is a design flaw in the
	  ATM layer).  Thus there is a small window during which you can be called with an
	  incompletely set up data structure.  Workaround this by causing all ATM callbacks
	  to fail if the dev_data field has not been set.  There is still a nano race if
	  writing/reading the dev_data field is not atomic.  Is it atomic on all architectures?

<baldrick@wanadoo.fr>
	[PATCH] USB: simplify speedtouch receive urb lifecycle
	
	  speedtouch: simplify the receive urb lifecycle: allocate them in the usb probe function,
	  free them on disconnect.

<henning@meier-geinitz.de>
	[PATCH] USB scanner.h, scanner.c: New vendor/product ids
	
	This patch adds vendor/product ids for Artec, Canon, Compaq, Epson,
	HP, and Microtek scanners. Further more, the device list was cleaned
	up, sorted and duplicated entries have been removed.

<sri@us.ibm.com>
	[IPV{4,6}]: Add ipfragok arg to ip_queue_xmit.

<davem@nuts.ninka.net>
	[TCP]: Named struct initializers and tabbing fixes.

<davem@nuts.ninka.net>
	[IPSEC]: Clear SKB checksum state when mangling.

<thomas@bender.thinknerd.de>
	[IPSEC]: Fix some buglets in xfrm_user.c

<kaber@trash.net>
	[PPP]: Handle filtering drops correctly.

<Jeff.Wiedemeier@hp.com>
	[PATCH] fix /proc/interrupts on smp alpha kernels
	
	alpha show_interrupts was using irq as the cpu index and cpu as the irq
	index fpr the kstat_cpu(cpu).irqs[irq] lookup.
	
	/jeff

<agrover@groveronline.com>
	ACPI: Handle P_BLK lengths shorter than 6 more gracefully

<Matt_Domsch@dell.com>
	EDD: until SCSI layer sysfs is fixed, don't use it for raw_data either.

<Matt_Domsch@dell.com>
	EDD: don't over-allocate EDD data block
	
	Found by Kevin Lawton.

<sfr@canb.auug.org.au>
	[PATCH] ia64: [COMPAT] Eliminate the rest of the __kernel_..._t32 typedefs
	

<sfr@canb.auug.org.au>
	[PATCH] ia64: [COMPAT] {get,put}_compat_timspec 5/8
	

<sfr@canb.auug.org.au>
	[PATCH] ia64: [COMPAT] compat_{old_}sigset_t
	

<sfr@canb.auug.org.au>
	[PATCH] ia64: [COMPAT] compat_sys_sigpending and compat_sys_sigprocmask
	

<davidm@tiger.hpl.hp.com>
	ia64: asm-ia64/system.h: Remove include of <linux/percpu.h>.

<sfr@canb.auug.org.au>
	[PATCH] ia64: [COMPAT] compat_sys_[f]statfs
	

<gibbs@overdrive.btc.adaptec.com>
	Update Aic7xxx and Aic79xx driver documentation.

<gibbs@overdrive.btc.adaptec.com>
	Bump aic79xx driver version number to 1.3.0, now that it has
	passed functional test.

<dougg@torque.net>
	[PATCH] SAM-3 status codes
	
	The perverse CHECK_CONDITION in include/scsi/scsi.h seems
	to have struck again (see "Can't burn DVD under 2.5.59 with
	ide-cd" thread on the linux kernel list). Most users of
	CHECK_CONDITION found out to their surprise that it is
	shifted 1 bit (right) from those values found in the
	standards.
	
	The attachment marks the orginal list of SCSI status codes
	as deprecated and supplies defines taken from the most
	recent SAM-3 draft.

<ink@jurassic.park.msu.ru>
	[PATCH] nautilus update
	
	- make irongate_ioremap() use generic __alpha_remap_area_pages();
	- remove huge debugging printk;
	- AGP remapping hardware disabled for now. Any attempt to use it
	  would result in corrupted memory;
	- albacore (UP1500) support:
	  - handle differences between AMD-761 (UP1500) and AMD-751 (UP1000/1100)
	    chipsets, namely ECC mode/status and pci_mem registers;
	  - customized nautilus_init_pci() to minimize amount of system memory
	    consumed by PCI MMIO for 4Gb configuration.
	
	Ivan.

<agrover@groveronline.com>
	ACPI: update to 20030122

<adam@yggdrasil.com>
	| 	The following changes to ide-scsi.c are a recovery of the
	| changes that I had in ide-scsi.c in the stock kernel's before
	| Martin Dalecki's IDE tree was reverted and a few other changes.
	| 
	|         The principal change is that each ATAPI device is a Scsi_host
	| (which reflects reality), instead of having one fake Scsi_Host with
	| that appears to have all of the ATAPI devices on one bus regardless of
	| actual hardware topology.  This way it is much easier for software to
	| tell that, for example, a scsi copy command will not work between two
	| ATAPI devices.  More importantly, hot plugging should theoretically
	| work now, since Scsi_hosts are allocated and deallocated as ATAPI
	| devices are added or removed. 
	| 
	|         This change eliminates the idescsi_drives[] array and the
	| ide_driver_t.id field that was used to index it.
	| 
	|         The idescsi_scsi_t data structure is now allocated at
	| the end of the struct Scsi_Host rather than being a separate
	| memory allocation.  The calculation of various private pointers
	| are changed slightly as a result.
	| 
	|         Other minor nits include making all global routines
	| static and adding some missing error branches in
	| init_idescsi_module.
	| 
	|         I've verified that I can at least read raw data
	| from a DVD-ROM with with this change.
	| 
	|         When I unload this ide-scsi module, the stock ide-scsi module
	| or the stock ide-cd modules in 2.5.56, I get what appears to be the
	| same kernel bad memory reference, apparently due to some generic
	| device device added to drivers/ide/ide.c.  It does not appear to
	| be due to this patch.
	| 
	|         The patch is a net deletion of one line.
	|

<warlord@mit.edu>
	[IPSEC]: Block on connect for IPSEC keying.

<kai@tp1.ruhr-uni-bochum.de>
	kbuild: Remove -DEXPORT_SYMTAB switch
	
	rusty's module rewrite removed the reference to EXPORT_SYMTAB 
	from linux/module.h, and it's not used anywhere else, either.

<kai@tp1.ruhr-uni-bochum.de>
	kbuild: Remove obsolete CONFIG_MODVERSIONS cruft
	
	Though the CONFIG_MODVERSIONS option was removed with rusty's module
	rewrite and the associated code broken, a lot of that code was still
	living on here and there. Now it's gone for good.

<davidm@tiger.hpl.hp.com>
	ia64: Sync up with 2.5.59.
		Add light-weight version of set_tid_address() system call.

<kai@tp1.ruhr-uni-bochum.de>
	kbuild: Add CONFIG_MODVERSIONING and __kcrctab
	
	This patch adds the new config option CONFIG_MODVERSIONING which will
	be the new way of checking for ABI changes between kernel and module
	code.
	
	This and the following patches are in part based on an initial
	implementation by Rusty Russell and I believe some of the ideas go back
	to discussions on linux-kbuild, Keith Owens and Rusty.
	
	though I'm not sure I think credit for the basic idea of
	storing version info in sections goes to Keith Owens and Rusty.
	
	o Rename __gpl_ksymtab to __ksymtab_gpl since that looks more consistent
	  and appending _gpl instead of putting it into the middle simplifies
	  sharing code for EXPORT_SYMBOL() and EXPORT_SYMBOL_GPL()
	o Add CONFIG_MODVERSIONING
	o If CONFIG_MODVERSIONING is set, add a section __kcrctab{,_gpl}, which
	  contains the ABI checksums for the exported symbols listed in 
	  __ksymtab{,_crc} Since we don't know the checksums yet at compilation
	  time, just make them an unresolved symbol which gets filled in by the
	  linker later.

<davidm@tiger.hpl.hp.com>
	ia64: More vmlinux.lds.S cleanups.

<manish@Zambeel.com>
	[netdrvr tg3] add support for another 5704 board, fix up 5704 phy init

<jgarzik@redhat.com>
	[netdrvr tg3] more verbose failures, during initialization

<davidm@tiger.hpl.hp.com>
	ia64: Switch over to using place-relative ("ip"-relative) entries in
		the exception table.

<scott.feldman@intel.com>
	[netdrvr e1000] ethtool eeprom buffer dynamic allocation,
	rather than large static allocation on the stack

<scott.feldman@intel.com>
	[netdrvr e1000] remove /proc support (superceded by ETHTOOL_GSTATS)

<scott.feldman@intel.com>
	[netdrvr e1000] add ETHTOOL_GSTATS support

<scott.feldman@intel.com>
	[netdrvr e1000] TSO fixes and cleanups:
	
	* Bug fix: TSO s/w workaround for premature desc write-back by h/w.  h/w
	  was indicating desc done before DMA is complete, causing resources to
	  be returned to OS too early.  Bad things happen then.
	* Bug fix: Not time-stamping descriptors for fragmented sends.  Could 
	  cause false hang-detection.
	* Removed unecessary #ifdefs

<robert.olsson@data.slu.se>
	[netdrvr e1000] NAPI fixes:
	
	* e1000_irq_disable was used to disable irqs which called
	  synchronize_irq which in turn caused a solid hang on SMP
	  systems.

<kai@tp1.ruhr-uni-bochum.de>
	kbuild: Generate versions for exported symbols
	
	Up to now, we had a way to store the checksums associated with the
	exported symbols, but they were not filled in yet. This is done
	with this patch, using the linker to actually do that for us.
	  
	The comment added with this patch explains what magic exactly is going
	on.

<davidm@tiger.hpl.hp.com>
	ia64: Check for acceptable version of gas before trying to build
		the kernel.  Old gas versions will result in buggy kernels
		that will bugcheck all over the place (usually mount() is
		the first one to fail).

<kai@tp1.ruhr-uni-bochum.de>
	kbuild/modules: Check __vermagic for validity
	
	modprobe --force allows to load modules without a matching version
	magic string. This invalidation is done by clearing the SHF_ALLOC
	flag, so check it in the kernel. Also, clear the SHF_ALLOC flag
	unconditionally, since we don't need to store the __vermagic section
	in the kernel, it's only checked once at load time. 

<kai@tp1.ruhr-uni-bochum.de>
	kbuild/modules: Don't save the license string
	
	Again, the license string is only used at load time, so no need
	to store it permanently in kernel memory.

<kai@tp1.ruhr-uni-bochum.de>
	kbuild/modules: Track versions of exported symbols
	
	Store the information on the checksum alongside the rest of the 
	information on exported symbols. To actually use them, we need
	something to check them against first, though ;)
	
	Also, fix some conditional debug code to actually compile.

<kai@tp1.ruhr-uni-bochum.de>
	kbuild: Always link module (.ko) from associated (.o)
	
	For extracting the versions and finding the unresolved symbols, we
	need multi-part modules to be linked together already, so this
	patch separates the building of the modules as a .o file from generating
	the .ko in the next step.

<kai@tp1.ruhr-uni-bochum.de>
	kbuild: Don't build final .ko yet when descending with CONFIG_MODVERSIONING
	
	With CONFIG_MODVERSIONING, we need to record the versions of the unresolved
	symbols in the final <module>.ko, which we only know after we finished
	the descending build. So we only build <module>.o in that case.
	  
	Also, keep track of the modules we built, the post-processing step needs
	a list of all modules. Keeping track is done by touching
	.tmp_versions/path/to/module.ko

<kai@tp1.ruhr-uni-bochum.de>
	kbuild/modules: Record versions for unresolved symbols
	
	In the case of CONFIG_MODVERSIONING, the build step will only
	generate preliminary <module>.o objects, and an additional
	postprocessing step is necessary to record the versions of the unresolved
	symbols and add them into the final <module>.ko
	  
	The version information for unresolved symbols is again recorded into
	a special section, "__versions", which contains an array of symbol
	name strings and checksum (struct modversion_info). Size is here not
	an issue, since this section will not be stored permanently in kernel
	memory.
	  
	Makefile.modver takes care of the following steps:
	o Collect the version information for all exported symbols from vmlinux
	  and all modules which export symbols.
	o For each module, generate a C file which contains the modversion
	  information for all unresolved symbols in that module.
	o For each module, compile that C file to an object file
	o Finally, link the <module>.ko using the preliminary <module.o> + the
	  version information above.
	  
	The first two steps are currently done by not very efficient scripting,
	so there's room for performance improvement using some helper C code.

<kai@tp1.ruhr-uni-bochum.de>
	kbuild/modules: Return the index of the symbol from __find_symbol()
	
	We'll need that index to find the version checksum for the symbol in
	a bit.

<kai@tp1.ruhr-uni-bochum.de>
	kbuild/modules: Check module symbol versions on insmod
	
	Yeah, the final step!
	  
	Now that we've got the checksums for the exported symbols and the
	checksums of the unresolved symbols for the module we're loading,
	let's compare and see.
	  
	Again, we allow to load a module which has the version info stripped,
	but taint the kernel in that case.

<rmk@flint.arm.linux.org.uk>
	[ARM] Drop "alloc" flag for the .stack segment.
	
	Some linkers obey the linker script and make .stack unallocatable,
	others obey the flags from the object files.  Dropping "a" should
	make the end result deterministic in all cases.

<rmk@flint.arm.linux.org.uk>
	[ARM] Add one CPU device to the driver model.
	
	Since CPUFreq now uses the driver model, we need to register a CPU
	device with the driver model.

<rmk@flint.arm.linux.org.uk>
	[ARM] Kill build warnings for Integrator PCI V3 driver.

<rmk@flint.arm.linux.org.uk>
	[ARM] Fix KSTK_EIP and KSTK_ESP macros
	
	These two macros got missed when converting from the task-struct on
	stack to thread_info-struct on stack.

<rmk@flint.arm.linux.org.uk>
	[ARM] Add extra IO functionality.
	
	Add {read,write}[bwl] functionality to Acorn RISC PC.  Add
	{read,write}s[bwl] functionality for all.

<kai@tp1.ruhr-uni-bochum.de>
	kbuild: Add cscope support to Makefile
	
	We support tags and TAGS already, so...
	
	by Louis Zhuang

<kai@tp1.ruhr-uni-bochum.de>
	kbuild: gcc-3.3 warns about 2.5.59 EXPORT_SYMBOL
	
	When building linux-2.5.59 with gcc-3.3 (on s390, if that matters),
	I get a warning like "warning: `__ksymtab___foo' defined but
	not used" each time that EXPORT_SYMBOL is used.
	
	by Arnd Bergmann

<kai@tp1.ruhr-uni-bochum.de>
	kbuild: Move the definition of MODVERDIR
	
	MODVERDIR was defined in the build-only section, but it's needed for
	"make mrproper" as well.

<sam@mars.ravnborg.org>
	kbuild: arch{mrproper,clean} no longer mandatory
	
	archmrproper and archclean is declared .PHONY in top-level Makefile,
	therefore they are no longer mandatory in arch/$(ARCH)/Makefile.

<sam@mars.ravnborg.org>
	kbuild/all archs: Removed unused arch{clean,rproper} targets
	
	The recent change in the top level makefile allowed this clean-up in all
	the architecture specific Makefiles.
	No functional changes, just deleted the now optional targets

<rmk@flint.arm.linux.org.uk>
	[ARM] Convert ecard to allow use of ioremap + {read,write}[bwl]

<jejb@mulgrave.(none)>
	[SCSI] make echo scsi add-single-device x x x x > /proc/scsi/scsi work again
	
	Correct the logic error making it fail

<sam@mars.ravnborg.org>
	kbuild: HEAD replaced with head-y
	
	In arch/$(ARCH)/Makefile the objects to be linked as the very first are specified with HEAD.
	To make more consistent naming, and to allow smarter kbuild style declarations
	HEAD is replaced with head-y.
	Support for the old notaion is kept for now.
	Only i386 updated.

<sam@mars.ravnborg.org>
	kbuild/all archs: Replace HEAD with head-y
	
	Replace done for all archs except mips* and cris.
	These architectures are lacking too much behind that it made sense

<sam@mars.ravnborg.org>
	kbuild: Update Documentation/kbuild/makefiles.txt
	
	makefiles.txt brought up-to-date with the changes that has occured
	in kbuild within the last couple of months.
	Restructured to present relevant info earlier, and rewritten the
	architecture specific section to a certain degree.
	
	One change in style is that makefiles used throughout the kernel tree is called
	"kbuild makefiles", because they follow the kbuild syntax.
	Old notation was "subdirectory makefiles".
	
	There is added a TODO section, if anyone feel tempted to add a bit more text.

<sam@mars.ravnborg.org>
	Documentation/modules.txt: How to compile modules outside the kernel tree
	
	Updated documentation/modules.txt with the following:
	o Default config target is menuconfig
	o Documented INSTLL_MOD_PATH
	o Referenced to kernel 2.4
	o How to compile modules outside the kernel tree
	
	There is a lot of stuff in need for updating, this is first step

<sam@mars.ravnborg.org>
	kbuild: Removed Documentation/kbuild/bug-list.txt
	
	The bugs listed was no longer relevant.
	Also updated OO-INDEX

<rmk@flint.arm.linux.org.uk>
	[ARM] Update Acorn SCSI drivers
	
	- Add scsi devclass support.
	- Convert to use ioremap and friends.
	- Fix oops which can occur when driver claims interrupt, and there's
	  an interrupt pending - move to a two-level fas driver initialisation.

<sam@mars.ravnborg.org>
	kbuild: Enable the syntax "make dir/"
	
	"make dir/" is used to build a subsystem without going through the
	full kernel tree, neither completing the build.
	This is solely useful during development, when focus is on a
	single subsystem.
	This is the counterpart to "make dir/module.ko"

<sam@mars.ravnborg.org>
	kbuild: Made cmd_link_multi readable
	
	Introduced ld_flags, and separated out the common parts of link_multi
	for normal and module objects.
	Added a bit of a comment as well

<sam@mars.ravnborg.org>
	kbuild: ld_flags used consistently in Makefile.build

<rmk@flint.arm.linux.org.uk>
	[ARM] Add linux/errno.h include to allow pcf8583.c to build.

<rmk@flint.arm.linux.org.uk>
	[ARM] Remove 200Hz -> 100Hz conversion for ebsa110 timer.
	
	We now really run the ebsa110 kernel timer at 200Hz, and convert
	where necessary to 100Hz for user space.

<rmk@flint.arm.linux.org.uk>
	[ARM] Include ARM architecture version in module "version" string

<petkan@users.sourceforge.net>
	[PATCH] USB: pegasus & mii cset
	
	  Some ethernet drivers other than those in .../drivers/net need generic
	  MII code too and this cset shows how we do it for .../drivers/usb/net;
	  For now only pegasus.c is using this feature, but as soon as we find
	  more MII compliant controllers we'll put them in Makefile.mii too.
	  Note: drivers which use the generic mii routines should bracket the
	  code with #ifdef CONFIG_MII #endif since CONFIG_MII may not be present.
	  See pegasus.c for more details.

<david-b@pacbell.net>
	[PATCH] USB ohci-hcd, don't force SLAB_ATOMIC allocations
	
	This is a minor cleanup to let per-request memory allocations block,
	when the caller allows (it provided the bitmask).  The driver used
	to work that way until something like 2.4.3; an update (a few months
	back) to how the "dma_addr_t" hashes to a "struct ohci_td *" lets us
	simplify things again.  Another benfit:  it blocks irqs for less time
	on the submit path.  (The ehci driver already acts this way.)

<david-b@pacbell.net>
	[PATCH] USB: usbcore misc cleanup (notably for non-dma hcds)
	
	The support for non-dma HCDs is likely the most interesting bit here.
	
	    - makes dma calls behave sensibly when used with host controllers
	      that don't use dma (including sl811).  usb_buffer_map() is a nop
	      while scatterlist dma mappings fail (as they must).
	
	    - make usb_sg_init() behave sensibly when used with non-dma hcs.
	      the urbs are initted with transfer_buffer, not transfer_dma.
	      this is the higher level analogue to usb_buffer_map(), so it
	      needs to succeed unless there's a Real Error (tm).
	
	    - moves two compatibility inlines from ehci.h into hcd.h so
	      it'll be more practical to have the other hcds work in other
	      environments (notably lk 2.4) too
	
	    - remove URB_TIMEOUT_KILLED flag ... no device driver tests it;
	      hcds don't really (uhci sets it, never reads it; sl811 doesn't
	      enable the path that might set it), and it's not well defined.
	      if any hcd needs such state, keep it in hc-private storage.
	
	    - in usb_sg_wait(), use yield() instead of schedule() to let
	      other activities free resources needed to continue.  (This
	      was noted recently by Oliver.)

<andmike@us.ibm.com>
	[SCSI] fix scsi_find_device()

<perex@suse.cz>
	ALSA update
	  - removed some 2.2 code
	  - PCM - fixed memory leak for 24-bit samples
	  - gameport cleanups (CS4231, ENS1370/1371, SonicVibes, Trident)
	  - VIA82xx - fixed current pointer calculation
	  - sound_firmware - fixed errno problem
	  - USB - moved out compatibility code
	

<shaggy@shaggy.austin.ibm.com>
	JFS: Minor update in Documentation/filesystems/jfs.txt
	
	linuxjfs email address is obsolete.  Updating todo list

<perex@suse.cz>
	ALSA update
	  - added DocBook documentation
	  - added many source comments
	  - simplified proc style interface (per card)
	  - updated PCM scatter-gather routines
	  - moved PM locking outside callbacks

<zaitcev@redhat.com>
	[SUN PARTITION]: Advance slot properly while scanning.

<zaitcev@redhat.com>
	[SPARC]: Kill smp_found_cpus declaration.

<perex@suse.cz>
	ALSA update
	  - added documentation for OSS emulation
	  - CMI8330 - duplex/mixer cleanups
	  - via82xx - rewritten for 8233+ (multiple playback, S/PDIF, secondary capture)
	  - USB - quirk code update

<davidm@tiger.hpl.hp.com>
	ia64: Fix typo.

<perex@suse.cz>
	ALSA update
	  - updated programmer's documentation
	  - recoded PCM scatter-gather memory management
	  - MPU401 - cleanups
	  - CMI8330 - cleanups
	  - EMU10K1 - Audigy2 update
	  - ENS1371 - added surround support
	  - USB - added more quirks and improved PCM constraint definitions

<davem@nuts.ninka.net>
	[TCP]: Add tcp_low_latency sysctl.
	Currently it turns of prequeue processing, but more decisions
	may be guided by it in the future.
	Based upon a patch from Andi Kleen.

<vojtech@suse.cz>
	[PATCH] USB: Add an entry in cdc-acm.c for devices with ACM class (some Motorola phones)
	
	Normally the CDC ACM devices have an subclass of 0, and the ACM subclass is
	only applied to their first interface. But some have the subclass set on
	the device itself, namely Motorola mobile phones. This patch takes those
	devices into account.

<vojtech@suse.cz>
	[PATCH] USB: additions to hid-core.c blacklist

<luben@splentec.com>
	cmd_alloc54-3.patch [3/3]
	
	this patch implements the new command allocation scheme for SCSI
	Core, using the slab cache and a free_list for each host for a
	backup store of one command (or many).
	
	 o The three (3) subversion means that it has been updated to use
	   ISA DMA and PCI DMA memory for scsi command allocation,
	   i.e. there's two scsi command caches now.
	
	 o The interface is, of course, unchanged; and this is the whole
	   point of making this allocation scheme -- i.e. the allocator
	   is abstracted.
	

<perex@suse.cz>
	ALSA update
	  - fixed makefiles for sequencer modules:
	    when CONFIG_SND_SEQUENCER is m, then synth modules should be m, too

<davem@nuts.ninka.net>
	[SPARC64]: Kill references to hugepage syscalls.

<eranian@hpl.hp.com>
	[PATCH] ia64: fix PSR bug in perfmon code and switch to C99 initializers
	
	Please apply this small patch to your 2.5.59.
	It fixes the psr problem reported by the NEC guy and also cleans
	up the structure intializations in the model specific files.

<arun.sharma@intel.com>
	[PATCH] ia64: make hugetlb support work again
	

<jejb@mulgrave.(none)>
	[SCSI] Correct command leaks in the prep_fn

<eranian@hpl.hp.com>
	[PATCH] ia64: fix return type of sys_perfmonctl()
	

<kuznet@ms2.inr.ac.ru>
	[TCP]: Do not forget data copy while collapsing retransmission queue.

<anton@samba.org>
	ppc64: some small optimisations

<anton@samba.org>
	ppc64: restore non rt signals, we need to verify that older 64bit glibcs dont use them

<anton@samba.org>
	ppc64: Preparation work for minimal register save/restore exception paths

<anton@samba.org>
	ppc64: Fix compile with CONFIG_DEBUG_KERNEL disabled, from David Altobelli

<anton@samba.org>
	ppc64: rtas proc fixes from David Altobelli

<anton@samba.org>
	ppc64: defconfig update

<shaggy@shaggy.austin.ibm.com>
	JFS: Implement get_index_page to replace some uses of read_index_page
	  
	A recent change added the function read_index_page to replace calls to
	read_metapage() when accessing the directory index table.  However, we
	replaced both calls to read_metapage() and get_metapage() with the same
	function, but we really need two.  In addition to unnecesary disk reads,
	this problem caused an oops in __get_metapage().

<rmk@flint.arm.linux.org.uk>
	[ARM PATCH] 1361/1: EPXA10DB: Correct some typos in uart00.c
	
	Patch from Dirk Behme
	
	Patch some typos in uart00.c. frame is selected with FE_MSK and for OE_MSK rds
	must be used.

<rmk@flint.arm.linux.org.uk>
	[ARM PATCH] 1348/1: Add support for the HackKit board
	
	Patch from Stefan Eletzhofer
	
	This patch adds basic support for the HackKit Core CPU Board.

<davidm@tiger.hpl.hp.com>
	ia64: Fix ARCH_DLINFO.

<davidm@tiger.hpl.hp.com>
	ia64: Add light-weight version of getppid().  Detect at boottime whether the
		McKinley Erratum 9 workaround is needed and, if not, patch the workaround
		bundles with NOPs.

<dougg@torque.net>
	[SCSI] Add length checking to sprintf in sg

<david-b@pacbell.net>
	[PATCH] USB: ehci-hcd updates
	
	This should apply to 2.5.59 too.  It seems to get rid of some pesky
	hangs, on at least some hardware, but I won't have time to test it
	on either VIA version ... maybe someone else will make the time?  :)
	
	      New QH state prevents a re-activation race
		- nobody can un-halt a qh before its cleanup is done
		- resubmit-from-completion had this race (some usbtest cases)
		  as could some normal submit paths on busy endpoints (storage)
		- faster controllers would trip on this more consistently
	
	      Queues of qtds
		- work harder to avoid ever modifing any qh in software
		- short reads block queue advance much less often
		- be more cautious with large (>~19KB) unaligned buffers
	
	      Unlinking urbs
		- if qtd unlinked is at queue head, use its latest status
		  (main effect is reporting bytes from partial transfers)
		- another new qh state:  defer qh unlink if IAA is busy
		  (eliminates a busy-wait loop in a rare scenario)
	
	      Enable features to improve bus utilization
		- PCI MWI ... can produce better write throughput; and by
		  using right cacheline size, sometimes read throughput too
		- USB NAK throttle ... sometimes reduces PCI access rates
	
	      Other
		- async dump shows more funky qh+qtd states, and NAK count
		- cope with with some of the sprintf wierdness
		- periodic dump is usually smaller (so is that schedule)
	      	- minor cleanups

<baldrick@wanadoo.fr>
	[PATCH] USB speedtouch: add a new speedtouch encoding function
	
	  speedtouch: add a new encoding function, atmsar_encode.  Calling it amounts to doing
	  atmsar_encode_aal5 followed by atmsar_encode_rawcell in one fell swoop.  It eliminates
	  the need for intermediate buffers and reduces memory movement.  The following patches
	  use it to simplify the send logic (and get rid of those annoying little oopsen).

<davem@nuts.ninka.net>
	[TCP]: In tcp_check_req, handle ACKless packets properly.

<anton@samba.org>
	ppc64: Fix my overoptimisation of zeroing RESULT. Yes Linus, it
	was all my fault.

<akpm@digeo.com>
	[IPV4]: Kill bogus semicolon in fib_get_next.

<rmk@flint.arm.linux.org.uk>
	[ARM PATCH] 1097/3: trizeps IDE support
	
	Patch from Guennadi Liakhovetski
	
	The enclosed patch includes trizeps-specific IDE code. It adds a
	Trizeps-specific section to asm/arch/ide.h. The patch is built
	against 2.5.44-rmk1.

<rmk@flint.arm.linux.org.uk>
	[ARM PATCH] 1096/4: trizeps PCMCIA support
	
	Patch from Guennadi Liakhovetski
	
	A minor update, trizeps.h has to be included explicitely now, since
	platform-specific headers are commented out in hardware.h

<rmk@flint.arm.linux.org.uk>
	[ARM PATCH] 1091/3: support for trizeps board (SA1110-based)
	
	Patch from Guennadi Liakhovetski
	
	The enclosed patch includes support for the trizeps board, based on the
	StrongARM-1110 CPU, machine number 74. The patch is built against
	2.5.44-rmk1. Only the core files - from arch/arm and
	include/asm-arm directories.

<rmk@flint.arm.linux.org.uk>
	[ARM] Make trizeps_map_io static.

<rmk@flint.arm.linux.org.uk>
	[ARM] Ensure GCC uses frame pointers when we want them.
	
	ARM GCC 2.95 generates frame pointers by default.  GCC 3.2.x seems
	to require some persuasion to generate them, despite being required
	for debugging.

<rmk@flint.arm.linux.org.uk>
	[ARM] Add missing #endif

<rmk@flint.arm.linux.org.uk>
	[ARM] Remove IRQ desc->enabled in favour of testing disable_depth

<davem@nuts.ninka.net>
	[TG3]: Let chip do pseudo-header csum on rx.

<davem@nuts.ninka.net>
	[TG3]: Add device IDs for 5704S/5702a3/5703a3.

<davem@nuts.ninka.net>
	[TG3]: Prevent dropped frames when flow-control is enabled.

<davem@nuts.ninka.net>
	[TG3]: Correct MIN_DMA and ONE_DMA settings in dma_rwctrl.

<davem@nuts.ninka.net>
	[TG3]: Workaround 5701 back-to-back register write bug.

<davem@nuts.ninka.net>
	[TG3]: Add workaround for third-party phy issues.

<davem@nuts.ninka.net>
	[TG3]: Remove anal grc_misc_cfg board IDs check.

<davem@nuts.ninka.net>
	[TG3]: Fix typos in previous changes.

<jgarzik@redhat.com>
	[netdrvr tg3] bump version, tidy comments
	
	No code changes in this patch, just cleanup and version bump.

<scott.feldman@intel.com>
	[netdrvr e100] math fixes and a cleanup:
	* Use correct math to calc timeout value passed to schedule_timeout
	* Change "walkaround" to "workaround"

<wriede@riede.org>
	[osst] fix bugzilla 244 (SRpnt initialisation problem)
	
	see http://bugzilla.kernel.org/show_bug.cgi?id=244

<torvalds@home.transmeta.com>
	Make threaded core-dump names use the tgid instead of the pid. Makes
	sense now that we can dump all threads in one core-dump.
	
	Fix from MAEDA Naoaki <maeda.naoaki@jp.fujitsu.com>

<torvalds@home.transmeta.com>
	Atyfb_base compile fix from Andres Salomon <dilinger@voxel.net>

<rmk@flint.arm.linux.org.uk>
	[ARM] Add arch/arm/common
	
	Certain support files are shared between various ARM machine classes.
	In other to sanely support these, we place the shared files in
	arch/arm/common instead of the individual machine class directories.

<akpm@digeo.com>
	[PATCH] Fix data loss problem due to sys_sync
	
	In 2.5.52 I broke sys_sync() for ext2 in subtle ways.
	
	sys_sync() will set mapping->dirtied_when non-zero against a clean inode.
	Later, in (say) __iget(), that inode gets moved over to inode_unused or
	inode_in_use.  But because it has non-zero ->dirtied_when,
	__mark_inode_dirty() thinks that the inode must still be on sb->s_dirty.
	
	But it isn't.  It's on inode_in_use.  It (and its pages) never get written
	out and the data gets thrown away on unmount.
	
	The patch ceases to use ->dirtied_when as an indicator of inode dirtiness.
	Not sure why I even did that :(

<akpm@digeo.com>
	[PATCH] direct-IO: fix i_size handling on ENOSPC
	
	When an appending O_DIRECT write hits ENOSPC we're returning a short write
	which is _too_ short.  The file ends up with an undersized i_size and fsck
	complains.
	
	So update the return value with the partial result before bailing out.

<akpm@digeo.com>
	[PATCH] Fix inode size accounting race
	
	Since Jan removed the lock_kernel()s in inode_add_bytes() and
	inode_sub_bytes(), these functions have been racy.
	
	One problematic workload has been discovered in which concurrent writepage
	and truncate on SMP quickly causes i_blocks to go negative.  writepage() does
	not take i_sem, and it seems that for ext2, there are no other locks in
	force when inode_add_bytes() is called.
	
	Putting the BKL back in there is not acceptable.  To fix this race I have
	added a new spinlock "i_lock" to the inode.
	
	That lock is presently used to protect i_bytes and i_blocks.  We could use it
	to protect i_size as well.
	
	The splitting of the used disk space into i_blocks and i_bytes is silly - we
	should nuke all that and just have a bare loff_t i_usedbytes.   Later.

<akpm@digeo.com>
	[PATCH] vmlinux fix
	
	Patch from: "H. J. Lu" <hjl@lucon.org>
	
	Fixes a commonly-reported insmod oops.
	
	Move the ksymtab labels definitions inside the liker section, so they get the
	right addresses.

<akpm@digeo.com>
	[PATCH] Compile fix in sound/oss/maestro.c
	
	Patch from "Ph. Marek" <philipp.marek@bmlv.gv.at>
	
	Compile fix in sound/oss/maestro.c

<akpm@digeo.com>
	[PATCH] remove lock_kernel() from exec of setuid apps
	
	Patch from Manfred Spraul <manfred@colorfullife.com>
	
	exec of setuid apps and ptrace must be synchronized, to ensure that a normal
	user cannot ptrace a setuid app across exec.  ptrace_attach acquires the
	task_lock around the uid checks, compute_creds acquires the BLK.  The patch
	converts compute_creds to the task_lock.  Additionally, it removes the
	do_unlock variable: the task_lock is not heaviliy used, there is no need to
	avoid the spinlock by adding branches.
	
	The patch is a cleanup patch, not a fix for a security problem: AFAICS the
	sys_ptrace in every arch acquires the BKL before calling ptrace_attach.

<akpm@digeo.com>
	[PATCH] properly handle too long pathnames in d_path
	
	Forward port of a 2.4 patch by Christoph Hellwig.
	
	See http://cert.uni-stuttgart.de/archive/bugtraq/2002/03/msg00384.html
	for the security implications.

<akpm@digeo.com>
	[PATCH] fix handling of ext2 allocation failures
	
	Patch from: Hugh Dickins <hugh@veritas.com>
	
	For almost a year (since 2.5.4) ext2_new_block has tended to set err 0
	instead of -ENOSPC or -EIO.  This manifested variously (typically depends on
	what's stale in ext2_get_block's chain[4] array): sometimes __brelse free
	free buffer backtraces, sometimes release_pages oops, usually
	generic_make_request beyond end of device messages, followed by further ext2
	errors.
	
	[Insert lecture on dangers of using goto for unwind :-]

<akpm@digeo.com>
	[PATCH] ext2_new_block cleanups and fixes
	
	The general error logic handling in there is:
	
		*errp = -EFOO;
		<lots of code>
		if (some_error)
			goto out;
	
	this is fragile and unmaintainable, because the setting of the error code is
	"far away" from the site where the error was detected.
	
	And the code was actually wrong - we're returning ENOSPC in places where fs
	metadata inconsistency was detected.  We traditionally return -EIO in this
	case.
	
	So change it all to do, effectively:
	
		if (some_error) {
			*errp = -EFOO;
			goto out;
		}

<akpm@digeo.com>
	[PATCH] ext3: fix scheduling storm and lockups
	
	There have been sporadic sightings of ext3 causing little blips of 100,000
	context switches per second when under load.
	
	At the start of do_get_write_access() we have this logic:
	
		repeat:
			lock_buffer(jh->bh);
			...
			unlock_buffer(jh->bh);
			...
			if (jh->j_list == BJ_Shadow) {
				sleep_on_buffer(jh->bh);
				goto repeat;
			}
	
	The problem is that the unlock_buffer() will wake up anyone who is sleeping
	in the sleep_on_buffer().
	
	So if task A is asleep in sleep_on_buffer() and task B now runs
	do_get_write_access(), task B will wake task A by accident.  Task B will then
	sleep on the buffer and task A will loop, will run unlock_buffer() and then
	wake task B.
	
	This state will continue until I/O completes against the buffer and kjournal
	changes jh->j_list.
	
	Unless task A and task B happen to both have realtime scheduling policy - if
	they do then kjournald will never run.  The state is never cleared and your
	box locks up.
	
	
	The fix is to not do the `goto repeat;' until the buffer has been taken of
	the shadow list.  So we don't go and wake up the other waiter(s) until they
	can actually proceed to use the buffer.
	
	The patch removes the exported sleep_on_buffer() function and simply exports
	an existing function which provides access to a buffer_head's waitqueue
	pointer.  Which is a better interface anyway, because it permits the use of
	wait_event().
	
	This bug was introduced introduced into 2.4.20-pre5 and was faithfully ported
	up.

<akpm@digeo.com>
	[PATCH] slab poison checking fix
	
	Spotted by Andries Brouwer.  There's one place where slab is calling
	check_poison_obj() but not reporting on any detected failure.
	
	We used to go BUG() in there.  Convert it over to the kinder, gentler
	slab_error() regime.

<akpm@digeo.com>
	[PATCH] quota locking fix
	
	Quota locking fix from Jan Kara.

<akpm@digeo.com>
	[PATCH] quota semaphore fix
	
	The second quota locking fix.  Sorry, I seem to have misplaced the
	changelog.

<akpm@digeo.com>
	[PATCH] preempt spinlock efficiency fix
	
	Patch from: jak@rudolph.ccur.com (Joe Korty)
	
	The new, preemptable spin_lock() spins on an atomic bus-locking read/write
	instead of an ordinary read, as the original spin_lock implementation did.
	Perhaps that is the source of the inefficiency being seen.
	
	Attached sample code compiles but is untested and incomplete (present
	only to illustrate the idea).

<akpm@digeo.com>
	[PATCH] Make fix sync_filesystems() actually do something
	
	Random semicolon makes the whole thing a no-op.
	
	It _did_ work.  I must have broken it between testing and sending :(

<akpm@digeo.com>
	[PATCH] stack overflow checking fix
	
	Patch from William Lee Irwin III <wli@holomorphy.com>
	
	struct thread_info is shared with the stack, not struct task_struct.
	False positives have been seen.

<akpm@digeo.com>
	[PATCH] slab IRQ fix
	
	Patch from Manfred Spraul <manfred@colorfullife.com>
	
	cache_alloc_refill() forgets to disable interrupts again on an error path.
	This exposes us to slab corruption and it makes slab debugging go BUG (it
	expects local irqs to be disabled).

<akpm@digeo.com>
	[PATCH] blkdev.h fixes
	
	Patch from William Lee Irwin III <wli@holomorphy.com>
	
	BLK_BOUNCE_HIGH and BLK_BOUNCE_ANY are compared against 64-bit quantities.
	Cast these unsigned long quantities to avoid overflow.

<akpm@digeo.com>
	[PATCH] symbol_get linkage fix
	
	Patch from Rusty Russell <rusty@rustcorp.com.au>
	
	Make symbol_get() use undefined weak symbols if !CONFIG_MODULE.
	Many thanks to RTH for introducing undef weak symbols to me.

<akpm@digeo.com>
	[PATCH] i386 pgd_index() doesn't parenthesize its arg
	
	Patch from William Lee Irwin III <wli@holomorphy.com>
	
	pgd_index() doesn't parenthesize its argument.  This is a bad idea for
	macros, since it's legitimate to pass expressions to them that will get
	misinterpreted given operator precedence and the shift.

<akpm@digeo.com>
	[PATCH] kernel param and KBUILD_MODNAME name-munging mess
	
	Patch from: Rusty Russell <rusty@rustcorp.com.au>
	
	Mikael Pettersson points out that "-s" gets mangled to "_s" on the
	kernel command line, even though it turns out not to be a
	parameter.

<akpm@digeo.com>
	[PATCH] i386 pgd_index() doesn't parenthesize its arg
	
	Patch from William Lee Irwin III <wli@holomorphy.com>
	
	PAE's pte_none() and pte_pfn() evaluate their arguments twice;
	analogous fixes have been made to other things; c.f. pgtable.h's long
	list of one-line inlines with parentheses still around their args.

<akpm@digeo.com>
	[PATCH] pcmcia timer initialisation fixes
	
	pcmcia timer initialisation fixes from Anton Blanchard

<akpm@digeo.com>
	[PATCH] correct wait accounting in wait_on_buffer()
	
	__wait_on_buffer() needs to use io_schedule(), so processes in there are
	accounted as being in I/O wait.

<akpm@digeo.com>
	[PATCH] atyfb compilation fix
	
	Patch from "Andres Salomon" <dilinger@voxel.net>
	
	Fix compilation of atyfb_base.c

<akpm@digeo.com>
	[PATCH] floppy locking fix
	
	redo_fd_request() needs to take the queue lock around the call to
	elv_next_request().

<akpm@digeo.com>
	[PATCH] soundcore.c referenced non-existent errno variable
	
	Patch from: Petr Vandrovec <vandrove@vc.cvut.cz>
	
	soundcore is trying to perform kernel syscalls to load firmware, but falls
	afoul of missing `errno'.  Convert it to use VFS API functions.

<akpm@digeo.com>
	[PATCH] Fix generic_file_readonly_mmap()
	
	We cannot clear VM_MAYWRITE in there - it turns writeable MAP_PRIVATE
	mappings into readonly ones.
	
	So change it back to the 2.4 form - disallow a writeable MAP_SHARED mapping
	against filesystems which do not implement ->writepage().

<akpm@digeo.com>
	[PATCH] exit_mmap fix for 64bit->32bit execs
	
	The recent exit_mmap() changes broke PPC64 when 64-bit applications exec
	32-bit ones.  ia32-on-ia64 was broken as well
	
	What is happening is that load_elf_binary() sets TIF_32BIT (via
	SET_PERSONALITY) _before_ running exit_mmap().  So when we're unmapping the
	vma's of the old image, we are running under the new image's personality.
	
	This causes PPC64 to pass a 32-bit TASK_SIZE to unmap_vmas(), even when the
	execing process had a 64-bit image.  Because unmap_vmas() is not provided
	with the correct virtual address span it does not unmap all the old image's
	vma's and we go BUG_ON(mm->map_count) in exit_mmap().
	
	The early SET_PERSONALITY() is required before we look up the interpreter
	because the lookup of the executable has to happen under the alternate root
	which SET_PERSONALITY() may set.
	
	Unfortunately this means that we're running flush_old_exec() under the new
	exec's personality.  Hence this bug.
	
	So what the patch does is to simply pass ~0UL into unmap_vmas(), which tells
	it to unmap everything regardless of current personality.  Which is what the
	old open-coded VMA killer was doing.
	
	There remains the problem that some architectures are sometimes passing the
	incorrect TASK_SIZE into tlb_finish_mmu().  They've always been doing that.

<akpm@digeo.com>
	[PATCH] fix show_task oops
	
	Patch from Russell King <rmk@arm.linux.org.uk>
	
	show_task() attempts to calculate the amount of free space which hasn't been
	written to on the kernel stack by reading from the base of the kernel stack
	upwards.
	
	However, it mistakenly uses the task_struct pointer as the base of the stack,
	which it isn't, and this can cause an oops.
	
	Here is a patch which uses the task thread pointer instead, which should be
	located at the bottom of the kernel stack.  It appears this was missed when
	the thread structure was introduced.

<jmorris@intercode.com.au>
	[IPSEC]: remove trailer_len from esp and xfrm properties.

<jmorris@intercode.com.au>
	[IPSEC]: Update ah documentation.

<jmorris@intercode.com.au>
	[IPSEC] Convert esp auth to use proper crypto api calls.

<jmorris@intercode.com.au>
	[IPSEC] Generic ICV handling for ESP.

<jmorris@intercode.com.au>
	[CRYPTO]: in/out scatterlist support for ciphers.
	- Merge scatterwalk patch from Adam J. Richter <adam@yggdrasil.com>
	  API change: cipher methods now take in/out scatterlists and nbytes 
	  params.
	- Merge gss_krb5_crypto update from Adam J. Richter <adam@yggdrasil.com>
	- Add KM_SOFTIRQn (instead of KM_CRYPTO_IN etc).
	- Add asm/kmap_types.h to crypto/internal.h
	- Update cipher.c credits.
	- Update cipher.c documentation.

<James.Bottomley@steeleye.com>
	3c509 fixes: correct MCA probing, add back ISA probe to Space.c

<cw@f00f.org>
	[IPV6]: Fix tcp_v6_xmit prototype.

<devik@cdi.cz>
	[NET_SCHED]: HTB scheduler updates from Devik.
	- repaired htb_debug_dump call in htb_dequeue
	- removed performance counter macros
	- error report text fixes, new more precise mindelay error reporting
	- minor fixes and cleanup

<ak@muc.de>
	[IPV4]: Better behavior for NETDEV_CHANGENAME requests.

<davem@nuts.ninka.net>
	[IPSEC]: Revert previous change to ip_route_connect.

<kunihiro@ipinfusion.com>
	[XFRM]: Add family member to xfrm_usersa_id.

<rddunlap@osdl.org>
	[PATCH] fix references to discarded sections
	
	After disabling files that wouldn't build, there were 2 (in-kernel)
	modules that referenced _init or _exit code sections when they
	shouldn't.
	
	This fixes those modules.

<lord@sgi.com>
	[XFS] Transaction A is in callback processing unpinning a buffer,
	Transaction B is in the process of marking the buffer stale.
	Between transaction A dropping its reference and checking
	the stale state, transaction B gets a reference and stales
	the buffer. A ends up freeing the log item and releasing
	the buffer. End result is we have a reference to free memory
	and an unlocked buffer.
	
	SGI Modid: 2.5.x-xfs:slinx:137748a

<lord@sgi.com>
	[XFS] Do not release the last iclog of a transaction before we get our
	callbacks attached to it. Otherwise we can end up executing the
	callback out of order.
	
	SGI Modid: 2.5.x-xfs:slinx:137750a

<hch@sgi.com>
	[XFS] remove a dead codepath in xfs_syncsub
	
	SGI Modid: 2.5.x-xfs:slinx:138037a

<lord@sgi.com>
	[XFS] fix initialization of bio in end case where we are dealing with sub page 
	sized requests.
	
	SGI Modid: 2.5.x-xfs:slinx:138201a

<kai@tp1.ruhr-uni-bochum.de>
	kbuild: Rename CONFIG_MODVERSIONING -> CONFIG_MODVERSIONS
	
	CONFIG_MODVERSIONING was a temporary name introduced to distinguish
	between the old and new module version implementation. Since the
	traces of the old implementation are now gone from the build system,
	we rename the config option back in order to not confuse users more
	than necessary in 2.6.
	 
	Also, remove some historic modversions cruft throughout the tree.

<kai@tp1.ruhr-uni-bochum.de>
	kbuild: Generate module versions in the normal object directories
	
	We generated the intermediate files that contain checksums for
	unresolved symbols in .tmp_versions, which had the disadvantage
	that is obscured what's going on during the build. Just
	generate them as .ver.[co] right next to the actual objects in the
	object tree.

<rusty@rustcorp.com.au>
	kbuild: Modversions fixes
	
	Fix the case where no CRCs are supplied (OK, but taints kernel), and
	only print one tainted message (otherwise --force gives hundreds of them).

<rusty@rustcorp.com.au>
	kbuild: Ignore kernel version part of vermagic if CONFIG_MODVERSIONS
	
	Skip over the first part of __vermagic in modversioning is on: otherwise
	you'll have to force it when changing from 2.6.0 to 2.6.1.

<kai@tp1.ruhr-uni-bochum.de>
	kbuild: Assorted fixlets
	
	o Build modules with CONFIG_MODVERSIONS when just saying "make"
	o Ignore generated *.ver.c files
	o Fix a typo (Sam Ravnborg)
	o Fix another typo (Paul Marinceu)

<kai@tp1.ruhr-uni-bochum.de>
	kbuild: Remove export-objs := ... statements
	
	One of the goals of the whole new modversions implementation:
	export-objs is gone for good!

<agrover@groveronline.com>
	ACPI: It is OK to not have a _PPC, so don't error out if it's not found

<greg@kroah.com>
	[PATCH] USB: add a blank line between each device in usbfs/devices

<greg@kroah.com>
	[PATCH] USB: fix to get usb-storage code to work again.
	
	Thanks to Matt Dharm and David Brownell for tracking this bug down.

<mdharm-usb@one-eyed-alien.net>
	[PATCH] usb-storage: move to SCSI hotplugging
	
	The attached patch is my first implementation of SCSI hotplugging.
	
	It's only been tested that it compiles, as I can't get the current
	linux-2.5 tree from linuxusb to boot.  It dies _very_ early.  Greg, I'm not
	sure if you'll want to apply this.  Linus seemed to want this very much,
	and it is 2.5.x... I say go for it, but I can understand if you have
	reservations.
	
	I would definately like to see this tested by anyone who can get a kernel
	to boot.
	
	This patch is quite large.  Lots of things had to be changed.  Among them:
	
	(o) The proc interface now uses the host number to look up the SCSI host
	    structure, and then finds the usb-storage structure from that.
	(o) The SCSI interface has been changed.  The code flow is now much
	    clearer, as more work is done from the USB probe/detach functions than
	    from auxillary functions.
	(o) Names have been changed for newer conventions
	(o) GUIDs have been removed
	(o) The linked-list of devices has been removed, and it's associated
	    semaphore
	(o) All code dealing with re-attaching a device to it's old association has
	    been removed
	(o) Some spaces changed to tabs
	(o) usb-storage now takes one directory under /proc/scsi instead of
	    one per virtual-HBA
	(o) All control threads now have the same name.  This could be changed back
	    to the old behavior, if enough people want it.
	
	Known problems:
	(o) Testing, testing, testing
	(o) More dead code needs to be cut
	(o) It's a unclear how a LLD is supposed to cut off the flow of
	    commands, so that the unregister() call always succeeds.  SCSI folks
	    need to work on this.
	(o) Probing needs to be broken down into smaller functions, probably.

<mdharm-scsi@one-eyed-alien.net>
	[PATCH] usb-storage: fix typo
	
	This patch goes on top of the last one.  It fixes a typo in the test for
	scsi_register() failure.
	
	  -- reversed the logic of failure test for scsi_register()

<mdharm-scsi@one-eyed-alien.net>
	[PATCH] usb-storage: fix oops
	
	It should fix the OOPS on attach.
	
	This fixes a silly error where I fail to initialize a pointer early enough
	for the scanning code.  If this isn't a perfect example of why
	scsi_register() and scsi_add_host() aren't two separate functions, I don't
	know what is.  :)
	
	Oh, and I added a couple of comments, too.
	
	  -  Fix an OOPS by moving the setting of the hostdata[] pointer to _before_
	     the device scan starts.

<mdharm-usb@one-eyed-alien.net>
	[PATCH] usb-storage: comments, cleanup
	
	This patch does the following:
	(o) Add comments showing what needs to be done to complete the hot-unplug
	    system.
	(o) Add a BUG_ON() for (what is now) a critical failure case.
	(o) Make certain that a debug print happens even if a usb_get_intfdata()
	    crashes.
	(o) Add an un-necessary up() to balance a down, for the auto-code-checkers.

<mdharm-usb@one-eyed-alien.net>
	[PATCH] usb-storage: remove US_FL_DEV_ATTACHED
	
	This patch removes the US_FL_DEV_ATTACHED flag, which is now rendered
	obsolete by the new hotplug system.
	
	It also adds a comment or two about areas of code that need to be
	re-examined.

<mdharm-usb@one-eyed-alien.net>
	[PATCH] usb-storage: convert spaces to tabs
	
	This is a minor cleanup to convert 8 spaces into tabs.  There is no
	functional change here.

<mdharm-usb@one-eyed-alien.net>
	[PATCH] Replace a line of code that shouldn't have been removed.

<henning@meier-geinitz.de>
	[PATCH] USB scanner.h, scanner.c: maintainer change
	
	This patch changes the maintainer from Brian Beattie to Henning
	Meier-Geinitz and adds a link to the documentation and website.

<henning@meier-geinitz.de>
	[PATCH] USB scanner.c: Adjust syslog output
	
	This patch prints the vendor + product ids of the scanner after it has
	been successfully detected.
	
	Also the annoying error message about "Scanner device is already open"
	was downgraded to a dbg. Scanning for devices while one scanner device
	was open produced several 100 error messages in syslog.

<baldrick@wanadoo.fr>
	[PATCH] USB speedtouch: let the tasklet do all processing of speedtouch receive urbs
	
	  speedtouch: move all processing of receive urbs to udsl_atm_processqueue.  This has
	  several advantages, as will be seen in the next few patches.  The most important is
	  that it makes it easy to reuse of the urb's buffer (right now a new buffer is
	  allocated every time the urb completes).  By the way, this patch is much smaller than
	  it looks: most of the bulk is due to indentation changes.

<baldrick@wanadoo.fr>
	[PATCH] USB speedtouch: re-recycle speedtouch receive buffers
	
	Rediffed version of the original patch - no sk_buff on the stack this time.
	
	  speedtouch: recycle the receive urb's buffer.  Currently, every time a receive urb
	    completes, its old buffer is thrown away and replaced with a new one.  This patch
	    performs the minor changes needed to reuse the old buffer.

<baldrick@wanadoo.fr>
	[PATCH] USB speedtouch: re-recycle failed speedtouch receive urbs
	
	  speedtouch: more robust handling of receive urb failure: retry failed urbs whenever
	  a new connection is opened.  This should work well with pppd's persist option.

<baldrick@wanadoo.fr>
	[PATCH] USB speedtouch: re-wait for speedtouch completion handlers after usb_unlink_urb
	
	  speedtouch: wait for receive urb completion handlers to finish after calling
	  usb_unlink_urb.

<baldrick@wanadoo.fr>
	[PATCH] USB speedtouch: re-cosmetic speedtouch changes
	
	  speedtouch: a pile of cosmetic changes to make me feel happier (no code changes).

<baldrick@wanadoo.fr>
	[PATCH] USB speedtouch: tweak speedtouch status logic
	
	  speedtouch: change data_started to firmware_loaded, which is what it actually
	  means, plus some minor related changes.

<baldrick@wanadoo.fr>
	[PATCH] USB speedtouch: allocate speedtouch send urbs in the USB probe routine
	
	  speedtouch: allocate send urbs in udsl_usb_probe rather than in udsl_usb_data_init.
	  Since this diminishes udsl_usb_data_init down to almost nothing, roll it into the one
	  place it was used.  Get rid of the semaphore Oliver put it - it is no longer needed.
	
	
	 speedtouch.c |   86 ++++++++++++++++++++++++++---------------------------------
	 1 files changed, 38 insertions(+), 48 deletions(-)

<baldrick@wanadoo.fr>
	[PATCH] USB speedtouch: earlier rejection of outgoing speedtouch packets
	
	  speedtouch: reject outgoing packets earlier when the firmware is not loaded.

<mdharm-usb@one-eyed-alien.net>
	[PATCH] USB usb-storage: host a host refcount a little bit longer
	
	This patch makes us hold the host reference count a little bit longer in
	the /proc interface code.  We were releasing it too early before.

<mdharm-usb@one-eyed-alien.net>
	[PATCH] USB usb-storage: implement device-offline code
	
	This code implements the setting of devices offline during the removal
	phase.

<mdharm-usb@one-eyed-alien.net>
	[PATCH] USB usb-storage: implement clearing of device queue
	
	This patch clears out the device queue when a unit is removed.

<p.guehring@futureware.at>
	[PATCH] USB: FTDI driver, new id added

<greg@kroah.com>
	[PATCH] USB: added tripp device id's to pl2303 driver.
	
	Thanks to John Moses <jmoses@lanl.gov> for the information.

<anton@samba.org>
	ppc64: fix UP compile

<anton@samba.org>
	ppc64: module updates from Rusty

<davem@nuts.ninka.net>
	[SPARC]: Add ndelay.

<davem@nuts.ninka.net>
	[FC4]: Update for scsi_cmnd changes.

<davem@nuts.ninka.net>
	[SCSI ESP]: Update for scsi_cmnd changes.

<davem@nuts.ninka.net>
	[SCSI QLOGICPTI]: Update for scsi_cmnd changes.

<davem@nuts.ninka.net>
	[SCSI PLUTO/FCAL]: Update for scsi_cmnd changes.

<nlaredo@transmeta.com>
	[PATCH] stradis.c "proper" port to 2.5.x

<akpm@digeo.com>
	[PATCH] qlogic fix
	
	Linus's current BK tree needs the following build fix:

<akpm@digeo.com>
	[PATCH] implement posix_fadvise64()
	
	An implementation of posix_fadvise64().  It adds 368 bytes to my vmlinux and
	is worth it.
	
	I didn't bother doing posix_fadvise(), as userspace can implement that by
	calling fadvise64().
	
	The main reason for wanting this syscall is to provide userspace with the
	ability to explicitly shoot down pagecache when streaming large files.  This
	is what O_STEAMING does, only posix_fadvise() is standards-based, and harder
	to use.
	
	posix_fadvise() also subsumes sys_readahead().
	
	POSIX_FADV_WILLNEED will generally provide asynchronous readahead semantics
	for small amounts of I/O.  As long as things like indirect blocks are aready
	in core.
	
	POSIX_FADV_RANDOM gives unprivileged applications a way of disabling
	readahead on a per-fd basis, which may provide some benefit for super-seeky
	access patterns such as databases.
	
	
	
	The POSIX_FADV_* values are already implemented in glibc, and this patch
	ensures that they are in sync.
	
	A test app (fadvise.c) is available in ext3 CVS.  See
	
		http://www.zip.com.au/~akpm/linux/ext3/
	
	for CVS details.
	
	Ulrich has reviewed this patch (thanks).

<akpm@digeo.com>
	[PATCH] fix agp compile warning
	
	A static function in a header where presumably a static inline was intended.

<akpm@digeo.com>
	[PATCH] add stats for page reclaim via inode freeing
	
	pagecache can be reclaimed via the page LRU and via prune_icache.  We
	currently don't know how much reclaim is happening via each.
	
	The patch adds instrumentation to display the number of pages which were
	freed via prune_icache.  This is displayed in /proc/vmstat:pginodesteal and
	/proc/vmstat:kswapd_inodesteal.
	
	Turns out that under some workloads (well, dbench at least), fully half of
	page reclaim is via the unused inode list.  Which seems quite OK to me.

<akpm@digeo.com>
	[PATCH] file-backed vma merging
	
	Implements merging of file-backed VMA's.  Based on Andrea's 2.4 patch.
	
	It's only done for mmap().  mprotect() and mremap() still will not merge
	VMA's.
	
	It works for hugetlbfs mappings also.

<akpm@digeo.com>
	[PATCH] mm/mmap.c whitespace cleanups
	
	- Don't require a 160-col xterm
	
	- Coding style consistency

<akpm@digeo.com>
	[PATCH] cleanup in read_cache_pages()
	
	Patch from Nikita Danilov <Nikita@Namesys.COM>
	
	read_cache_pages() is passed a bunch of pages to start I/O against and it is
	supposed to consume all those pages.  But if there is an I/O error, someone
	need to throw away the unused pages.
	
	At present the single user of read_cache_pages() (nfs_readpages) does that
	cleanup by hand.  But it should be done in the core kernel.

<akpm@digeo.com>
	[PATCH] remove __GFP_HIGHIO
	
	Patch From: Hugh Dickins <hugh@veritas.com>
	
	Recently noticed that __GFP_HIGHIO has played no real part since bounce
	buffering was converted to mempool in 2.5.12: so this patch (over 2.5.58-mm1)
	removes it and GFP_NOHIGHIO and SLAB_NOHIGHIO.
	
	Also removes GFP_KSWAPD, in 2.5 same as GFP_KERNEL; leaves GFP_USER, which
	can be a useful comment, even though in 2.5 same as GFP_KERNEL.
	
	One anomaly needs comment: strictly, if there's no __GFP_HIGHIO, then
	GFP_NOHIGHIO translates to GFP_NOFS; but GFP_NOFS looks wrong in the block
	layer, and if you follow them down, you find that GFP_NOFS and GFP_NOIO
	behave the same way in mempool_alloc - so I've used the less surprising
	GFP_NOIO to replace GFP_NOHIGHIO.

<akpm@digeo.com>
	[PATCH] Use a slab cache for pgd and pmd pages
	
	From Bill Irwin
	
	This allocates pgd's and pmd's using the slab and slab ctors.  It has a
	benefit beyond preconstruction in that PAE pmd's are accounted via
	/proc/slabinfo
	
	Profiling of kernel builds by Martin Bligh shows a 30-40% drop in CPU load
	due to pgd_alloc()'s page clearing activity.  But this was already a tiny
	fraction of the overall CPU time.

<akpm@digeo.com>
	[PATCH] pgd_ctor update
	
	From wli
	
	A moment's reflection on the subject suggests to me it's worthwhile to
	generalize pgd_ctor support so it works (without #ifdefs!) on both PAE
	and non-PAE. This tiny tweak is actually more noticeably beneficial
	on non-PAE systems but only really because pgd_alloc() is more visible;
	the most likely reason it's less visible on PAE is "other overhead".
	It looks particularly nice since it removes more code than it adds.
	
	Touch tested on NUMA-Q (PAE). OFTC #kn testers testing the non-PAE case.

<akpm@digeo.com>
	[PATCH] Avoid losing timer ticks when slab debug is enabled.
	
	Patch from Manfred Spraul <manfred@colorfullife.com>
	
	When slab debugging is enabled we're holding off interrupts for too long
	(more than a jiffy), so reduce the alloc/free batching size when slab debug
	is enabled.

<akpm@digeo.com>
	[PATCH] remove unneeded locking in do_syslog()
	
	Lots of nonsensical locking in there.

<akpm@digeo.com>
	[PATCH] hangcheck-timer
	
	Patch from: Joel Becker <Joel.Becker@oracle.com>
	
	This kernel module will detect long durations when jiffies has failed to
	increment, and will reboot the machine in response.
	
	Joel says:
	
	
	"Here's why Oracle wants such a thing.  We run clusters.  Imagine a two node
	 cluster.  Node1 pauses completely for some reason.  There are multiple
	 reasons this can happen.  A bad driver can udelay() for 90 seconds (qla used
	 to do this).  zVM on S/390 can page Linux out for minutes at a time.
	 Anything that causes the box to freeze.  Jiffies does *not* count during
	 this, so when Node1 returns it feels that no time has passed.
	
	 Node2, however, has been counting time.  When Node1 goes away, the Oracle
	 cluster manager starts looking for it.  After a timeout, it gives up.  It
	 then recovers any in-progress transactions from Node1.  After that, it
	 starts new operations, modifying the data in ways that Node1 has no idea
	 about (it's still out to lunch).
	
	 When Node1 finally returns (udelay() ends, zVM pages it in, whatever), any
	 I/O that it has queued or is about to queue will get sent to the disk.
	 Oops, you've just corrupted your shared data.
	
	 hangcheck-timer should catch this and reboot the box.
	
	 This is why Oracle wants this driver.  We figure that such functionality
	 would be beneficial to others as well, so we posted to l-k.  We'd all hope
	 that driver writers don't udelay() for 90s, but S/390 with zVM is still
	 around.  Some folks might want to notice when it happens.  I am sure other
	 things exist that trigger the same symptoms."

<akpm@digeo.com>
	[PATCH] Restore LSM hook calls to sendfile
	
	Patch from "Stephen D. Smalley" <sds@epoch.ncsc.mil>
	
	This patch restores the LSM hook calls in sendfile to 2.5.59.  The hook was
	previously added as of 2.5.29 but the hook calls in sendfile were
	subsequently lost as a result of the sendfile rewrite as of 2.5.30.

<akpm@digeo.com>
	[PATCH] asm-i386/mmzone.h macro paren/eval fixes
	
	Patch from William Lee Irwin III <wli@holomorphy.com>
	
	Okay, this one looks ugly because we're missing some of the definitions
	available with which to convert to inline functions (esp. struct page).
	A lot of these introduce temporaries and sort of hope names won't clash,
	which might be important to whoever cares about -Wshadow.
	
	 - node_end_pfn() evaluates nid twice
	 - local_mapnr() evaluates kvaddr twice
	 - kern_addr_valid() evaluates kaddr twice
	 - pfn_to_page() evaluates pfn multiple times
	 - page_to_pfn() evaluates page thrice
	 - pfn_valid() doesn't parenthesize its argument

<akpm@digeo.com>
	[PATCH] remove spaces from slab names
	
	From Anton Blanchard: remove spaces from slab cache identifiers.  Simplifies
	parsing of /proc/slabinfo.

<akpm@digeo.com>
	[PATCH] remove will_become_orphaned_pgrp()
	
	Patch from William Lee Irwin III <wli@holomorphy.com>
	
	will_become_orphaned_pgrp()'s sole use is is_orphaned_pgrp().  Fold its body
	into is_orphaned_pgrp(), rename __will_become_orphaned_pgrp(), and adjust
	callers.  Code shrinkage plus some relief from underscore-itis.

<akpm@digeo.com>
	[PATCH] MAX_IO_APICS #ifdef'd wrongly
	
	Patch from William Lee Irwin III <wli@holomorphy.com>
	
	CONFIG_X86_NUMA no longer exists.  This changes the MAX_IO_APICS definition
	to 32, where it is required to be so large on NUMA-Q in order to boot.

<akpm@digeo.com>
	[PATCH] patch to DAC960 driver for error retry
	
	Patch from Dave Olien <dmo@osdl.org>
	
	The following patch implements retry on media errors for the DAC960 driver.
	On such media errors, the DAC960 apparently doesn't report how much of the
	transfer may have been successful before the error was encountered.
	
	This type of error should be rare on healthy hardware, especially if the
	disks are stripped or mirrored.  But, when large transfers are submitted to
	the controller, it's especially bad to have to fail the entire transfer
	because one disk sector may have been bad.

<akpm@digeo.com>
	[PATCH] Remove __ from topology macros
	
	Patch from Matthew Dobson <colpatch@us.ibm.com>
	
	When I originally wrote the patches implementing the in-kernel topology
	macros, they were meant to be called as a second layer of functions,
	sans underbars.  This additional layer was deemed unnecessary and
	summarily dropped.  As such, carrying around (and typing!) all these
	extra underbars is quite pointless.  Here's a patch to nip this in the
	(sorta) bud.  The macros only appear in 16 files so far, most of them
	being the definitions themselves.

<akpm@digeo.com>
	[PATCH] put_user() warning fix
	
	Patch from Russell King <rmk@arm.linux.org.uk>
	
	Have a couple of extra warnings:
	
	fs/binfmt_elf.c: In function `create_elf_tables':
	fs/binfmt_elf.c:239: warning: initialization makes integer from pointer without a cast
	fs/binfmt_elf.c:249: warning: initialization makes integer from pointer without a cast
	
	#ifndef elf_addr_t
	#define elf_addr_t unsigned long
	#endif
	
	        elf_addr_t *argv, *envp;
	
	        __put_user(NULL, argv);
	        __put_user(NULL, envp);
	
	It would therefore appear that x86 __put_user is not properly type-checking
	the arguments to __put_user().
	
	Here's a patch which fixes the warning (but doesn't fix x86's type-check
	challenged __put_user implementation).

<akpm@digeo.com>
	[PATCH] fix #warnings
	
	Patch from "Randy.Dunlap" <rddunlap@osdl.org>
	
	This fixes a few #warning's that gcc 2.96 complains about having
	unmatched single-quote marks.  (warnings on #warnings)

<akpm@digeo.com>
	[PATCH] ia32 Lost tick compensation
	
	Patch from john stultz <johnstul@us.ibm.com>
	
	Adds some lost-tick compensation code, which handles the case where time
	accounting goes wrong due to interrupts being disabled for longer than two
	ticks.
	
	This patch solves the problem by checking when an interrupt occurs if
	timer->get_offset() is a value greater then 2 ticks.  If so, it increments
	jiffies appropriately.
	
	I was concerned that we'd be better off finding and fixing the misbehaving
	drivers, but it turns out that the main culprits are system management cards
	over which the kernel has no control.
	
	However John has added some debug code which will drop a backtrace on the
	first five occurrences which will allow us to find-and-fix bad drivers if
	overruns _are_ due to Linux software.  (I disabled this - it was irritating
	me.  Dave Hansen has a patch which allows it to be turned on via a kernel
	boot parameter, like the x86_64 equiv).

<akpm@digeo.com>
	[PATCH] Include <asm/page.h> in fs/seq_file.c, as it uses
	
	Patch from miles@lsi.nec.co.jp (Miles Bader)
	
	Otherwise it won't compile.  I guesss this used to work because <asm/page.h>
	was included somewhere to get the BUG macros, but now with the advent of
	<asm/bug.h> that's changed.

<akpm@digeo.com>
	[PATCH] scsi_eh_* needs to run even during suspend
	
	Patch from Pavel Machek <pavel@ucw.cz>
	
	scsi_eh_* needs to run even during suspend because suspend does not prevent a
	hard disk from reporting an error.

<akpm@digeo.com>
	[PATCH] misc fixes
	
	- Fix dead comment in load_elf_interp() (Dave Airlie)
	
	- Add some (hard-won) commentary around the early SET_PERSONALITY() in
	  load_elf_binary().
	
	- Remove dead hugetlb prototype.
	
	- Fix some silliness in hugetlbpage.c

<akpm@digeo.com>
	[PATCH] Remove unneeded code in fs/fs-writeback.c
	
	We do not need to pass the `wait' argument down to __sync_single_inode().
	That information is now present at wbc->sync_mode.

<akpm@digeo.com>
	[PATCH] Fix latencies during writeback
	
	When a throttled writer is performing writeback, and it encounters an inode
	which is already under writeback it is forced to wait on the inode.  So that
	process sleeps until whoever is writing it out finishes the writeout.
	
	Which is OK - we want to throttle that process, and another process is
	currently pumping data at the disk anyway.
	
	But in one situations the delays are excessive.  If one process is performing
	a huge linear write, other processes end up waiting for a very long time
	indeed.  It appears that this is because the writing process just keeps on
	hogging the CPU, returning to userspace, generating more dirty data, writing
	it out, sleeping in get_request_wait, etc.  All other throttled dirtiers get
	starved.
	
	So just remove the wait altogether if it is just a memory-cleansing writeout.
	 The calling process will then throttle in balance_dirty_pages()'s call to
	blk_congestion_wait().

<akpm@digeo.com>
	[PATCH] fix i_sem contention in sys_unlink()
	
	Truncates can take a very long time.  Especially if there is a lot of
	writeout happening, because truncate must wait on in-progress I/O.
	
	And sys_unlink() is performing that truncate while holding the parent
	directory's i_sem.  This basically shuts down new accesses to the entire
	directory until the synchronous I/O completes.
	
	In the testing I've been doing, that directory is /tmp, and this hurts.
	
	So change sys_unlink() to perform the actual truncate outside i_sem.
	
	When there is a continuous streaming write to the same disk, this patch
	reduces the time for `make -j4 bzImage' from 370 seconds to 220.

<torvalds@home.transmeta.com>
	Fix up manual merge error in usb/storage/scsiglue.c

<torvalds@home.transmeta.com>
	Fix Makefile syntax error for (deprecated) "make dep"

<willy@debian.org>
	[PATCH] PA-RISC updates for 2.5.59
	
	 - conversion of remaining drivers to generic device model
	 - more of sfr's compat stuff
	 - eliminate some bogus syscalls
	 - update for MUX driver
	 - beginnings of new module code
	 - tell the keyboard driver about CONFIG_PARISC

<tim@physik3.uni-rostock.de>
	[PATCH] use 64 bit jiffies: infrastructure
	
	Provide a sane way to avoid unneccessary locking on 64 bit platforms,
	and a 64 bit analogous to "jiffies_to_clock_t()".

<tim@physik3.uni-rostock.de>
	[PATCH] use 64 bit jiffies: fix utime wrap
	
	Use 64 bit jiffies for reporting uptime.

<tim@physik3.uni-rostock.de>
	[PATCH] use 64 bit jiffies: 64-bit process start time
	
	This prevents reporting processes as having started in the future, after
	32 bit jiffies wrap.

<hch@lst.de>
	[PATCH] remove __scsi_add_host
	
	now that scsi_add_host accepts a NMULL dev argument we don't need it
	anymore.

<drow@nevyn.them.org>
	Use force_sig_specific to send SIGSTOP to newly-created CLONE_PTRACE processes.

<greg@kroah.com>
	USB: fix up drivers the scsi people missed

<hch@lst.de>
	[PATCH] fixes and cleanups for the new command allocation code
	
	On Tue, Feb 04, 2003 at 12:33:23PM -0600, James Bottomley wrote:
	> I agree with this.  It is a guarantee the mid-layer makes to the LLD
	> (and there are some LLDs with static issue queues for which this is a
	> hard requirement).  I think (once the dust has settled and we've agreed
	> which field holds the current queue depth) what's needed is a check in
	> the scsi_request_fn() to see if we're over the LLD's current depth for
	> the device and plug the queue and exit if we are.  The next returning
	> command will unplug and send.
	>
	> This way of doing things means that we're free to prep as many commands
	> as we can, but we guarantee only to have the correct number outstanding
	> to the LLD.
	
	Okay, here's a new versin of the patch.  Changes:
	
	* throttel on number of inflight command blocks
	* rename scsi_cmnd->new_queue_depth to scsi_cmnd->queue_depth
	* remove scsi_do_cmd
	* serialize pool handling

<agrover@groveronline.com>
	ACPI: Optimize for space

<davidm@wailua.hpl.hp.com>
	ia64: Use printk severity-levels where appropriate.
		Triggered by analysis done by Philipp Marek.

<davidm@tiger.hpl.hp.com>
	ia64: Fix potential perfmon deadlock.  Patch by Stephane Eranian.

<greg@kroah.com>
	[PATCH] PCI Hotplug: dereference null variable cleanup patches.
	
	These were pointed out by "dan carpenter" <error27@email.com>
	from his smatch tool.

<greg@kroah.com>
	[PATCH] IBM PCI Hotplug driver: Clean up the slot filename generation logic a lot.

<stanley.wang@linux.co.intel.com>
	[PATCH] PCI Hotplug: Replace pcihpfs with sysfs.

<stanley.wang@linux.co.intel.com>
	[PATCH] PCI Hotplug: Remove procfs stuff from pci_hotplug_core
	
	Here is a little patch that remove procfs stuff in pci_hotplug_core.c
	Remove /proc entry for pci_hotplug_core.

<greg@kroah.com>
	[PATCH] PCI Hotplug: change pci_hp_change_slot_info() to take a hotplug_slot and not a string.

<greg@kroah.com>
	[PATCH] sysfs: add sysfs_update_file() function.

<greg@kroah.com>
	[PATCH] PCI Hotplug: Make pci_hp_change_slot_info() work again
	
	Relies on sysfs_update_file() to be present in the kernel.

<greg@kroah.com>
	[PATCH] PCI Hotplug: moved the some stuff into the pci core
	
	Moved functions from drivers/hotplug/pci_hotplug_util.c to
	drivers/pci/hotplug.c, which is a better place for them.

<rddunlap@osdl.org>
	[PATCH] PCI Hotplug: checker patches
	
	Fixes problems found by the CHECKER program in the pci hotplug drivers

<riel@conectiva.com.br>
	[PATCH] Re: [CHECKER] 112 potential memory leaks in 2.5.48
	
	On Wed, 5 Feb 2003, Rik van Riel wrote:
	> On Tue, 4 Feb 2003, Andy Chou wrote:
	
	Thanks for the checker output.  First patch below...
	
	> > [BUG]
	> > u1/acc/linux/2.5.48/drivers/scsi/sr_ioctl.c:188:sr_do_ioctl:
	> > ERROR:LEAK:85:188:Memory leak [Allocated from:
	> > /u1/acc/linux/2.5.48/drivers/scsi/sr_ioctl.c:85:scsi_allocate_request]
	>
	> Bug indeed, I've created a patch to fix the possible leak of
	> a scsi request, but can't figure out the bounce buffer logic...
	
	The patch below fixes the scsi request leak. I'm not sure
	how the bounce buffer thing is supposed to work (Christoph?
	James?) so I'm not touching that at the moment.
	
	Linus, could you please apply this patch (against today's
	bk tree) ?
	
	thank you,
	
	Rik
	--
	Bravely reimplemented by the knights who say "NIH".
	http://www.surriel.com/		http://guru.conectiva.com/
	Current spamtrap:  <a href=mailto:"october@surriel.com">october@surriel.com</a>
	
	
	===== drivers/scsi/sr_ioctl.c 1.27 vs edited =====

<jejb@raven.il.steeleye.com>
	Correct compiler warnings with use of likely() on pointers

<jejb@raven.il.steeleye.com>
	Fix sr_ioctl.c bounce buffer usage
	
	Make sure all DMAs come from kmalloc'd memory with the correct
	GFP_ flags

<jejb@raven.il.steeleye.com>
	move queue_depth check from scsi_prep_fn to scsi_request_fn

<green@namesys.com>
	[PATCH] fix HZ=100 case with 64 bit jiffies
	
	The updates to use 64-bit jiffies broke fs/proc/proc_misc.c for
	architectures still using a 100 Hz clocktick (e.g.  UML)

<kai@tp1.ruhr-uni-bochum.de>
	kbuild: Don't default to building modules when not selected
	
	Defaulting to building modules together with vmlinux when just doing
	"make" or "make all" is only a good choice when "CONFIG_MODULES" is set.

<stekloff@w-stekloff.beaverton.ibm.com>
	[PATCH] pci patch for sysfs files
	
	The patch is modeled after your method for creating files for usb. It
	makes a single file for pci sysfs files (except for pool, which I haven't
	touched yet). It also exposes more pci information to User Space
	through sysfs. Finally, it removes the dependence on the proc pci code
	for sysfs files.

<greg@kroah.com>
	[PATCH] PCI:  put proper field sizes on sysfs files, and add class file.

<randy.dunlap@verizon.net>
	[PATCH] PCI Hotplug: memory leaks in acpiphp_glue
	
	Here's the memory leaks patch for acpiphp_glue.c.

<randy.dunlap@verizon.net>
	[PATCH] do_mounts memory leak
	
	The Stanford Checker identified a memory leak in init/do_mounts.c.
	
	This corrects it.

<shemminger@osdl.org>
	[PATCH] x86_64 gettimeofday bug.
	
	Found by inspection of of the x86_64 gettimeofday.
	
	The problem is that the code always records the maximum value
	but it is not reset on the next clock tick.  As written, I see it
	keeping the maximum number of microseconds since the last clock tick.

<chris@wirex.com>
	[PATCH] 2.5-bk trivial LSM cleanup
	
	Trivial patch from Randy Dunlap <rddunlap@osdl.org> removes some useless
	error/retval assignments.

<shemminger@osdl.org>
	[PATCH] seqlock for xtime
	
	Add "seqlock" infrastructure for doing low-overhead optimistic reader
	locks (writer increments a sequence number, reader verifies that no
	writers came in during the critical region, and lots of careful memory
	barriers to take care of business).
	
	Make xtime/get_jiffies_64() use this new locking.

<rmk@arm.linux.org.uk>
	[PATCH] disassociate_ctty SMP fix
	
	Ok, here's my proposed fix, which appears to work with preempt.  I haven't
	tested on non-preempt, nor (obviously since its from me) SMP.  However,
	I forsee no problems caused by this change.
	
	release_dev() sets filp->private_data to NULL when the tty layer has
	done with the file descriptor.  However, it remains on the tty_files
	list until __fput completes.

<greg@kroah.com>
	[PATCH] Compaq PCI Hotplug: fix checker memory leak bugs.

<greg@kroah.com>
	[PATCH] IBM PCI Hotplug: fix memory leak found by checker project.

<akpm@digeo.com>
	[PATCH] seqlock fix: read_seqretry_irqrestore()

<patmans@us.ibm.com>
	[PATCH] add back single_lun support
	
	On Wed, Feb 05, 2003 at 05:14:00PM -0600, James Bottomley wrote:
	
	> I don't see device_active getting set anywhere.
	>
	> shouldn't we just dump device_active in favour of a non-zero check of
	> device_busy (it's all done under the queue lock, anyway).
	>
	> James
	
	OK - once more.
	
	This patch against the current scsi-misc-2.5 adds back the check for the
	single_lun case and removes the unused device_active field.
	
	I compiled and booted with this applied but don't have any devices (i.e.
	CD ROM changer) for testing.

<greg@kroah.com>
	[PATCH] IBM PCI Hotplug: fix a load of memory leak errors found by the checker project.

<anton@samba.org>
	ppc64: Add ppc64 relocations to asm/elf.h. I am the example of good taste.

<greg@kroah.com>
	sysfs: remember to add EXPORT_SYMBOL() for sysfs_update_file.

<rem@osdl.org>
	[NETFILTER]: Delete un-used stack variable in ip_nat_helper.c

<elenstev@mesatop.com>
	[NETFILTER]: Update Kconfig help text to match 2.4.x

<vojtech@suse.cz>
	x86-64: Minor fixes to make the kernel compile and remove warnings.

<hch@lst.de>
	[SCSI] Remove host_active
	
	It isn't used anywhere anymore

<rusty@rustcorp.com.au>
	[PATCH] [patch, 2.5] scsi_qla1280.c free on error path
	
	From:  Marcus Alanen <maalanen@ra.abo.fi>
	
	  Remove check_region in favour of request_region. Free resources
	  properly on error path. Horribly subtle ioremap/iounmap lurks here I
	  think, in qla1280_pci_config(), which the below patch should take care
	  of.
	
	  I'm wondering if there couldn't / shouldn't be a better way to
	  allocate resources. Obviously lots of drivers have broken error paths.
	  Is this even necessary?
	
	  Marcus
	
	
	  #
	  # create_patch: qla1280_release_on_error_path-2002-12-08-A.patch
	  # Date: Sun Dec  8 22:32:33 EET 2002
	  #

<rusty@rustcorp.com.au>
	[PATCH] 2.5.59 add two help texts to drivers_scsi_Kconfig
	
	From:  Steven Cole <elenstev@mesatop.com>
	
	  Here are some help texts from 2.4.21-pre3 Configure.help which are
	  needed in 2.5.59 drivers/scsi/Kconfig.
	
	  Steven

<hch@lst.de>
	[PATCH] coding style updates for scsi_lib.c
	
	I just couldn't see the mess anymore..  Nuke the ifdefs and use sane
	variable names.  Some more small nitpicks but no behaviour changes at
	all.

<akpm@digeo.com>
	[PATCH] BTTV build fix
	
	Patch from Gerd Knorr <kraxel@bytesex.org>
	
	bttv requires CONFIG_SOUND.

<akpm@digeo.com>
	[PATCH] reiserfs v3 readpages support
	
	Patch from Chris Mason <mason@suse.com>
	
	The patch below is against 2.5.59, various forms have been floating
	around for a while, and Andrew recently included this fixed version in
	2.5.55-mm.  The end result is faster reads and writes for reiserfs.
	
	This adds reiserfs support for readpages, along with a support func in
	fs/mpage.c to deal with the reiserfs_get_block call sending back up to
	date buffers with packed tails copied into them.
	
	Most of the changes are to reiserfs_writepage, which still had many
	2.4isms in the way it started io, dealt with errors and handled the bh
	state bits.  I've also added an optimization so it only starts
	transactions when we need to copy a packed tail into the btree or fill a
	hole, instead of any time reiserfs_writepage hits an unmapped buffer.

<akpm@digeo.com>
	[PATCH] self-unplugging request queues
	
	The patch teaches a queue to unplug itself:
	
	a) if is has four requests OR
	b) if it has had plugged requests for 3 milliseconds.
	
	These numbers may need to be tuned, although doing so doesn't seem to
	make much difference.  10 msecs works OK, so HZ=100 machines will be
	fine.
	
	Instrumentation shows that about 5-10% of requests were started due to
	the three millisecond timeout (during a kernel compile).  That's
	somewhat significant.  It means that the kernel is leaving stuff in the
	queue, plugged, for too long.  This testing was with a uniprocessor
	preemptible kernel, which is particularly vulnerable to unplug latency
	(submit some IO, get preempted before the unplug).
	
	This patch permits the removal of a lot of rather lame unplugging in
	page reclaim and in the writeback code, which kicks the queues
	(globally!) every four megabytes to get writeback underway.
	
	This patch doesn't use blk_run_queues().  It is able to kick just the
	particular queue.
	
	The patch is not expected to make much difference really, except for
	AIO.  AIO needs a blk_run_queues() in its io_submit() call.  For each
	request.  This means that AIO has to disable plugging altogether,
	unless something like this patch does it for it.  It means that AIO
	will unplug *all* queues in the machine for every io_submit().  Even
	against a socket!
	
	This patch was tested by disabling blk_run_queues() completely.  The
	system ran OK.
	
	The 3 milliseconds may be too long.  It's OK for the heavy writeback
	code, but AIO may want less.  Or maybe AIO really wants zero (ie:
	disable plugging).  If that is so, we need new code paths by which AIO
	can communicate the "immediate unplug" information - a global unplug is
	not good.
	
	
	To minimise unplug latency due to user CPU load, this patch gives keventd
	`nice -10'.  This is of course completely arbitrary.  Really, I think keventd
	should be SCHED_RR/MAX_RT_PRIO-1, as it has been in -aa kernels for ages.

<akpm@digeo.com>
	[PATCH] Remove most of the blk_run_queues() calls
	
	We don't need these with self-unplugging queues.
	
	The patch also contains a couple of microopts suggested by Andrea: we
	don't need to run sync_page() if the page just came unlocked.

<akpm@digeo.com>
	[PATCH] Updated Documentation/kernel-parameters.txt
	
	Patch from Petr Baudis <pasky@ucw.cz>
	
	this patch (against 2.5.59) updates Documentation/kernel-parameters.txt to
	the (more-or-less; I certainly missed some parameters) current state of
	kernel.  Note also that I will probably send up another update after few
	further kernel releases..

<akpm@digeo.com>
	[PATCH] JBD Documentation
	
	Patch from Roger Gammans <roger@computer-surgery.co.uk>
	
	Adds lots of API documentation to the JBD layer.

<akpm@digeo.com>
	[PATCH] Restore LSM hook calls to sendfile
	
	Patch from "Stephen D. Smalley" <sds@epoch.ncsc.mil>
	
	This patch restores the LSM hook calls in sendfile to 2.5.59.  The hook was
	previously added as of 2.5.29 but the hook calls in sendfile were
	subsequently lost as a result of the sendfile rewrite as of 2.5.30.

<akpm@digeo.com>
	[PATCH] Fix SMP race betwen __sync_single_inode and
	
	Patch from Mikulas Patocka <mikulas@artax.karlin.mff.cuni.cz>
	
	there's a SMP race condition between __sync_single_inode (or __sync_one on
	2.4.20) and __mark_inode_dirty. __mark_inode_dirty doesn't take inode
	spinlock. As we know -- unless you take a spinlock or use barrier,
	processor can change order of instructions.
	
	CPU 1
	
	modify inode
	(but modifications are in cpu-local
	buffer and do not go to bus)
	
	calls
	__mark_inode_dirty
	it sees I_DIRTY and exits immediatelly
						CPU 2
						takes spinlock
						calls __sync_single_inode
						inode->i_state &= ~I_DIRTY
						writes the inode (but does not see
						modifications by CPU 1 yet)
	
	CPU 1 flushes its write buffer to the bus
	inode is already written, clean, modifications
	done by CPU1 are lost
	
	The easiest fix would be to move the test inside spinlock in
	__mark_inode_dirty; if you do not want to suffer from performance loss,
	use the attached patches that use memory barriers to ensure ordering of
	reads and writes.

<akpm@digeo.com>
	[PATCH] ia32 IRQ distribution rework
	
	Patch from "Kamble, Nitin A" <nitin.a.kamble@intel.com>
	
	Hello All,
	
	  We were looking at the performance impact of the IRQ routing from
	the 2.5.52 Linux kernel. This email includes some of our findings
	about the way the interrupts are getting moved in the 2.5.52 kernel.
	Also there is discussion and a patch for a new implementation. Let
	me know what you think at nitin.a.kamble@intel.com
	
	Current implementation:
	======================
	We have found that the existing implementation works well on IA32
	SMP systems with light load of interrupts. Also we noticed that it
	is not working that well under heavy interrupt load conditions on
	these SMP systems. The observations are:
	
	* Interrupt load of each IRQ is getting balanced on CPUs independent
	of load of other IRQs. Also the current implementation moves the
	IRQs randomly. This works well when the interrupt load is light. But
	we start seeing imbalance of interrupt load with existence of
	multiple heavy interrupt sources. Frequently multiple heavily loaded
	IRQs gets moved to a single CPU while other CPUs stay very lightly
	loaded. To achieve a good interrupts load balance, it is important to
	consider the load of all the interrupts together.
	    This further can be explained with an example of 4 CPUs and 4
	heavy interrupt sources. With the existing random movement approach,
	the chance of each of these heavy interrupt sources moving to separate
	CPUs is: (4/4)*(3/4)*(2/4)*(1/4) = 3/16. It means 13/16 = 81.25% of
	the time the situation is, some CPUs are very lightly loaded and some
	are loaded with multiple heavy interrupts. This causes the interrupt
	load imbalance and results in less performance. In a case of 2 CPUs
	and 2 heavily loaded interrupt sources, this imbalance happens
	1/2 = 50% of the times. This issue becomes more and more severe with
	increasing number of heavy interrupt sources.
	
	* Another interesting observation is: We cannot see the imbalance
	of the interrupt load from /proc/interrupts. (/proc/interrupts shows
	the cumulative load of interrupts on all CPUs.) If the interrupt load
	is imbalanced and this imbalance is getting rotated among CPUs
	continuously, then /proc/interrupts will still show that the interrupt
	load is going to processors very evenly. Currently at the frequency
	(HZ/50) at which IRQs are moved across CPUs, it is not possible to
	see any interrupt load imbalance happening.
	
	* We have also found that, in certain cases the static IRQ binding
	performs better than the existing kernel distribution of interrupt
	load. The reason is, in a well-balanced interrupt load situations,
	these interrupts are unnecessarily getting frequently moved across
	CPUs. This adds an extra overhead; also it takes off the CPU cache
	warmth benefits.
	  This came out from the performance measurements done on a 4-way HT
	(8 logical processors) Pentium 4 Xeon system running 8 copies of
	netperf. The 4 NICs in the system taking different IRQs generated
	sizable interrupt load with the help of connected clients.
	
	Here the netperf transactions/sec throughput numbers observed are:
	
	IRQs nicely manually bound to CPUs: 56.20K
	The current kernel implementation of IRQ movement: 50.05K
	 -----------------------
	 The static binding of IRQs has performed 12.28% better than the
	current IRQ movement implemented in the kernel.
	
	* The current implementation does not distinguish siblings from the
	HT (Hyper-Threading(tm)) enabled CPUs. It will be beneficial to
	balance the interrupt load with respect to processor packages first,
	and then among logical CPUs inside processor packages.
	  For example if we have 2 heavy interrupt sources and 2 processor
	packages (4 logical CPUs); Assigning both the heavy interrupt sources
	in different processor packages is better, it will use different
	execution resources from the different processor packages.
	
	
	
	New revised implementation:
	==========================
	We also have been working on a new implementation. The following
	points are in main focus.
	
	* At any moment heavily loaded IRQs are distributed to different
	CPUs to achieve as much balance as possible.
	
	* Lightly loaded interrupt sources are ignored from the load
	balancing, as they do not cause considerable imbalance.
	
	* When the heavy interrupt sources are balanced, they are not moved
	around. This also helps in keeping the CPU caches warm.
	
	* It has been made HT aware. While distributing the load, the load
	on a processor package to which the logical CPUs belong to is also
	considered.
	
	* In the situations of few (lesser than num_cpus) heavy interrupt
	sources, it is not possible to balance them evenly. In such case
	the existing code has been reused to move the interrupts. The
	randomness from the original code has been removed.
	
	* The time interval for redistribution has been made flexible. It
	varies as the system interrupt load changes.
	
	* A new kernel_thread is introduced to do the load balancing
	calculations for all the interrupt sources. It keeps the balanace_maps
	ready for interrupt handlers, keeping the overhead in the interrupt
	handling to minimum.
	
	* It allows the disabling of the IRQ distribution from the boot loader
	command line, if anybody wants to do it for any reason.
	
	* The algorithm also takes into account the static binding of
	interrupts to CPUs that user imposes from the
	/proc/irq/{n}/smp_affinity interface.
	
	
	Throughput numbers with the netperf setup for the new implementation:
	
	Current kernel IRQ balance implementation: 50.02K transactions/sec
	The new IRQ balance implementation: 56.01K transactions/sec
	 ---------------------
	  The performance improvement on P4 Xeon of 11.9% is observed.
	
	The new IRQ balance implementation also shows little performance
	improvement on P6 (Pentium II, III) systems.
	
	On a P6 system the netperf throughput numbers are:
	Current kernel IRQ balance implementation: 36.96K transactions/sec
	The new IRQ balance implementation: 37.65K transactions/sec
	 ---------------------
	Here the performance improvement on P6 system of about 2% is observed.
	
	
	 ---------------------
	
	Andrew Theurer <habanero@us.ibm.com> did some testing of this patch on a quad
	P4:
	
	
	I got a chance to run the NetBench benchmark with your patch on 2.5.54-mjb2
	kernel.  NetBench measures SMB/CIFS performance by using several SMB
	clients  (in this case 44 Windows 2000 systems), sending SMB requests to a
	Linux  server running Samba 2.2.3a+sendfile.  Result is in throughput,
	Mbps.   Generally the network traffic on the server is 60% recv, 40% tx.
	
	I believe we have very similar systems.  Mine is a 4 x 1.6 GHz, 1 MB L3 P4
	Xeon with 4 GB DDR memory (3.2 GB/sec I believe).  The chipset is "Summit".
	 I also have more than one Intel e1000 adapters.
	
	I decided to run a few configurations, first with just one adapter, with
	and  without HT support in the kernel (acpi=off), then add another adapter
	and  test again with/without HT.
	
	Here are the results:
	
	4P, no HT, 1 x e1000, no kirq:	1214 Mbps, 4% idle
	4P, no HT, 1 x e1000, kirq:		1223 Mbps, 4% idle,		+0.74%
	
	I suppose we didn't see much of an improvement here because we never run
	into  the situation where more than one interrupt with a high rate is
	routed to a  single CPU on irq_balance.
	
	4P, HT, 1 x e1000, no kirq:	1214 Mbps, 25% idle
	4P, HT, 1 x e1000, kirq:	1220 Mbps, 30% idle,			+0.49%
	
	Again, not much of a difference just yet, but lots of idle time.  We may
	have  reached the limit at which one logical CPU can process interrupts for
	an  e1000 adapter.  There are other things I can probably do to help this,
	like  int delay, and NAPI, which I will get to eventually.
	
	4P, HT, 2 x e1000, no kirq:	1269 Mbps, 23% idle
	4P, HT, 2 x e1000, kirq:	1329 Mbps, 18% idle			+4.7%
	
	OK, almost 5% better!  Probably has to do with a couple of things; the fact
	that your code does not route two different interrupts to the same
	core/different logical cpus (quite obvious by looking at /proc/interrupts),
	and that more than one interrupt does not go to the same cpu if possible.
	I  suspect irq_balance did some of those [bad] things some of the time, and
	we  observed a bottleneck in int processing that was lower than with kirq.
	
	I don't think all of the idle time is because of a int processing
	bottleneck.   I'm just not sure what it is yet :)  Hopefully something will
	become obvious  to me...
	
	Overall I like the way it works, and I believe it can be tweaked to work
	with  NUMA when necessary.  I hope to have access to a specweb system on a
	NUMA box  soon, so we can verify that.

<akpm@digeo.com>
	[PATCH] Fix futexes in huge pages
	
	Using a futex in a large page causes a kernel lockup in __pin_page() -
	because __pin_page's page revalidation uses follow_page(), and follow_page()
	doesn't work for hugepages.
	
	The patch fixes up follow_page() to return the appropriate 4k page for
	hugepages.
	
	This incurs a vma lookup for each follow_page(), which is considerable
	overhead in some situations.  We only _need_ to do this if the architecture
	cannot determin a page's hugeness from the contents of the PMD.
	
	So this patch is a "reference" implementation for, say, PPC BAT-based
	hugepages.

<akpm@digeo.com>
	[PATCH] Optimise follow_page() for page-table-based hugepages
	
	ia32 and others can determine a page's hugeness by inspecting the pmd's value
	directly.  No need to perform a VMA lookup against the user's virtual
	address.
	
	This patch ifdef's away the VMA-based implementation of
	hugepage-aware-follow_page for ia32 and replaces it with a pmd-based
	implementation.
	
	The intent is that architectures will implement one or the other.  So the architecture either:
	
	1: Implements hugepage_vma()/follow_huge_addr(), and stubs out
	   pmd_huge()/follow_huge_pmd() or
	
	2: Implements pmd_huge()/follow_huge_pmd(), and stubs out
	   hugepage_vma()/follow_huge_addr()

<akpm@digeo.com>
	[PATCH] default_idle micro-optimisation
	
	Patch from rwhron@earthlink.net
	
	Micro-optimization of default_idle from -aa.  current_cpu_data.hlt_works_ok
	is only false for some old 386/486 pcs.

<akpm@digeo.com>
	[PATCH] loop inefficiency fix
	
	Patch from Hugh Dickins <hugh@veritas.com>
	
	The loop driver's loop over elements of bi_io_vec is in lo_send and
	lo_receive: iterating that same transfer bi_vcnt times at the level above is,
	er, excessive.  (And no need to increment bi_idx here.)

<akpm@digeo.com>
	[PATCH] pte_chain_alloc fixes
	
	There are several places in which the return value from pte_chain_alloc() is
	not being checked, and one place in which a GFP_KERNEL allocatiopn is
	happening inside spinlock.

<akpm@digeo.com>
	[PATCH] give hugetlbfs a set_page_dirty a_op
	
	Seems that nobody has tested direct IO into hugetlb pages yet.  The VFS gets
	upset about running set_page_dirty() against a non-uptodate page.
	
	So give hugetlbfs inodes a private no-op ->set_page_dirty() to isolate them
	from all that.

<akpm@digeo.com>
	[PATCH] Infrastructure for correct hugepage refcounting
	
	We currently have a problem when things like ptrace, futexes and direct-io
	try to pin user pages.  If the user's address is in a huge page we're
	elevting the refcount of a constituent 4k page, not the head page of the
	high-order allocation unit.
	
	To solve this, a generic way of handling higher-order pages has been
	implemented:
	
	- A higher-order page is called a "compound page".  Chose this because
	  "huge page", "large page", "super page", etc all seem to mean different
	  things to different people.
	
	- The first (controlling) 4k page of a compound page is referred to as the
	  "head" page.
	
	- The remaining pages are tail pages.
	
	All pages have PG_compound set.  All pages have their lru.next pointing at
	the head page (even the head page has this).
	
	The head page's lru.prev, if non-zero, holds the address of the compound
	page's put_page() function.
	
	The order of the allocation is stored in the first tail page's lru.prev.
	This is only for debug at present.  This usage means that zero-order pages
	may not be compound.
	
	The above relationships are established for _all_ higher-order pages in the
	page allocator.  Which has some cost, but not much - another atomic op during
	fork(), mainly.
	
	This functionality is only enabled if CONFIG_HUGETLB_PAGE, although it could
	be turned on permanently.  There's a little extra cost in get_page/put_page.
	
	These changes do not preclude adding compound pages to the LRU in the future
	- we can add a new page flag to the head page and then move all the
	additional data to the first tail page's lru.next, lru.prev, list.next,
	list.prev, index, private, etc.

<akpm@digeo.com>
	[PATCH] convert hugetlb code to use compound pages
	
	The odd thing about hugetlb is that it maintains its own freelist of pages.
	And it has to do that, else it would trivially run out of pages due to buddy
	fragmetation.
	
	So we we don't want callers of put_page() to be passing those pages
	to __free_pages_ok() on the final put().
	
	So hugetlb installs a destructor in the compound pages to point at
	free_huge_page(), which knows how to put these pages back onto the free list.
	
	Also, don't mark hugepages as all PageReserved any more.  That's preenting
	callers from doing proper refcounting.  Any code which does a user pagetable
	walk and hits part of a hugepage will now handle it transparently.

<akpm@digeo.com>
	[PATCH] get_unmapped_area for hugetlbfs
	
	Having to specify the mapping address is a pain.  Give hugetlbfs files a
	file_operations.get_unmapped_area().
	
	The implementation is in hugetlbfs rather than in arch code because it's
	probably common to several architectures.  If the architecture has special
	needs it can define HAVE_ARCH_HUGETLB_UNMAPPED_AREA and go it alone.  Just
	like HAVE_ARCH_UNMAPPED_AREA.

<akpm@digeo.com>
	[PATCH] hugetlbfs: fix truncate
	
	- Opening a hugetlbfs file O_TRUNC calls the generic vmtruncate() functions
	  and nukes the kernel.
	
	  Give S_ISREG hugetlbfs files a inode_operations, and hence a setattr
	  which know how to handle these files.
	
	- Don't permit the user to truncate hugetlbfs files to sizes which are not
	  a multiple of HPAGE_SIZE.
	
	- We don't support expanding in ftruncate(), so remove that code.

<akpm@digeo.com>
	[PATCH] hugetlbfs i_size fixes
	
	We're expanding hugetlbfs i_size in the wrong place.  If someone attempts to
	mmap more pages than are available, i_size is updated to reflect the
	attempted mapping size.
	
	So set i_size only when pages are successfully added to the mapping.
	
	i_size handling at truncate time is still a bit wrong - if the mapping has
	pages at (say) page offset 100-200 and the mappng is truncated to (say) page
	offset 50, i_size should be set to zero.  But it is instead set to
	50*HPAGE_SIZE.  That's harmless.

<akpm@digeo.com>
	[PATCH] hugetlbfs cleanups
	
	- Remove quota code.
	
	- Remove extraneous copy-n-paste code from truncate: that's only for
	  physically-backed filesystems.
	
	- Whitespace changes.

<akpm@digeo.com>
	[PATCH] Give all architectures a hugetlb_nopage().
	
	If someone maps a hugetlbfs file, then truncates it, then references the part
	of the mapping outside the truncation point, they take a pagefault and we end
	up hitting hugetlb_nopage().
	
	We want to prevent this from ever happening.  This patch just makes sure that
	all architectures have a goes-BUG hugetlb_nopage() to trap it.

<akpm@digeo.com>
	[PATCH] Fix hugetlbfs faults
	
	If the underlying mapping was truncated and someone references the
	now-unmapped memory the kernel will enter handle_mm_fault() and will start
	instantiating PAGE_SIZE pte's inside the hugepage VMA.  Everything goes
	generally pear-shaped.
	
	So trap this in handle_mm_fault().  It adds no overhead to non-hugepage
	builds.
	
	Another possible fix would be to not unmap the huge pages at all in truncate
	- just anonymise them.
	
	But I think we want full ftruncate semantics for hugepages for management
	purposes.

<akpm@digeo.com>
	[PATCH] ia32 hugetlb cleanup
	
	- whitespace
	
	- remove unneeded spinlocking no-op.

<akpm@digeo.com>
	[PATCH] Fix hugetlb_vmtruncate_list()
	
	This function is quite wrong - has an "=" where it should have a "-" and
	confuses PAGE_SIZE and HPAGE_SIZE in its address and file offset arithmetic.

<akpm@digeo.com>
	[PATCH] hugetlb mremap fix
	
	If you attempt to perform a relocating 4k-aligned mremap and the new address
	for the map lands on top of a hugepage VMA, do_mremap() will attempt to
	perform a 4k-aligned unmap inside the hugetlb VMA.  The hugetlb layer goes
	BUG.
	
	Fix that by trapping the poorly-aligned unmap attempt in do_munmap().
	do_remap() will then fall through without having done anything to the place
	where it tests for a hugetlb VMA.
	
	It would be neater to perform these checks on entry to do_mremap(), but that
	would incur another VMA lookup.
	
	Also, if you attempt to perform a 4k-aligned and/or sized munmap() inside a
	hugepage VMA the same BUG happens.  This patch fixes that too.
	
	This all means that an mremap attempt against a hugetlb area will fail, but
	only after having unmapped the source pages.  That's a bit messy, but
	supporting hugetlb mremap doesn't seem worth it, and completely disallowing
	it will add overhead to normal mremaps.

<akpm@digeo.com>
	[PATCH] mm/mremap.c whitespace cleanup
	
	- Not everyone uses 160-column xterms.
	
	- Coding style consistency

<akpm@digeo.com>
	[PATCH] spinlock debugging on uniprocessors
	
	Patch from Manfred Spraul <manfred@colorfullife.com>
	
	This enables spinlock debuggng on uniprocessor builds, under
	CONFIG_DEBUG_SPINLOCK.
	
	The reason I want this is that one day we'll need to pull out the debugging
	support from the timer code which detects uninitialised timers.  And once
	that has gone, uniprocessor developers and testers have no way of detecting
	uninitialised timers - there will be mysterious deadlocks on SMP machines.
	And there will surely be more uninitialised timers
	
	The patch also removes the last pieces of the support for including
	<asm/spinlock.h> directly.  Doesn't work since (IIRC) 2.3.x

<akpm@digeo.com>
	[PATCH] CPU Hotplug mm/slab.c CPU_UP_CANCELED fix
	
	Patch from Manfred Spraul.
	
	Fixes a bug which was exposed by Zwane's hotplug CPU work.  The
	cache_cache.array pointer is initially given a temp bootstrap area, which is
	later converted over to the final value after the CPU is brought up.
	
	But if slab is enhanced to permit cancellation of a CPU bringup, this pointer
	ends up pointing at stale memory.  So reinitialise it by hand when
	kmem_cache_init() is run.

<akpm@digeo.com>
	[PATCH] Fix signed use of i_blocks in ext3 truncate
	
	Patch from "Stephen C. Tweedie" <sct@redhat.com>
	
	Fix "h_buffer_credits<0" assert failure during truncate.
	
	The bug occurs when the "i_blocks" count in the file's inode overflows
	past 2^31.  That works fine most of the time, because i_blocks is an
	unsigned long, and should go up to 2^32; but there's a place in truncate
	where ext3 calculates the size of the next transaction chunk for the
	delete, and that mistakenly uses a signed long instead.  Because the
	huge i_blocks gets cast to a negative value, ext3 does not reserve
	enough credits for the transaction and the above error results.
	
	This is usually only possible on filesystems corrupted for other
	reasons, but it is reproducible if you create a single, non-sparse file
	larger than 1TB on ext3 and then try to delete it.

<randy.dunlap@verizon.net>
	[PATCH] quota memleak
	
	The Stanford Checker found a memleak.

<agrover@groveronline.com>
	ACPI: Enable compilation w/o cpufreq

<David_Jeffery@adaptec.com>
	[PATCH] ips driver 1/4: fix struct length and remove dead code
	
	This small patch fixes the length of the IPS_ENQ
	struct.  It was too short which can cause the adapter
	to write beyond the the end of the struct during
	driver initialization and corrupt part of memory.

<David_Jeffery@adaptec.com>
	[PATCH] ips driver 2/4: initialization reordering
	
	This large patch reworks much of the adapter initialization
	code.
	
	It splits the scsi initialization code from the pci
	initialization.  It adds support for working with some
	future cards.  It also removes the use of multiple pci_driver
	registrations and instead does its own adapter ordering.

<David_Jeffery@adaptec.com>
	[PATCH] ips driver 3/4: 64bit dma addressing
	
	This large patch adds support for using 64bit addressing.
	
	Special thanks goes to Mike Anderson who did the initial
	versions of this patch.

<David_Jeffery@adaptec.com>
	[PATCH] ips driver 4/4: error messages
	
	This small patch does 2 things.  It reworks the firmware/driver
	versioning messages to make them more understandable, and it
	fixes one case where the 64bit addressing changes caused
	error/success to not be properly reported to the serveraid tools.

<drow@nevyn.them.org>
	Add PTRACE_O_TRACEVFORKDONE and PTRACE_O_TRACEEXIT facilities.

<mingo@elte.hu>
	[PATCH] signal-fixes-2.5.59-A4
	
	this is the current threading patchset, which accumulated up during the
	past two weeks. It consists of a biggest set of changes from Roland, to
	make threaded signals work. There were still tons of testcases and
	boundary conditions (mostly in the signal/exit/ptrace area) that we did
	not handle correctly.
	
	Roland's thread-signal semantics/behavior/ptrace fixes:
	
	 - fix signal delivery race with do_exit() => signals are re-queued to the
	   'process' if do_exit() finds pending unhandled ones. This prevents
	   signals getting lost upon thread-sys_exit().
	
	 - a non-main thread has died on one processor and gone to TASK_ZOMBIE,
	   but before it's gotten to release_task a sys_wait4 on the other
	   processor reaps it.  It's only because it's ptraced that this gets
	   through eligible_child.  Somewhere in there the main thread is also
	   dying so it reparents the child thread to hit that case.  This means
	   that there is a race where P might be totally invalid.
	
	 - forget_original_parent is not doing the right thing when the group
	   leader dies, i.e. reparenting threads to init when there is a zombie
	   group leader.  Perhaps it doesn't matter for any practical purpose
	   without ptrace, though it makes for ppid=1 for each thread in core
	   dumps, which looks funny. Incidentally, SIGCHLD here really should be
	   p->exit_signal.
	
	 - one of the gdb tests makes a questionable assumption about what kill
	   will do when it has some threads stopped by ptrace and others running.
	
	exit races:
	
	1. Processor A is in sys_wait4 case TASK_STOPPED considering task P.
	   Processor B is about to resume P and then switch to it.
	
	   While A is inside that case block, B starts running P and it clears
	   P->exit_code, or takes a pending fatal signal and sets it to a new
	   value. Depending on the interleaving, the possible failure modes are:
	        a. A gets to its put_user after B has cleared P->exit_code
	           => returns with WIFSTOPPED, WSTOPSIG==0
	        b. A gets to its put_user after B has set P->exit_code anew
	           => returns with e.g. WIFSTOPPED, WSTOPSIG==SIGKILL
	
	   A can spend an arbitrarily long time in that case block, because
	   there's getrusage and put_user that can take page faults, and
	   write_lock'ing of the tasklist_lock that can block.  But even if it's
	   short the race is there in principle.
	
	2. This is new with NPTL, i.e. CLONE_THREAD.
	   Two processors A and B are both in sys_wait4 case TASK_STOPPED
	   considering task P.
	
	   Both get through their tests and fetches of P->exit_code before either
	   gets to P->exit_code = 0.  => two threads return the same pid from
	   waitpid.
	
	   In other interleavings where one processor gets to its put_user after
	   the other has cleared P->exit_code, it's like case 1(a).
	
	
	3. SMP races with stop/cont signals
	
	   First, take:
	
	        kill(pid, SIGSTOP);
	        kill(pid, SIGCONT);
	
	   or:
	
	        kill(pid, SIGSTOP);
	        kill(pid, SIGKILL);
	
	   It's possible for this to leave the process stopped with a pending
	   SIGCONT/SIGKILL.  That's a state that should never be possible.
	   Moreover, kill(pid, SIGKILL) without any repetition should always be
	   enough to kill a process.  (Likewise SIGCONT when you know it's
	   sequenced after the last stop signal, must be sufficient to resume a
	   process.)
	
	4. take:
	
	        kill(pid, SIGKILL);     // or any fatal signal
	        kill(pid, SIGCONT);     // or SIGKILL
	
	    it's possible for this to cause pid to be reaped with status 0
	    instead of its true termination status.  The equivalent scenario
	    happens when the process being killed is in an _exit call or a
	    trap-induced fatal signal before the kills.
	
	plus i've done stability fixes for bugs that popped up during
	beta-testing, and minor tidying of Roland's changes:
	
	 - a rare tasklist corruption during exec, causing some very spurious and
	   colorful crashes.
	
	 - a copy_process()-related dereference of already freed thread structure
	   if hit with a SIGKILL in the wrong moment.
	
	 - SMP spinlock deadlocks in the signal code
	
	this patchset has been tested quite well in the 2.4 backport of the
	threading changes - and i've done some stresstesting on 2.5.59 SMP as
	well, and did an x86 UP testcompile + testboot as well.

<markh@osdl.org>
	[PATCH] fix megaraid driver compile error
	
	This moves access of the host element to device since host has been
	removed from struct scsi_cmnd.

<drow@nevyn.them.org>
	Signal handling bugs for thread exit + ptrace

<colpatch@us.ibm.com>
	[PATCH] Broken CLEAR_BITMAP() macro
	
	The CLEAR_BITMAP() macro in include/linux/types.h is broken and doesn't
	round the bitmap size to the proper 'long' boundary.
	
	This fixes it by creating a macro BITS_TO_LONGS that just rounds a
	number of bits up to the closest number of unsigned longs.  This makes
	the DECLARE & CLEAR _BITMAP macros more readable and fixes the bug.

<elenstev@mesatop.com>
	[PATCH] Spelling fixes
	
	OK, here is the diff against 2.5.59-bk2, now up to 880 lines due to an
	additional misspelling which crept in the -bk2 snapshot.
	
	Fixes 'seperate' -> 'separate' and 'definate' -> 'definite'.
	
	Kernal codrs cna't spel.

<roland@redhat.com>
	[PATCH] Make sys_wait4() more readable
	
	I cleaned up sys_wait4; it was straightforward and I think a definite
	improvement.  While at it, I noticed that one of the races I fixed in the
	TASK_STOPPED case actually can happen earlier.  Between read_unlock and
	write_lock_irq, another thread could reap the process and make P invalid,
	so now I do get_task_struct before read_unlock and then the existing race
	checks catch all scenarios.
	
	Aside from the aforementioned race tweak, the code should be the same as
	in the previous patch (that Ingo and I have tested more thoroughly)
	modulo being moved into functions and some reformatting and comment
	changes.
	
	Oh, my old patch had one case where it failed to retake the read lock after
	a race bailout that I just noticed reading over it.  That's fixed too.
	
	These exit fixes were something I noticed incidentally and spent less time
	on than the signals changes.  Another few passes of eyeballs over them are
	certainly warranted.  (In particular, there are code paths like that one
	that check for specific races that have probably never been seen in
	practice, so those code paths have never run once.)

<akpm@digeo.com>
	[PATCH] revert extra sendfile security hook patch
	
	hm.  It seems that I sent this patch twice.
	
	After resyncing with your tree I go through and try to reapply all the sent
	patches, throwing out the ones which get a lot of rejects.  Just to make sure
	that everything got through OK.
	
	But it appears that that particular patch happily applied on top of itself,
	so I assumed it was not applied...

<Andries.Brouwer@cwi.nl>
	[PATCH] Remove dead code
	
	In struct char_dev the fields openers and sem are unused.
	The file char_dev.c claims that it is called differently.

<Andries.Brouwer@cwi.nl>
	[PATCH] Doc fix

<hch@sgi.com>
	[PATCH] fix leaks in vxfs_read_fshead()
	
	The Stanford checker disclose that vxfs_read_fshead was missing any
	unwinding in the error cases..

<fdavis@si.rr.com>
	[PATCH] 2.5.59 : drivers/media/video/bt856.c
	
	This fixes a bt856.c compile error.  The driver now compiles.  Its a
	straightforward patch and have emailed l-k and no objections have been
	reported.

<fdavis@si.rr.com>
	[PATCH] 2.5.59 : drivers/media/video/saa7185.c
	
	This patch to saa7185 to resolves buzilla bug #168 (compile error).  It
	has been sent to l-k and has received no objections.

<fdavis@si.rr.com>
	[PATCH] 2.5.59 : drivers/media/video/bt819.c
	
	This patch for bt819.c addresses buzilla bug #169 (compile error).

<anton@samba.org>
	[PATCH] missing include in pci-sysfs.c
	
	Add a missing include for those pesky S_IRUGO thingys.

<roland@redhat.com>
	[PATCH] exit_notify/do_exit cleanup
	
	Here is a cleanup moving the new pending thread signal check into
	exit_notify.
	
	I also made exit_notify and do_exit consistent in using the saved tsk
	variable instead of current, as most of do_exit already does.

<bdschuym@pandora.be>
	[BRIDGE]: update to new module scheme.

<jmorris@intercode.com.au>
	[IPV4]: Fix skb leak in inet_rtm_getroute.

<jmorris@intercode.com.au>
	[IPV6]: Fix skb leak in inet6_rtm_getroute.

<buytenh@gnu.org>
	[BRIDGE]: Update maintainership status.

<buytenh@gnu.org>
	[BRIDGE]: handle out-of-ports corner case.

<jmorris@intercode.com.au>
	[LSM]: networking hooks, kconfig bits.

<jmorris@intercode.com.au>
	[LSM]: Networking top-level socket operation hooks.

<jmorris@intercode.com.au>
	[LSM]: Networking socket SKB receive hook.

<jmorris@intercode.com.au>
	[LSM]: Networking AF_UNIX hooks.

<jmorris@intercode.com.au>
	[LSM]: Networking netlink socket capability hooks.

<elenstev@mesatop.com>
	[PATCH] Spelling fixes for consistent, dependent, persistent
	
	This fixes the following common misspellings and their variants.
	
	  consistant -> consistent
	  dependant  -> dependent
	  persistant -> persistent

<roland@redhat.com>
	[PATCH] SA_NOCLDWAIT now supported - update comments
	
	This patch removes all the comments on the SA_NOCLDWAIT definitions,
	since SA_NOCLDWAIT is fully supported now.

<roland@redhat.com>
	[PATCH] do_sigaction locking cleanup
	
	This changes do_sigaction to avoid read_lock(&tasklist_lock) on every
	call.  Only in the fairly uncommon cases where it's really needed will
	it take that lock (which requires unlocking and relocking the siglock
	for locking order).
	
	I also changed the ERESTARTSYS added in my earlier patch to ERESTARTNOINTR.
	That is an "instantaneous" case, and there is no reason to have it possibly
	return EINTR if !SA_RESTART (which AFAIK sigaction never could before, and
	it might not be kosher by POSIX); rollback is always better.

<akpm@digeo.com>
	[PATCH] Fix possible uninitialised variable in vma merging code
	
	Spotted by davem.  Strange that it ever worked.  Don't know why the compiler
	didn't warn...

<torvalds@home.transmeta.com>
	Don't special-case SIGKILL/SIGSTOP - the blocking masks should
	already take care of it.
	
	This fixes kernel threads that _do_ block SIGKILL/STOP.

<torvalds@home.transmeta.com>
	Split up "struct signal_struct" into "signal" and "sighand" parts.
	
	This is required to get make the old LinuxThread semantics work
	together with the fixed-for-POSIX full signal sharing. A traditional
	CLONE_SIGHAND thread (LinuxThread) will not see any other shared
	signal state, while a new-style CLONE_THREAD thread will share all
	of it.
	
	This way the two methods don't confuse each other.

<cw@f00f.org>
	[PATCH] signal locking update
	
	Accomodate the signal locking moving from "tsk->sig" to "tsk->sighand".

<roland@redhat.com>
	[PATCH] TASK_STOPPED wakeup cleanup
	
	For handle_stop_signal to do the special case for SIGKILL and have it
	work right in all SMP cases (without changing all the existing ptrace
	stops), it needs to at least set TIF_SIGPENDING on each thread before
	resuming it.
	
	handle_stop_signal addresses a related race for SIGCONT by setting
	TIF_SIGPENDING already, so having SIGKILL handled the same way makes
	sense.
	
	Now it seems pretty clean to have handle_stop_signal resume threads for
	SIGKILL, and have on SIGKILL special case in group_send_sig_info.
	
	There is also an SMP race issue with cases like do_syscall_trace, i.e.
	TASK_STOPPED state set without holding the siglock.  So I think
	handle_stop_signal should call wake_up_process unconditionally.

<kai@tp1.ruhr-uni-bochum.de>
	kbuild: Handle external SUBDIRS with modversions
	
	We need to collect a list of all modules during the recursive build. I used
	a "touch .tmp_versions/<path/to/module.ko>" to do so, which however doesn't
	work so well, when path/to isn't inside the kernel tree.
	  
	The best way to build external modules is currently using kbuild by saying
	"make SUBDIRS=/some/external/dir modules", which was thus broken. While this
	way is not all that optimal and I hope to come up with something better
	before 2.6, it works and should keep working, so this patch fixes the usage
	above.
	  
	Instead of touching files with the entire path added, we just create a
	<module>.mod file in $(MODVERDIR) now, and save the path to the module.ko 
	in it. Since module names are unique, a flat hierarchy is actually fine here.

<kai@tp1.ruhr-uni-bochum.de>
	kbuild: Warn on obsolete export-objs use
	
	Setting export-objs is not necessary anymore, so warn on encountering it 
	to prevent it from creeping back in ;)
	  
	Also, make the error when we find someone still using O_TARGET non-fatal,
	so that people sharing stuff between 2.4 and 2.5 don't have more hassle
	than necessary.

<perex@suse.cz>
	ALSA update
	  - cmipci driver cleanups (ac3 & surround)
	  - replaced snd_dma_residue() with snd_dma_pointer()
	  - GCC 3.3 warnings removal
	  - timer interface
	    - recoded using tasklet
	    - improved slave timer locking (should be much faster)
	    - added async support
	  - improved ioctl32 wrapper functions
	  - fixed Makefile problems (synth modules were build for not selected driver)
	  - AC97 codec
	    - improved SPSA control
	    - moved reset function outside the main init code
	    - improved ALC650 initialization
	  - USB driver
	    - added quirk for Roland XV-2020
	

<kai@tp1.ruhr-uni-bochum.de>
	kbuild: Modversions fix
	
	We're still using the old genksyms binary, that's why we have to 
	postprocess the output to convert it into a linker script - that
	postprocessing got confused by "__verify_write".
	
	Kick out the grep, do it all and correctly within sed.
	
	Bug reported by Thomas Molina.

<kai@tp1.ruhr-uni-bochum.de>
	kbuild: Add a bug trap for people playing with SUBDIRS too much
	
	If SUBDIRS is set manually on the command line, the contents of
	.tmp_versions are not deleted before descending and can accumulate
	stale entries. Print a warning if that case is detected, but deal with
	it gracefully.

<perex@suse.cz>
	ALSA update
	  - emu10k1 - fixed makefile to not build synth module when emu10k1 is not selected

<cw@f00f.org>
	[PATCH] missing sound include file
	
	Sound drivers need <linus/interrupt.h> for tasklets

<torvalds@home.transmeta.com>
	More signal handling fixups for the threaded signal fix upheavals.
	
	This fixes the signal code to not wake up threads with blocked signals,
	especially noticeable with kernel threads that may not be able to handle
	signals at all.
	
	We also don't unnecessarily wake processes in TASK_UNINTERRUPTIBLE.

<rmk@arm.linux.org.uk>
	[PATCH] Fix Alt-SysRQ-T status, and comment
	
	Fix wrong order of process status. It's
	
		#define TASK_RUNNING            0
		#define TASK_INTERRUPTIBLE      1
		#define TASK_UNINTERRUPTIBLE    2
		#define TASK_STOPPED            4
		#define TASK_ZOMBIE             8
		#define TASK_DEAD               16
	
	but SysRQ printout routines switch stopped and zombie around.
	
	So, for one more time, here's another mailing of the same patch to fix
	this brokenness.  In addition, fix the wrong comment in fs/proc/array.c

<akpm@digeo.com>
	[PATCH] Fix compile warning for 'sys_exit_group'
	
	sys_exit_group() doesn't return any value, and obviously cannot.
	
	So don't make the compiler unhappy about it by claiming it does.

<jamie@shareable.org>
	[PATCH] CONFIG_PREEMPT fix of do_debug()
	
	If CONFIG_PREEMPT is enabled, and the kernel is preempted just before
	do_debug() has a chance to save the debug register values, DR6 could be
	read from the wrong CPU.
	
	It is exactly the same problem as reading %cr2 in the page fault
	handler.  Same fix: make the handler a interrupt gate, and enable
	interrupts only once safe.

<jejb@raven.il.steeleye.com>
	Restore device command queue functionality
	
	The recent slab allocation changes mean that we no longer keep a
	permanent list of commands on the device_queue list.  However,
	certain pieces of SCSI code relied on being able to traverse this
	list to find details of all outstanding commands (the error handler
	being the prime example).  This code adds back a new dynamic cmd_list
	which keeps the list of commands currently allocated to the device.
	Since the list is dynamic, it is protected by a lock (list_lock).

<jejb@raven.il.steeleye.com>
	[SCSI] Migrate sim710 to 53c700 chip driver
	
	This should add synchronous support and Tagged Command Queueing.
	At the moment, it cuts down on the number of command line options,
	but we can add those back in later.
	
	This patch also migrates the driver to the new device model for
	both MCA and EISA.

<luben@splentec.com>
	[SCSI] add commands at the tail of cmd_list
	
	It's probably going to be a fifo, so it should be more efficient
	for taking them off again

<jejb@raven.il.steeleye.com>
	[SCSI] Remove 53c7,8xx since we have plenty of alternatives.
	
	We have 53c700.c and 53c7xx for the 7xx series and
	ncr53c8xx for the 720.  The sym53c8xx_2 covers all the 8xx chips.

<jejb@mulgrave.(none)>
	[SCSI] Add missing list head init of cmd_list

<perex@suse.cz>
	ALSA update
	  - moved inclusion of <linux/interrupt.h> from <sound/asound.h> to <sound/timer.h>
	  - pmac driver - removed beep stuff for 2.5 kernels
	  - USB driver - fixed compilation

<anton@samba.org>
	ppc64: update for signal changes

<anton@samba.org>
	ppc64: Fix nasty bug in cmpxchg where we would sign extend the old value.

<mingo@elte.hu>
	[PATCH] Lock session and group ID setting
	
	 - session-IDs and group-IDs are set outside the tasklist lock. This
	   causes breakage in the USB code. The correct fix is to do this:
	
	I introduced the bug with the new pidhash.

<mingo@elte.hu>
	[PATCH] lock group_send_sig_info() properly
	
	  - a read_lock(&tasklist_lock) is missing around the group_send_sig_info()
	    in send_sig_info().

<roland@redhat.com>
	[PATCH] zap_other_threads() needs tasklist_lock held

<mikulas@artax.karlin.mff.cuni.cz>
	[PATCH] simple EXT2 patch
	
	Do not crash on null pointer dereference, if cannot reread superblock.

<torvalds@home.transmeta.com>
	Make sigprocmask() available to kernel threads too, since a lot of
	them do want to temporarily block signals.
	
	Kernel users can also block signals that are normally unblockable
	to user space, ie SIGKILL and SIGSTOP.
	
	Make nfsd and autofs use the new interface, as an example to others. 

<torvalds@home.transmeta.com>
	Fix missing break, causing sigprocmask(SIG_SETMASK ...) to always
	return an error.
	
	Interestingly, nobody much seems to care. Apparently few programs
	check the error value.

<rusty@rustcorp.com.au>
	[PATCH] Documentation_Changes
	
	From:  Frank Davis <fdavis@si.rr.com>
	
	  this was already mentioned on l-k by ramune@net-ronin.org, but isn't in
	  2.5.59. Placing on the trivial queue for inclusion.

<rusty@rustcorp.com.au>
	[PATCH] Remove superflous 'either'
	
	From:  John Bradford <john@grabjohn.com>

<rusty@rustcorp.com.au>
	[PATCH] fix comment in module.c
	
	From:  John Levon <levon@movementarian.org>

<rusty@rustcorp.com.au>
	[PATCH] remove check_region from drivers_net_irda_irport.c
	
	From:  william stinson <wstinson@wanadoo.fr>
	
	  this patch for drivers/net/irda/irport.c IRDA driver removes one call
	  to check_region using request_region instead.  The patch also moves
	  the call to request_region to before the allocation of the driver
	  instance.

<rusty@rustcorp.com.au>
	[PATCH] parport_pc and !CONFIG_PNP
	
	From:  Geert Uytterhoeven <geert@linux-m68k.org>
	
	  parport_pc_pnp_driver is const if !CONFIG_PNP, while pnp_register_driver()
	  takes a non-const pointer as parameter.
	
	  An alternative fix is to change the prototype of the dummy
	  pnp_register_driver(), but this may affect other drivers.

<rusty@rustcorp.com.au>
	[PATCH] Change "char _version" to "char in drivers_lcs.c
	
	From:  Pablo Menichini <pablo@menichini.com.ar>

<rusty@rustcorp.com.au>
	[PATCH] add one help text to drivers_atm_Kconfig
	
	From:  Steven Cole <elenstev@mesatop.com>
	
	  Here is a help text from 2.4.21-pre4 Configure.help which is
	  needed in 2.5.59 drivers/atm/Kconfig.

<rusty@rustcorp.com.au>
	[PATCH] scripts_ver_linux
	
	From:  Frank Davis <fdavis@si.rr.com>
	
	     The ver_linux script is still using rmmod to determine
	  module-init-tools version. The following patch uses depmod,
	  which produces the appropriate result.

<rusty@rustcorp.com.au>
	[PATCH] Change "char _version" to "char in drivers_net_mac8390.c
	
	From:  Pablo Menichini <pablo@menichini.com.ar>

<rusty@rustcorp.com.au>
	[PATCH] add two help texts to drivers_i2c_Kconfig
	
	From:  Steven Cole <elenstev@mesatop.com>
	
	  Here are some help texts from 2.4.21-pre3 Configure.help which are
	  needed in 2.5.59 drivers/i2c/Kconfig.

<rusty@rustcorp.com.au>
	[PATCH] Remove compile warning from fs_xfs_support_move.c
	
	From:  Bob Miller <rem@osdl.org>
	
	  Include string.h to remove a compiler warning.

<rusty@rustcorp.com.au>
	[PATCH] make i2c-core driver_lock static
	
	From:  Muli Ben-Yehuda <mulix@mulix.org>
	
	  The i2c driver_lock is needlessly exported.
	  This makes it static.

<rusty@rustcorp.com.au>
	[PATCH] Memory leak in drivers_net_arlan.c (1)
	
	From:  Pablo Menichini <pablo@menichini.com.ar>

<rusty@rustcorp.com.au>
	[PATCH] RTC alarm and wildcards
	
	(Included in 2.4)
	From:  Paul Gortmaker <p_gortmaker@yahoo.com>
	
	  Summary: Wildcards in RTC alarm settings failed to work
	
	  Description:
	   The RTC has provision for wildcards when setting the alarm; to
	   use them you have to write a value higher than 0xc0 to the
	   appropriate hr/min/sec entry.  The driver used 0xff, which is
	   fine, but it mistakenly fed the 0xff through BIN_TO_BCD before
	   writing them (which is < 0xc0) and so wildcards didn't work.
	   (Thanks to Gerhard Kurz for reporting the bug.)

<rusty@rustcorp.com.au>
	[PATCH] fix typo of members name in drivers_mtd_ftl.c
	
	From:  Pablo Menichini <pablo@menichini.com.ar>

<rusty@rustcorp.com.au>
	[PATCH] Fix return code of init_module in drivers_net_arlan.c (2)
	
	From:  Pablo Menichini <pablo@menichini.com.ar>
	
	  	This patch returns correct error codes if init_modules fail.
	  Because of this, we can take the printks indicating the error as these
	  corrected error codes return miningfull information.

<rusty@rustcorp.com.au>
	[PATCH] Kill unused code
	
	From:  Pavel Machek <pavel@ucw.cz>
	
	  Second part of this patch never got in (and I was told it was not bug
	  in ASUS but in linux), so it is useless junk... Please apply,

<rusty@rustcorp.com.au>
	[PATCH] remove LinuxVersionCode from de4x5.h
	
	From:  Adrian Bunk <bunk@fs.tum.de>
	
	  drivers/net/tulip/de4x5.h in 2.5.54 contains a definition of
	  LinuxVersionCode. LinuxVersionCode isn't used and it's anyway obsoleted
	  by KERNEL_VERSION in version.h.

<rusty@rustcorp.com.au>
	[PATCH] nfs_write.c warning
	
	From:  William Lee Irwin III <wli@holomorphy.com>
	
	  This trivially corrects an unused variable warning in nfs/write.c:

<rusty@rustcorp.com.au>
	[PATCH] Squash unused function in fs_nfs_mount_clnt.c
	
	From:  David Gibson <david@gibson.dropbear.id.au>
	
	  is never used, so this patch removes it.

<rusty@rustcorp.com.au>
	[PATCH] fix spelling of kernel in arch_v850_kernel_mach.h
	
	From:  Steven Cole <elenstev@mesatop.com>
	
	  This fixes the only instance of "kernal" in 2.5.59.

<rusty@rustcorp.com.au>
	[PATCH] fix linewrap in Documentation_arm_SA1100_CERF
	
	[ Verified that no text changed with tr and cmp --RR ]
	From:  ookhoi@humilis.net
	
	  With this patch I tried to make Documentation/arm/SA1100/CERF more
	  readible by fixing the linewrap.

<rusty@rustcorp.com.au>
	[PATCH] swsusp: do not panic on bad signature with noresume
	
	From:  Pavel Machek <pavel@ucw.cz>
	
	  This patch makes kernel ignore bad signature on suspend device when
	  "noresume" is given, and cleans things up a little bit. Please apply,

<rusty@rustcorp.com.au>
	[PATCH] add six help texts to drivers_ide_Kconfig
	
	From:  Steven Cole <elenstev@mesatop.com>
	
	  Here are some help texts from 2.4.21-pre3 Configure.help which are
	  needed in 2.5.59 drivers/ide/Kconfig.

<rusty@rustcorp.com.au>
	[PATCH] add four help texts to drivers_char_watchdog_Kconfig
	
	From:  Steven Cole <elenstev@mesatop.com>
	
	  Here are some help texts from 2.4.21-pre3 Configure.help which are
	  needed in 2.5.59 drivers/char/watchdog/Kconfig.

<rusty@rustcorp.com.au>
	[PATCH] Change "char version" to initdata in drivers_net_tulip_de4x5.c
	
	From:  Pablo Menichini <pablo@menichini.com.ar>

<rusty@rustcorp.com.au>
	[PATCH] add two help texts to drivers_media_video_Kconfig
	
	From:  Steven Cole <elenstev@mesatop.com>
	
	  Here are some help texts from 2.4.21-pre3 Configure.help which are
	  needed in 2.5.59 drivers/media/video/Kconfig.

<rusty@rustcorp.com.au>
	[PATCH] Write with buffer>2GB returns broken errno (2)
	
	[ Acked by AKPM --RR ]
	From:  Kazuto MIYOSHI <miyoshi@hpc.bs1.fc.nec.co.jp>
	
	  On 64-bit platforms, issuing write(2) with buffer larger than
	  2GB will return -1 and broken errno (such as 2147483640)
	  Requested data itself is written correctly.
	
	  That is because generic_file_write() and other relating functions
	  store 'ssize_t written' into 'int err'. Written byte is trimmed to
	  int and then sign-extended to a negative ssize_t value, which
	  wrongly indicates an error.
	
	  (On 64bit platform, current glibc defines SSIZE_MAX as 'LONG_MAX')

<rusty@rustcorp.com.au>
	[PATCH] Change all <module>.o to .ko in Kconfig files
	
	From:  GertJan Spoelman <kl@gjs.cc>
	
	  OK, here is a new patch, I edited the old patch and took out the .ko's
	  so now the extension is trimmed instead.

<torvalds@home.transmeta.com>
	Create "wake_up_state()" macro that selectively wakes up processes only
	from certain states.
	
	This simplifies "default_wake_function()", and makes it possible for
	signal handling to wake up only the processes it _should_ wake up
	without races.

<torvalds@home.transmeta.com>
	Wake up a stopped task _after_ having marked the SIGCONT pending,
	so that there isn't any window for running before the signal
	handler has been invoced.

<elenstev@mesatop.com>
	[PATCH] Finish job of trimming ".o" module extension in Kconfig files
	
	Most of the instances of <module>.o in Kconfig files have had the ".o"
	extension trimmed.  This change came from GertJan Spoelman through Rusty
	"Trivial" Russell.
	
	However, there are a few files that didn't get trimmed.  This brings
	them line with the rest of the tree.

<torvalds@home.transmeta.com>
	Linux v2.5.60




to post comments


Copyright © 2003, Eklektix, Inc.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds