[LWN Logo]
[LWN.net]

	Release notes for v2.5.6-pre1



Summary of changes from v2.5.5 to v2.5.6-pre1
============================================

<kai@vaio.(none)> (02/02/10 1.248.8.1)
	Start new driver for HFC PCI based cards.

<rth@tigger.twiddle.net> (02/02/11 1.293.2.1)
	Use __devexit_p for binutils 2.12 (prerelease).

<rth@fidel.sfbay.redhat.com> (02/02/12 1.293.2.2)
	Makefile:
	  Add -msmall-data to CFLAGS.

<rth@fidel.sfbay.redhat.com> (02/02/12 1.293.2.3)
	Warning cleanup.

<rth@fidel.sfbay.redhat.com> (02/02/12 1.293.2.4)
	Update for the -K3 scheduler.

<rth@are.twiddle.net> (02/02/12 1.293.2.5)
	Fix typo in math-emu.  Patch from timball@tux.org.

<rth@fidel.sfbay.redhat.com> (02/02/13 1.293.9.1)
	Tidy spinlock address generation.

<jgarzik@rum.normnet.org> (02/02/14 1.331.8.2)
	Add board id to via-rhine net driver, for board added in
	previous revision (thus fixing the build).

<rth@fidel.sfbay.redhat.com> (02/02/14 1.331.7.3)
	Follow mingo's scheduling changes for x86.

<kai@tp1.ruhr-uni-bochum.de> (02/02/16 1.342.5.1)
	ISDN Config.help update
	
	Add Config.help entry for CONFIG_HISAX_MAX_CARDS.
	
	Contributed by Steven Cole.

<jgarzik@rum.normnet.org> (02/02/16 1.342.6.2)
	Merge new gigabit ethernet driver e1000, from Intel.
	
	Contributors: Christopher Leech @ Intel, Scott Feldman @ Intel

<kai@tp1.ruhr-uni-bochum.de> (02/02/16 1.342.5.2)
	ST5481 USB ISDN driver fix
	
	Fix typo introduced in the USB update.

<kai@tp1.ruhr-uni-bochum.de> (02/02/18 1.342.7.2)
	New driver for HFC PCI based ISDN cards
	
	This is the first working version.

<rth@are.twiddle.net> (02/02/19 1.342.1.3)
	From Ivan Kokshaysky <ink@jurassic.park.msu.ru>:
	Implement alpha xchg and cmpxchg for 8 and 16 bit quantities.

<rmk@flint.arm.linux.org.uk> (02/02/20 1.369.1.1)
	Correct filename comment in shark specific code

<rmk@flint.arm.linux.org.uk> (02/02/20 1.369.1.2)
	Update ARM syscall tables for new xattr functions

<rmk@flint.arm.linux.org.uk> (02/02/20 1.369.1.3)
	Fix buglet in ARM string functions

<rmk@flint.arm.linux.org.uk> (02/02/20 1.369.1.4)
	Fixup kdev_t changes in various ARM files

<rmk@flint.arm.linux.org.uk> (02/02/20 1.369.1.5)
	Add/remove <linux/config.h> includes as appropriate

<rmk@flint.arm.linux.org.uk> (02/02/20 1.369.1.6)
	Remove some uses of depreciated save_flags_cli() in favour of the more
	generic local_irq_save() where appropriate.  (None of these are ever
	going to be used on a SMP ARM machine).

<rmk@flint.arm.linux.org.uk> (02/02/20 1.369.1.7)
	Add more big endian support to ARM, specifically stat structures and
	checksum functions.

<rmk@flint.arm.linux.org.uk> (02/02/20 1.369.1.8)
	Compilation fix; missing close paren.

<jgarzik@mandrakesoft.com> (02/02/20 1.369.2.3)
	Merge new driver for 3Com 3C359 Tokenring Velocity XL adapter.
	
	Contributor: Mike Phillips @ Linux Token Ring Project

<mingo@elte.hu> (02/02/20 1.371)
	- export vmalloc_to_page().

