ChangeSet@1.2148.1.13, 2004-12-07 18:35:14-08:00, torvalds@ppc970.osdl.org Revert recent ext3_dx_readdir changes They turn out to be buggy, and result in the same filename being reported twice when htree directory indexing is enabled. Thanks for Kris Karas for helping chase it down. Also reported by Holger Kiehl. Cset exclude: akpm@osdl.org[torvalds]|ChangeSet|20041108040801|49372 ChangeSet@1.2150, 2004-12-07 19:23:59-05:00, dougg@torque.net [PATCH] off-by-1 libata-scsi INQUIRY VPD pages 0x80 and 0x83 I have some code (in sginfo) that requests the first 4 bytes of SCSI INQUIRY VPD pages to get their length then asks for that exact length in a follow up request to fetch the payload. Just like I saw with 36 byte standard INQUIRYs (no fixed) I get a buffer full or zeroes. BTW SCSI standards dictate that in situations where the allocation length (in the cdb) is less than what is needed that what can be sent shall be sent (i.e. truncated and without any error indication or modification to the part of the response returned). In other words it is up the the application client to take remedial action. Changelog: - fix off-by-1 allocation length issue with SCSI INQUIRY VPD pages 0x80 and 0x83 Signed-off-by: Jeff Garzik ChangeSet@1.2148.1.12, 2004-12-07 16:23:27-08:00, kraxel@bytesex.org [PATCH] msp3400 quick fix The new "simpler" opmode added by the recent merge from ivtv breaks msp3400 support for other tv cards. Not figured yet why. This patch disables the "simpler" mode by default (can still be enabled by insmod option) as quick fix for 2.6.10. Signed-off-by: Gerd Knorr Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.2148.1.11, 2004-12-07 16:23:12-08:00, hunold@linuxtv.org [PATCH] dvb: follow changes in dvb-ttpci and budget drivers - [DVB] dvb-ttpci, budget: updated to fix problems with some CAMs on KNC1 cards - [DVB] dvb-ttpci, budget: make needlessly global code static, whitespace and newline cleanups, thanks to Adrian Bunk - [DVB] dvb-ttpci, budget: follow frontend changes in driver - [DVB] dvb-ttpci, budget: fix drivers to use new wait_for_debi_done(...,nobusywait) routine. Signed-off-by: Michael Hunold Signed-off-by: Adrian Bunk Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.2148.1.10, 2004-12-07 16:22:59-08:00, hunold@linuxtv.org [PATCH] dvb: remove dead files - [DVB] remove obsolete grundig_29504-401, grundig_29504-491, alps_tdlb7 and alps_tdmb7 frontend drivers - [DVB] remove sp887x firmware file, it's unused thanks to firmware_class Signed-off-by: Michael Hunold Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.2148.1.9, 2004-12-07 16:22:44-08:00, hunold@linuxtv.org [PATCH] dvb: core changes - [DVB] dvb-core: follow Linux coding style, kill dvb_ksyms.c and move the EXPORT_SYMBOLs to the files where the functions are, thanks to Adrian Bunk - [DVB] dvb-core: #if 0'ing unused code, make needlessly global code static, whitespace and newline cleanups, thanks to Adrian Bunk - [DVB] dvb_ca_en50221.c: support for KNC1/Cinergy CI modules, fix segfaults, enhanced poll_slot_status to support non-IRQ interfaces, Fix module usage count problem - [DVB] dvb-frontend.c: core changes to support the refactorized frontend drivers Signed-off-by: Michael Hunold Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.2148.1.8, 2004-12-07 16:22:31-08:00, hunold@linuxtv.org [PATCH] dvb: dibusb driver update - [DVB] dibusb: added remote control event handling, thanks to David Matthews. - [DVB] dibusb: added support for special Artec devices (with AN2235 usb controller) - [DVB] dibusb: enable several new devices (even the broken Artec T1) - [DVB] dibusb: #if 0'ing unused code - [DVB] dibusb: follow frontend changes Signed-off-by: Michael Hunold Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.2148.1.7, 2004-12-07 16:22:17-08:00, hunold@linuxtv.org [PATCH] dvb: Cinergy T2 update - [DVB] cinergyT2: update driver to exploit hardware capabilities Signed-off-by: Michael Hunold Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.2148.1.6, 2004-12-07 16:22:05-08:00, hunold@linuxtv.org [PATCH] dvb: follow frontend changes in drivers - [DVB] dvb-ttusb-dec, dvb-ttusb-budget, skystar2, bt878 + dvb-bt8xx: follow frontend changes in driver - [DVB] DST isn't a real frontend, it's an interface to a frontend microcontroller, so move the hardware dependend stuff to the right place Signed-off-by: Michael Hunold Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.2148.1.5, 2004-12-07 16:20:46-08:00, hunold@linuxtv.org [PATCH] dvb: saa7146 changes - [DVB] saa7146_core.c, saa7146_video.c: MODULE_PARM -> module_param, added non-busy waiting option for saa7146_wait_for_debi_done(), make needlessly global code static and remove unused code (thanks to Adrian Bunk ) Signed-off-by: Michael Hunold Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.2148.1.4, 2004-12-07 16:20:33-08:00, hunold@linuxtv.org [PATCH] dvb: frontend driver refactoring - [DVB] reafactor or add the following frontend drivers: at76c651, cx22700, ves1x93, ves1820, tda80xx, tda8083, cx22702, tda1004x, tda10021, cx24110, dvb_dummy_fe, l64781, mt312, mt352, stv0299, sp887x, stv0297, nxt6000, sp8870 - [DVB] remove dib3000mb from frontends, it's handled by the hw dependent driver now Signed-off-by: Michael Hunold Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.2148.1.3, 2004-12-07 16:19:51-08:00, hunold@linuxtv.org [PATCH] dvb: collateral frontend changes - [DVB] get_dvb_firmware: rework to reflect new frontend design, added additional firmware location - [DVB] Kconfig and Makefile changes all over the place, remove Makefile.lib Signed-off-by: Michael Hunold Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.2148.1.2, 2004-12-07 16:19:34-08:00, hunold@linuxtv.org [PATCH] dvb: documentation update Start of a big DVB update. The reasons for revamping the DVB frontend architecture: Just as analog TV cards, DVB cards need some sort of tuner to tune to the desired frequency of the digital transponder. Tuning alone doesn't give you a digital DVB datastream, however, you need a demodulator as well. The combination of tuner and demodulator is called frontend in the DVB world. Tuner and demodulator are both accessed via the serial i2c bus on all DVB cards out there. So, technically a frontend consists of two i2c helper chipsets. In former times when there was only a handful of different DVB cards, the frontend was encapsulated in one tin box. Some people had the idea that there should be one "frontend driver" instead of dedicated tuner and demodulator drivers. A bad idea. As time went on, different manufacturers used the same tuner and demodulator combination, but used a different wiring for the tuner or did other technical changes. The only possibility to support different cards with one combined frontend driver was to add hardware dependent tuner code inside the generic i2c frontend drivers. Yuck. So there was a need for communication between the i2c frontend driver and the hardware depenedent driver, for example to exchange initialization code for the tuner. Unfortunately, the i2c infrastructure is one way, from the i2c client to the i2c adapter using a non-typesafe ioctl() like interface, which is ugly by itself. Greg K-H and others refused the idea to add an iotctl() like interface from the i2c adapter to the i2c client and instead proposed to use a typesafe interface instead. We all agreed with that. The existing i2c infrastructure heavily depends on the probing facility, ie. clients probe for their existence on i2c busses. This is dumb for most i2c busses out there that sit on dedicated hardware. A DVB card is uniquely identified with pci or usb subvendor and subsystem ids, so on that particular bus we exactly *know* which kinds of i2c helper chipsets sit on there. Up to now this wasn't a problem, because we could fix all conflicts manually until half a year ago. By that date, we found two different DVB designs which used different demodulators that unfortunately use the same i2c address and which cannot be distinguished by hardware tricks (ie. different number of registers, some fixed hw dependent register,...) Getting a usable DVB card depended on the load order of the modules, because the i2c core probed the demodulator drivers one after another and the first one won the race. Compiling all drivers statically into the kernel resulted in non-working cards. Our solution is as follows: we agreed to keep the basic underlying kernel i2c infrastructure, but we decided not to register our bussed and chipsets to the kernel i2c "probing" infrastructure. Instead, we killed the tuner parts of the frontend drivers and put them into the dedicated hardware drivers (this is were they technically belong, they are highly hardware dependent) and we changed the frontend drivers to pure demodulator drivers (which are hardware independend). There is now a type-safe functional dependency between the drivers and the demodulator drivers, the drivers explicitely ask the demodulator drivers to attach to their i2c bus. The only negative aspect of that approach is that for some hardware there are now more dependencies to demodulator drivers than needed, ie. a small amount of memory is wasted. This patch: - [DVB] cards.txt: added the USB devices to the card-list - [DVB] README.dibusb: follow changes in dibusb-driver Signed-off-by: Michael Hunold Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.2148.1.1, 2004-12-07 16:08:40-08:00, torvalds@ppc970.osdl.org Revert double patch application. Heh. usually these come through Andrew, but this time it was all me. Noted by BenH. Cset exclude: paulus@samba.org[torvalds]|ChangeSet|20041207181541|44524 ChangeSet@1.2149, 2004-12-07 18:54:34-05:00, jgarzik@pobox.com [libata] only DMA map data for DMA commands (fix >=4GB bug) libata made the assumption that (for PIO commands in this case) it could modify DMA memory at the kernel-virtual address, after mapping this. This is incorrect, and fails on e.g. platforms that copy DMA memory back and forth (swiotlb on Intel EM64T and IA64). Remove this assumption by ensuring that we only call the DMA mapping routines if we really are going to use DMA for data xfer. Also: remove a bogus WARN_ON() in ata_sg_init_one() which caused bug reports (but no problems). ChangeSet@1.2148, 2004-12-07 10:16:09-08:00, Andries.Brouwer@cwi.nl [PATCH] restore BLKRRPART semantics In 2.6.8 the code for the BLKRRPART ioctl was changed to return EIO when no partitions were found, such as on an empty disk. This breaks some partitioning programs and is also confusing: "Input/Output error" while in fact nothing was wrong with this brand new all blank disk. This restores old behaviour. ChangeSet@1.2147, 2004-12-07 10:15:54-08:00, alan@lxorguk.ukuu.org.uk [PATCH] Intel/Cyrix typo Self explanatory.. Based on a report on l/k Signed-off-by: Alan Cox Signed-off-by: Linus Torvalds ChangeSet@1.2146, 2004-12-07 10:15:41-08:00, paulus@samba.org [PATCH] PPC64 Close firmware stdin We recently found a problem that was causing memory corruption during boot on IBM POWER5 machines. The problem was that the if you have a USB keyboard and it is set to the input device for the firmware, it will still be active when the kernel is started. That means that the OHCI controller has pointers to various memory areas that it polls for transfers to do. When we start using that same memory in the kernel, bad things can happen. (This isn't a problem on powermacs because the Apple OF implements a "quiesce" call which turns off all the devices it is using.) This patch fixes the problem by calling the Open Firmware "close" method for the input device. Stephen Rothwell and I have verified that doing this fixes the problem on the POWER5 machine where we observed it. I verified that this patch doesn't cause any problems on powermacs. I think this patch should go into 2.6.10 since it fixes a nasty memory corruption bug that can cause rather subtle and hard-to-diagnose problems during boot. (The symptom on the POWER5 machine with the particular kernel that we were using was that reading /proc/net/tcp would oops, due to one of the pointers in tcp_ehash being corrupted.) Signed-off-by: Paul Mackerras Signed-off-by: Linus Torvalds ChangeSet@1.2145, 2004-12-07 08:07:09-08:00, kernel-stuff@comcast.net [PATCH] ohci1394.c - Correct kmalloc usage in interrupt alloc_dma_rcv_ctx is called in interrupt and Kernel Spinlock debugging code cribs about it via "Debug: sleeping function called in interrupt context". See sample stack traces below. The patch below corrects ohci1394.c to use GFP_ATOMIC instead of GFP_KERNEL. Tested to work fine with 2 different Camcorder devices for fairly long periods and connect/disconnects. Signed-off-by: Parag Warudkar Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.2144, 2004-12-07 08:06:56-08:00, tiwai@suse.de [PATCH] alsa: fix iomem mmap The patch adds the definition vm_private_data again to snd_pcm_lib_mmap_iomem(). It got lost during the rewrite of the mmap stuff. Signed-off-by: Martin Langer Signed-off-by: Takashi Iwai Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.2143, 2004-12-07 08:06:43-08:00, tiwai@suse.de [PATCH] alsa: add pci_disable_device() to removal and error paths pci_disable_device() is called properly in the removal and error paths. Also, the pci_set_master() is added to the resume callbacks if missing (just to be sure). Signed-off-by: Takashi Iwai Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.2142, 2004-12-07 08:06:26-08:00, tiwai@suse.de [PATCH] alsa: fix sleep in atomic during prepare callback Fixed the sleep in spinlock during prepare callback. This happened only on Nforce chips. Signed-off-by: Takashi Iwai Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.2141, 2004-12-07 08:06:13-08:00, trini@kernel.crashing.org [PATCH] ppc32: fix Motorola PReP (PowerstackII Utah) PCI IRQ map The PCI IRQ map for the old Motorola PowerStackII (Utah) boards was incorrect, but this breakage wasn't exposed until 2.5, and finally fixed until recently by Sebastian Heutling . Signed-off-by: Christian Kujau Signed-off-by: Tom Rini Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.2140, 2004-12-07 08:06:01-08:00, mike.miller@hp.com [PATCH] cciss: cciss_ioctl return code fix This patches fixes the return code from cciss_ioctl. Without this some block layer (BLK*) ioctls do not work. Thanks to Jens Axboe for pointing this out. Signed-off-by: Mike Miller Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.2139, 2004-12-07 08:05:47-08:00, paulus@samba.org [PATCH] PPC64: close firmware stdin We recently found a problem that was causing memory corruption during boot on IBM POWER5 machines. The problem was that the if you have a USB keyboard and it is set to the input device for the firmware, it will still be active when the kernel is started. That means that the OHCI controller has pointers to various memory areas that it polls for transfers to do. When we start using that same memory in the kernel, bad things can happen. (This isn't a problem on powermacs because the Apple OF implements a "quiesce" call which turns off all the devices it is using.) This patch fixes the problem by calling the Open Firmware "close" method for the input device. Stephen Rothwell and I have verified that doing this fixes the problem on the POWER5 machine where we observed it. I verified that this patch doesn't cause any problems on powermacs. I think this patch should go into 2.6.10 since it fixes a nasty memory corruption bug that can cause rather subtle and hard-to-diagnose problems during boot. (The symptom on the POWER5 machine with the particular kernel that we were using was that reading /proc/net/tcp would oops, due to one of the pointers in tcp_ehash being corrupted.) Signed-off-by: Paul Mackerras Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.2138, 2004-12-07 08:05:35-08:00, shaohua.li@intel.com [PATCH] eepro100 resume failure Fix eepro100 driver suspend/resume issue. Signed-off-by: Li Shaohua Cc: Jeff Garzik Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.2137, 2004-12-07 08:05:21-08:00, axboe@suse.de [PATCH] cfq-iosched: bad accounting on non-fs requests Current cfq can cause hangs with non-fs requests, because the accounting goes bad. This fixes it. Signed-off-by: Jens Axboe Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.2136, 2004-12-07 08:05:08-08:00, geert@linux-m68k.org [PATCH] M68k: Update defconfigs for 2.6.10-rc3 M68k: Update defconfigs for 2.6.10-rc3 Signed-off-by: Geert Uytterhoeven Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.2135, 2004-12-07 08:04:56-08:00, romieu@fr.zoreil.com [PATCH] r8169: new PCI id The D-Link DGE-528T gigabit adapter is based on the 8169 chipset (reported by Andreas Tauscher , checked in the sources of a driver for this adapter). Signed-off-by: Francois Romieu Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.2134, 2004-12-07 08:04:43-08:00, sivanich@sgi.com [PATCH] isolcpus option fix The isolcpus option is broken in 2.6.10-rc2-bk2. The domains are no longer being properly initialized (which results in a panic at bootup). Signed-off-by: Dimitri Sivanich Acked-by: Ingo Molnar Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.2133, 2004-12-07 08:04:30-08:00, benh@kernel.crashing.org [PATCH] remove some PowerMac cruft from USB The PowerMac specific sleep code in the OHCI USB driver used to call disable/enable irq, which is no longer necessary and actually clashes with the calls to free/request_irq that the common OHCI code now does, thus causing WARN_ON's to trigger each time a PowerBook is woken up from sleep. Signed-off-by: Benjamin Herrenschmidt Cc: David Brownell Cc: Greg KH Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.2132, 2004-12-07 08:04:18-08:00, fenghua.yu@intel.com [PATCH] Add cpu_relax in idle spin loop for no-hlt kernel option If given no-hlt kernel option, ia32 idle loop turns out to be a spin loop. Add cpu_relax() in this spin loop because IA32 SDM recommends that a PAUSE instruction be put in all spin loops. Signed-off-by: Fenghua Yu Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.2131, 2004-12-07 08:04:05-08:00, santil@us.ibm.com [PATCH] fix buffer starvation race in ibmveth There's a chance that the receive buffers are being consumed at the same rate as they are being replenished in ibmveth_replenish_task()... Meanwhile, the calls to schedule_replenishing() from ibmveth_poll() won't schedule another replenishing cycle (because the not_replenishing flag is zero), starving the buffers and making the adapter unable to receive packets unless the module is reloaded... Here's a small patch that will fix it by scheduling another replenishing task after toggling the not_replenishing flag. Signed-Off-By: Santiago Leon Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.2130, 2004-12-07 08:03:52-08:00, herbert@13thfloor.at [PATCH] normalise wall_to_monotonic for i386 and m32r Fix the non-normalized wall_to_monotonic for i386 and m32r (The other archs seem to get it right) Signed-off-by: Herbert Poetzl Signed-off-by: George Anzinger Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.2126.1.5, 2004-12-06 15:55:27+00:00, dvrabel@com.rmk.(none) [ARM PATCH] 2298/1: Fix minor typo in ixp4xx_wdt Patch from David Vrabel Fix a minor typo in the MODULE_AUTHOR string in ixp4xx_wdt. Signed-off-by: David Vrabel Signed-off-by: Russell King ChangeSet@1.2126.1.4, 2004-12-05 23:11:34+00:00, elf@com.rmk.(none) [ARM PATCH] 2297/1: SMC91x patch (#2) for LPD7a40x CardEngines Patch from Marc Singer Add support for the LPD7a40x implementation of the SMC91x ethernet controller. This patch exists to work around a mismatch between the way the LH7a40x CPUs handle chip selects and what the ethernet controller expects. This patch has been revised to eliminate masking of interrupts. The concessions are that a) the ISR must perform an IOBARRIER before the first access to the chip, just in case the interrupt occurred while the driver was writing to the chip b) other drivers that use the same chip select region as the SMC chip must perform a similar IOBARRIER at the top of their ISRs. Signed-off-by: Marc Singer Signed-off-by: Russell King ChangeSet@1.2126.1.3, 2004-12-05 16:36:40+00:00, elf@com.rmk.(none) [ARM PATCH] 2296/1: Corrections to build for LPD7a404 Patch from Marc Singer A missing exten prevented the 2.6.10-rc2 kernel from building for the LPD7A404. This patch adds it. Signed-off-by: Marc Singer Signed-off-by: Russell King ChangeSet@1.2128, 2004-12-05 08:32:07-08:00, gandalf@wlug.westbo.se [PATCH] Fix ALSA resume Some time ago, a patch was merged that removed pci_save_state() and pci_restore_state() from various ALSA drivers. That patch also added pci_restore_state() to sound/core/init.c but didn't add pci_save_state() anywhere. This is needed since the core pci handling doesn't do this for us anymore. My laptop doesn't resume (gets what I assume is an ACPI timeout and hangs solid) without this small obvious patch. Signed-off-by: Martin Josefsson Fixed-by: Takashi Iwai Signed-off-by: Linus Torvalds ChangeSet@1.2126.1.2, 2004-12-05 16:31:17+00:00, zecke@org.rmk.(none) [ARM PATCH] 2294/1: SA1100 ide.h change superseed 2282/1 Patch from Holger Hans Peter Freyther As proposed in 2282 asm-arm/arch-sa1100/ide.h is not included anymore from asm-arm/ide.h. If arch-sa1100/ide.h is included we abort with #error. If lart.c is compiled we kindly warn that ide needs fixing for this board. Signed-off-by: Holger Hans Peter Freyther Signed-off-by: Russell King ChangeSet@1.2126.1.1, 2004-12-05 16:25:39+00:00, elf@com.rmk.(none) [ARM PATCH] 2293/1: Corrections to build for LPD7a400 Patch from Marc Singer Some typos prevent the 2.6.10-rc2 kernel from building for the LPD7A400. This patch fixes them. It also removes CONFIG_FIQ which shouldn't be necessary and doesn't compile. Signed-off-by: Marc Singer Signed-off-by: Russell King ChangeSet@1.2124.1.1, 2004-12-04 19:34:20-08:00, davem@nuts.davemloft.net [SPARC64]: Fix SMP cpu bringup bug when bigkernel. We have to load the bigkernel second TLB entry on secondary processors before we move over the use the kernel trap table. Otherwise we can take a TLB miss somewhere in the post-4MB area and the TLB handler is not prepared to service that. The case that usually occurs is the prom_set_trap_table call made by trampoline.S, since p1275buf usually sits very near the end of the kernel image. It worked by luck most of the time as long as p1275buf sits within a single page since earlier code running in trampoline.S forced that TLB entry to be loaded by the OBP TLB miss handler. This was not fun to figure out. Signed-off-by: David S. Miller ChangeSet@1.2055.1.196, 2004-12-04 21:09:09+00:00, rmk@flint.arm.linux.org.uk [SERIAL] Ensure correct units for close_delay and closing_wait. Use milliseconds internally for these delays, and convert them to centiseconds at the interface boundary to the ioctl configuration controls. ChangeSet@1.2098.1.3, 2004-12-03 22:32:50+00:00, rmk@flint.arm.linux.org.uk [ARM] Add per_cpu data area to linker script. ChangeSet@1.2098.1.2, 2004-12-03 22:22:04+00:00, rmk@flint.arm.linux.org.uk [ARM] Ensure user ops pass 64-bit constants in even,odd registers. Always pass values to get_user and put_user in an even numbered register, and optionally the next odd numbered register. This ensures that we are compatible with compiler enhancements. ChangeSet@1.2124, 2004-12-03 12:57:06-08:00, torvalds@ppc970.osdl.org Linux 2.6.10-rc3 TAG: v2.6.10-rc3