<torvalds@home.transmeta.com> (02/02/20 1.369.2.4)
	Get rid of non-working and unused "uvirt_to_bus()".
	
	Fix up vmalloc_to_page() and callers (argument is a kernel
	virtual address ie should be a "void *")

<rmk@flint.arm.linux.org.uk> (02/02/20 1.369.1.9)
	Preempt support and fix ARM build for thread_info changes

<thockin@sun.com> (02/02/20 1.369.5.1)
	Link status detection fix for natsemi net driver.
	
	Apparently, the LSTATUS bit of BMSR latches low until a management read. 
	This causes ETHTOOL_GLINK to report no-link on the first read after the
	link is connected.  (damned QA people catch dumb stuff like this KNOWING
	I'll have to fix it).  This patch just forces GLINK to mdio_read() twice.

<miles@megapathdsl.net> (02/02/20 1.369.2.5)
	Update rivafb for kdev_t changes in early 2.5.x series.

<rmk@flint.arm.linux.org.uk> (02/02/20 1.369.1.10)
	Add extra ARM help texts to arch/arm/Config.help, update some other
	help texts.

<rmk@flint.arm.linux.org.uk> (02/02/20 1.369.1.11)
	Documentation for user space ARM alignment trap handler describing
	its modes of operation.

<rmk@flint.arm.linux.org.uk> (02/02/20 1.369.1.12)
	Fix a bug where a user-generated unaligned load could read or write kernel
	data.

<elenstev@mesatop.com> (02/02/20 1.369.6.2)
	Correct typo in pcmcia net drivers help text.

<elenstev@mesatop.com> (02/02/20 1.369.6.3)
	Add some missing help texts to drivers/net/Config.help.

<EdV@macrolink.com> (02/02/20 1.369.2.6)
	This patch corrects PCI device id in pci_ids.h for Oxford Semi OX16PCI952
	PCI/dual 16950 UART chip, and adds this entry to pci.ids.  I downloaded the
	datasheet today and verified that 9521 is the correct device id.

<mikep@linuxtr.net> (02/02/20 1.369.6.4)
	Janitor patch for olympic tokenring driver, to replace the
	save_flags/cli/restore flags sequence with spin_locks.

<greg@kroah.com> (02/02/20 1.369.7.2)
	usb uhci.c:
		- added usb_get_urb() and usb_put_urb() logic

<greg@kroah.com> (02/02/20 1.369.7.3)
	usb usb-ohci.c:
		- added usb_put_urb() and usb_get_urb() logic

<greg@kroah.com> (02/02/20 1.369.7.4)
	usb usb-uhci.c:
		- added usb_put_urb() and usb_get_urb() logic.

<martin@mdiehl.de> (02/02/20 1.369.7.5)
	usb hub:
		- fix problem with us not delaying for any ammount of time after a new device
		  has been powered up, as the USB spec indicates should happen.

<johannes@erdfelt.com> (02/02/20 1.369.7.6)
	[PATCH] uhci.c, one more toggle fix
	 
	This patch fixes another toggle bug and reverts the previous bogus
	patch which caused compile warnings.
	
	It also adds a quick comment explaining the criteria.
	
	JE

<johannes@erdfelt.com> (02/02/20 1.369.7.7)
	[PATCH] uhci.c, interrupt unlink in completion
	
	This patch fixes a bug where an interrupt URB is unlinked in the drivers
	completion handler and we'll try to resubmit it anyway.

<johannes@erdfelt.com> (02/02/20 1.369.7.8)
	[PATCH] uhci.c, fix pci dma ordering issue
	
	There was a bug where we unmap the PCI DMA mapping and then sync the
	data afterwards. This reverses the ordering as well as insures we don't
	unmap the region more than once.

<johannes@erdfelt.com> (02/02/20 1.369.7.9)
	uhci.c didn't work well with USB storage. It would tend to stall
	relatively quickly and sometimes locked up the system. It usually only
	took me a couple of tries ripping a CD to reproduce the problem.
	
	I took a long hard look at the locking in uhci.c and decided to clean
	it up, fixing a couple of bugs along the way as well as documenting the
	locking strategy.
	
	With this patch applies, where I could only rip a CD a couple of times
	before causing problems, I was able to rip a CD 12,000 times in a row
	successfully, before I stopped it. Not a single error :)

<greg@kroah.com> (02/02/20 1.369.7.10)
	usb config.help:
		- removed an unneeded header.  Thanks to Jeff Garzik for pointing this out.

<greg@kroah.com> (02/02/20 1.369.7.11)
	usb vicam driver:
		- compile time fixes

<mmcclell@bigfoot.com> (02/02/20 1.369.7.12)
	usb ov511 driver:
		- update to version 1.49
		  (with a bit of merge foo from greg)

<jt@hpl.hp.com> (02/02/21 1.369.6.5)
	Update (ancient) wireless net drivers netwave_cs, wavelan,
	and wavelan_cs to new wireless API.

<jgarzik@mandrakesoft.com> (02/02/21 1.369.6.6)
	Update wireless net drivers wavelan and wavelan_cs to directly
	use spin_[un]lock_irq{save,restore}, instead of defining static
	inline functions to do the same thing (but possibly in a non-portable
	way).

<mingo@elte.hu> (02/02/21 1.373)
	cleanups, speedups and fixes. Added support for non-current set_cpus_allowed().

<mingo@elte.hu> (02/02/21 1.374)
	- make i_mmap and i_mmap_shared a list.h list
	-
	 make vma->vm_next_share and vma->vm_pprev_share
	  a proper list.h list as well.

<torvalds@penguin.transmeta.com> (02/02/21 1.369.1.15)
	make rd.c compile again

<Andries.Brouwer@cwi.nl> (02/02/21 1.369.1.16)
	[PATCH] imm.c
	
	2.5.5 Oopses at boot time with a disk in a zipdrive.
	With this patch all is fine. I have not read the
	patch, certainly not checked it for correctness,
	just observed that it works for me.
	I think the author is Rich Baum.
	
	Andries

<reiser@namesys.com> (02/02/21 1.369.1.17)
	[PATCH] 2.5 dropping unneded lock precense check.
	
	After BKL was moved from the VFS into the filesystem's methods in the lookup
	call, we do not need to check BKL is actually held (we know it is not).
	This patch patch removes unneeded lock_depth check.
	Without this patch reiserfs cannot be used on SMP.

<Ballabio_Dario@emc.com> (02/02/21 1.369.1.18)
	[PATCH] PATCH: scsi driver update for 2.5.5
	
	Here enclosed patch for eata.c, eata.h, u14-34f.c, u14-34f.h
	to be applied to lk-2.5.5.
	
	eata.c:
	       + Remove any reference to virt_to_bus().
	       + Fix pio hang while detecting multiple HBAs.
	       + Fixed a board detection bug: in a system with
	         multiple ISA/EISA boards, all but the first one
	          were erroneously detected as PCI.
	
	u14-34f.c:
	       + Remove any reference to virt_to_bus().
	       + Fix pio hang while detecting multiple HBAs.

<hirofumi@mail.parknet.co.jp> (02/02/21 1.369.1.19)
	[PATCH] Insufficient validity check of fat_read_super() <2>
	
	This patch add the validity check of 2 values (fats, reserved). These
	values must not be 0.
	
	OGAWA Hirofumi <hirofumi@mail.parknet.co.jp>

<rml@tech9.net> (02/02/21 1.369.1.20)
	[PATCH] proper lseek locking in ALSA, take 3
	
	The attached patch implements proper locking in ALSA lseek methods.
	Note ALSA has 3 lseek implementations, but only:
	
		sound/core/info.c :: snd_info_entry_llseek()
	
	requires locking.  I wrapped the function in the BKL.  According to
	Jaroslav Kysela the gus_mem_proc method is only called from above.  The
	third lseek, in hwdep.c, clearly doesn't need locking.  Without this
	patch, the above lseek is not safe.
	
		Robert Love

<rml@tech9.net> (02/02/21 1.369.1.21)
	[PATCH] add lseek changes to fs porting guide
	
	Al updated Documentation/filesystems/porting with 2.5 changes but there
	is no mention of lseek.  The following patch, against 2.5.5, adds lseek
	to the list of functions that no longer are called with the BKL.
	
		Robert Love

<akpm@zip.com.au> (02/02/21 1.369.1.22)
	[PATCH] .text.exit linkage errors
	
	A forward-port of all the .text.exit fixes which went into
	2.4.   Also contains a couple of s/MINOR/minor/ changes.

<andersg@0x63.nu> (02/02/21 1.369.1.24)
	[PATCH] missing chunk in lvm-fixes in 2.5.5
	
	the lvm-patch that went into 2.5.5 missed the changes in lvm.h and is
	still not compileable. This patch adds those changes. The kernel i'm
	running right now has this patch and /var and /home on lvm.

<mingo@elte.hu> (02/02/23 1.376)
	
	- new, less intrusive and faster migration method:
	
	/*
	 * This is how migration works:
	 *
	 * 1) we queue a migration_req_t structure in the source CPU's
	 *    runqueue and wake up that CPU's migration thread.
	 * 2) we down() the locked semaphore => thread blocks.
	 * 3) migration thread wakes up (implicitly it forces the migrated
	 *    thread off the CPU)
	 * 4) it gets the migration request and checks whether the migrated
	 *    task is still in the wrong runqueue.
	 * 5) if it's in the wrong runqueue then the migration thread removes
	 *    it and puts it into the right queue.
	 * 6) migration thread up()s the semaphore.
	 * 7) we wake up and the migration is done.
	 */

<mingo@elte.hu> (02/02/23 1.377)
	- cleanup patch from Hugh Dickins, fix up drivers to use vmalloc_to_page() instead of local hacks of uvirt_to_kva(). (and related fixes.)

<viro@math.psu.edu> (02/02/25 1.375.1.1)
	[PATCH] Re: [BUGFIX] handling bad inodes in 2.4.x kernels (fwd)
	
	here's much simpler fix (both 2.4 and 2.5):

<torvalds@penguin.transmeta.com> (02/02/25 1.379)
	Update kernel version and defconfig

<viro@math.psu.edu> (02/02/25 1.380)
	[PATCH] (1/3) fs/super.c cleanups
	
	* missing yield() added to grab_super() (on failure exit).  Without
	  that we have a nasty race - if get_sb_bdev() happens just before
	  we grab ->s_umount in kill_super(), we are going to have
	  get_sb_bdev() spinning indefinitely long without yielding CPU,
	  so that kill_super() could make progress (and break the loop).
	
	* in kill_super() code that does actual superblock shutdown is
	  wrapped in if (sb->s_root) {}.  That condition is true for
	  all old callers of kill_super(), so we don't change existing
	  behaviour.
	
	* instances of deactivate_super()/remove_super() (after failed
	  call of foo_fill_super()) are replaced with
		up_write(&s->s_umount);
		kill_super(s);
	  - now it becomes legitimate (kill_super() works on such guys and
	  does exactly what we want).

<viro@math.psu.edu> (02/02/25 1.381)
	[PATCH] (2/3) fs/super.c cleanups
	
	Now remove_super() is called only from kill_super().  We move
	the code that closes device/drops reference to filesystem type
	from remove_super() into its caller.

<viro@math.psu.edu> (02/02/25 1.382)
	[PATCH] (3/3) fs/super.c cleanups
	
	Preparation to adding new method:
	 new helper - shutdown_super().  It is cut from kill_super() and
	 it had absorbed all actions done with superblock contents -
	 now kill_super(s) is simply
	
		struct file_system_type *fs = s->s_type;
		if (!deactivate_super(s))
			return;
			shutdown_super(s);
		put_filesystem(fs);
	
	 and shutdown_super() is going to become a method.

<viro@math.psu.edu> (02/02/25 1.384)
	[PATCH] net/wanrouter/wan{proc,main}.c crapectomy
	
		Patch below does the following:
	
	*	removes dead code from wanproc.c.   When file looks like
	#ifdef LINUX_2_4
	<800 lines>
	#else
	<900 lines>
	#endif
		there's no excuse for keeping all that junk around.
	*	switches wanproc.c to use of seq_file
	*	removes dead code from wanmain.c (again, dead == never seen by cc1).
	*	fixes indentation in both
	*	removes buttloads of trailing spaces in these files, while we are
		at it.
	
	See if it's OK with you...

<rusty@rustcorp.com.au> (02/02/25 1.385)
	[PATCH] 2.5.5 Trivial patch: fs/file.c comment
	
	[Alan: also applies to 2.2.x]
	
	William Stearns: linux/fs/file.c comment fix

<mingo@elte.hu> (02/02/25 1.377.1.1)
	migration threads should sleep interruptible.

<viro@math.psu.edu> (02/02/25 1.386)
	[PATCH] ->d_parent fixes
	
	Protect d_parent with "dparent_lock", making ready to get rid of
	BKL for d_move().

<viro@math.psu.edu> (02/02/25 1.387)
	[PATCH] final ->d_parent fixes
	
	OK, here's ->d_parent stuff unrelated to printk.  Looking into printk
	right now...

<torvalds@penguin.transmeta.com> (02/02/26 1.389)
	Enable parport by default on x86

<davej@suse.de> (02/02/26 1.390)
	[PATCH] kdev_t search/replaces.
	
	First batch of various kdev_t related changes that have accumulated on
	linux-kernel, and some that got sent directly to me after you dropped them.
	
	Some of these need additional fixes to make them work, Some of them
	even to make them compile, but this is one step forward..
	
	I have bio-related fixes for some of these also, I'll push those seperately.

<davej@suse.de> (02/02/26 1.391)
	[PATCH] Support /dev/kmem access to vmalloc space (Marc Boucher)
	
	From 2.4.17

<davej@suse.de> (02/02/26 1.392)
	[PATCH] Numerous address updates.
	
	Updated maintainers list from Ingo's last ping,
	various changed email addresses in code headers.

<davej@suse.de> (02/02/26 1.393)
	[PATCH] un'fix' NCR scsi driver.
	
	Linus,
	 Current driver in your tree has been 'fixed' by someone without
	understanding just how broken it was. Numerous fixes were done in 2.4
	after the 2.5 split by Alan.
	
	This patch reverts the damage the driver does in your tree, and brings
	Alan's 2.4 bits over instead. Downside: It doesn't compile.
	Upside: It doesn't pretend to work and corrupt data, and at least
	is the right base for people to start fixing.

<davej@suse.de> (02/02/26 1.394)
	[PATCH] later DMI scan.
	
	This moves the dmi scan to an earlier stage so that we can trap issues
	such as the various laptops that don't like enabling APIC.
	It's likely to be useful for trapping other similar early-boot problems.
	Originally by Mikael Pettersson

<torvalds@penguin.transmeta.com> (02/02/26 1.395)
	Don't be so verbose about normal lack of modprobe

<perex@suse.cz> (02/02/26 1.396)
	[PATCH] Patch - sharing RTC timer between kernel and user space (2nd)
	
	This patch to allow using of RTC timer inside the kernel space.  We can
	use the RTC timer as timing source for ALSA sequencer. Patch by Takashi.
	
	The patch adds these three functions and one structure to rtc.h and
	rtc.c:
	
	typedef struct rtc_task {
	       void (*func)(void *private_data);
	       void *private_data;
	} rtc_task_t;
	
	int rtc_register(rtc_task_t *task);
	int rtc_unregister(rtc_task_t *task);
	int rtc_control(rtc_task_t *t, unsigned int cmd, unsigned long arg);
	
						Jaroslav

<perex@suse.cz> (02/02/26 1.397)
	[PATCH] ALSA patch for 2.5.5
	
	- added support for KERN_ prefixes for snd_printk
	- verbose printk (file:number) is now optional
	- fixed devfs OSS device names in soundcore
	- added XRUN ioctl for PCM API
	- improved support for Sound Blaster Audigy
	- fixed AC3 forwarding for Sound Blaster Live!
	- more fixes in dependencies in Makefiles
	- llseek locking fixes for sound/core/info.c
	- fixed ISA DMA allocation
	- added wait() callback for ac97_codec.c and VIA686 driver
	- CMIPCI driver updates
	- added AMD-8111 support for Intel8x0