aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* [PATCH] skge: version 1.9Stephen Hemminger2006-10-111-1/+1
| | | | | | | | Want to be able to track downstream impact of fiber related fixes. Signed-off-by: Stephen Hemminger <shemminger@osdl.org> Signed-off-by: Jeff Garzik <jeff@garzik.org>
* [PATCH] skge: better flow control negotiationStephen Hemminger2006-10-112-56/+95
| | | | | | | | | Do flow control negotiation properly. Don't let auto negotiation status limit renegotiation. Separate desired pause values from the result of auto negotiation. Signed-off-by: Stephen Hemminger <shemminger@osdl.org> Signed-off-by: Jeff Garzik <jeff@garzik.org>
* [PATCH] skge: pause mapping for fiberStephen Hemminger2006-10-111-17/+21
| | | | | | | | Do correct mapping of pause and duplex when using 1000BaseX fiber versions of the board. Signed-off-by: Stephen Hemminger <shemminger@osdl.org> Signed-off-by: Jeff Garzik <jeff@garzik.org>
* [PATCH] skge: fix stuck irq when fiber downStephen Hemminger2006-10-112-19/+37
| | | | | | | | | The PHY interrupt from the internal fiber is getting stuck on when the link is down. Add code to handle the transition and mask it. Signed-off-by: Stephen Hemminger <shemminger@osdl.org> Signed-off-by: Jeff Garzik <jeff@garzik.org>
* [PATCH] powerpc/cell spidernet release all descrsLinas Vepstas2006-10-111-2/+2
| | | | | | | | | | Bugfix: rx descriptor release function fails to visit the last entry while walking receive descriptor ring. Signed-off-by: Linas Vepstas <linas@austin.ibm.com> Cc: James K Lewis <jklewis@us.ibm.com> Cc: Arnd Bergmann <arnd@arndb.de> Signed-off-by: Jeff Garzik <jeff@garzik.org>
* [PATCH] powerpc/cell spidernet DMA direction fixLinas Vepstas2006-10-111-13/+13
| | | | | | | | | | The ring buffer descriptors are DMA-accessed bidirectionally, but are not declared in this way. Fix this. Signed-off-by: Linas Vepstas <linas@austin.ibm.com> Cc: James K Lewis <jklewis@us.ibm.com> Cc: Arnd Bergmann <arnd@arndb.de> Signed-off-by: Jeff Garzik <jeff@garzik.org>
* [PATCH] powerpc/cell spidernet variable name changeLinas Vepstas2006-10-113-10/+10
| | | | | | | | | | Cosmetic patch: give the variable holding the numer of descriptors a more descriptive name, so to avoid confusion. Signed-off-by: Linas Vepstas <linas@austin.ibm.com> Cc: James K Lewis <jklewis@us.ibm.com> Cc: Arnd Bergmann <arnd@arndb.de> Signed-off-by: Jeff Garzik <jeff@garzik.org>
* [PATCH] powerpc/cell spidernet reduce DMA kickingLinas Vepstas2006-10-111-6/+13
| | | | | | | | | | | | | | The current code attempts to start the TX dma every time a packet is queued. This is too conservative, and wastes CPU time. This patch changes behaviour to call the kick-dma function less often, only when the tx queue is at risk of emptying. This reduces cpu usage, improves performance. Signed-off-by: Linas Vepstas <linas@austin.ibm.com> Cc: James K Lewis <jklewis@us.ibm.com> Cc: Arnd Bergmann <arnd@arndb.de> Signed-off-by: Jeff Garzik <jeff@garzik.org>
* [PATCH] powerpc/cell spidernetLinas Vepstas2006-10-111-2/+0
| | | | | | | | | | Remove a dummy register read that is not needed. This reduces CPU usage notably during transmit. Signed-off-by: Linas Vepstas <linas@austin.ibm.com> Cc: Arnd Bergmann <arnd@arndb.de> Cc: James K Lewis <jklewis@us.ibm.com> Signed-off-by: Jeff Garzik <jeff@garzik.org>
* [PATCH] powerpc/cell spidernet refine lockingLinas Vepstas2006-10-111-52/+43
| | | | | | | | | | | | | | | The transmit side of the spider ethernet driver currently places locks around some very large chunks of code. This results in a fair amount of lock contention is some cases. This patch makes the locks much more fine-grained, protecting only the cirtical sections. One lock is used to protect three locations: the queue head and tail pointers, and the queue low-watermark location. Signed-off-by: Linas Vepstas <linas@austin.ibm.com> Cc: Arnd Bergmann <arnd@arndb.de> Cc: James K Lewis <jklewis@us.ibm.com> Signed-off-by: Jeff Garzik <jeff@garzik.org>
* [PATCH] powerpc/cell spidernet NAPI polling info.Linas Vepstas2006-10-111-8/+8
| | | | | | | | | | This patch moves transmit queue cleanup code out of the interrupt context, and into the NAPI polling routine. Signed-off-by: Linas Vepstas <linas@austin.ibm.com> Acked-by: Arnd Bergmann <arnd@arndb.de> Cc: James K Lewis <jklewis@us.ibm.com> Signed-off-by: Jeff Garzik <jeff@garzik.org>
* [PATCH] powerpc/cell spidernet low watermark patch.Linas Vepstas2006-10-112-4/+47
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Implement basic low-watermark support for the transmit queue. Hardware low-watermarks allow a properly configured kernel to continously stream data to a device and not have to handle any interrupts at all in doing so. Correct zero-interrupt operation can be actually observed for this driver, when the socket buffer is made large enough. The basic idea of a low-watermark interrupt is as follows. The device driver queues up a bunch of packets for the hardware to transmit, and then kicks the hardware to get it started. As the hardware drains the queue of pending, untransmitted packets, the device driver will want to know when the queue is almost empty, so that it can queue some more packets. If the queue drains down to the low waterark, then an interrupt will be generated. However, if the kernel/driver continues to add enough packets to keep the queue partially filled, no interrupt will actually be generated, and the hardware can continue streaming packets indefinitely in this mode. The impelmentation is done by setting the DESCR_TXDESFLG flag in one of the packets. When the hardware sees this flag, it will interrupt the device driver. Because this flag is on a fixed packet, rather than at fixed location in the queue, the code below needs to move the flag as more packets are queued up. This implementation attempts to keep the flag at about 1/4 from "empty". Signed-off-by: Linas Vepstas <linas@austin.ibm.com> Signed-off-by: James K Lewis <jklewis@us.ibm.com> Acked-by: Arnd Bergmann <arnd@arndb.de> Signed-off-by: Jeff Garzik <jeff@garzik.org>
* [PATCH] powerpc/cell spidernet incorrect offsetLinas Vepstas2006-10-111-1/+3
| | | | | | | | | | | Bugfix -- the rx chain is in memory after the tx chain -- the offset being used was wrong, resulting in memory corruption when the size of the rx and tx rings weren't exactly the same. Signed-off-by: Linas Vepstas <linas@austin.ibm.com> Cc: James K Lewis <jklewis@us.ibm.com> Cc: Arnd Bergmann <arnd@arndb.de> Signed-off-by: Jeff Garzik <jeff@garzik.org>
* [PATCH] powerpc/cell spidernet stop error printing patch.Linas Vepstas2006-10-111-4/+9
| | | | | | | | | | Turn off mis-interpretation of the queue-empty interrupt status bit as an error. Signed-off-by: Linas Vepstas <linas@austin.ibm.com> Signed-off-by: James K Lewis <jklewis@us.ibm.com> Acked-by: Arnd Bergmann <arnd@arndb.de> Signed-off-by: Jeff Garzik <jeff@garzik.org>
* [PATCH] powerpc/cell spidernet fix error interrupt printLinas Vepstas2006-10-111-1/+1
| | | | | | | | | | The print message associated with the descriptor chain end interrupt prints a bogs value. Fix that. Signed-off-by: Linas Vepstas <linas@austin.ibm.com> Cc: James K Lewis <jklewis@us.ibm.com> Cc: Arnd Bergmann <arnd@arndb.de> Signed-off-by: Jeff Garzik <jeff@garzik.org>
* [PATCH] powerpc/cell spidernet bogus rx interrupt bitLinas Vepstas2006-10-111-3/+2
| | | | | | | | | | The current receive interrupt mask sets a bogus bit that doesn't even belong to the definition of this register. Remove it. Signed-off-by: Linas Vepstas <linas@austin.ibm.com> Cc: James K Lewis <jklewis@us.ibm.com> Cc: Arnd Bergmann <arnd@arndb.de> Signed-off-by: Jeff Garzik <jeff@garzik.org>
* [PATCH] Spidernet stop queue when queue is full.Linas Vepstas2006-10-111-23/+10
| | | | | | | | | | This patch adds a call to netif_stop_queue() when there is no more room for more packets on the transmit queue. Signed-off-by: Linas Vepstas <linas@austin.ibm.com> Cc: James K Lewis <jklewis@us.ibm.com> Cc: Arnd Bergmann <arnd@arndb.de> Signed-off-by: Jeff Garzik <jeff@garzik.org>
* [PATCH] Spidernet fix register field definitionsLinas Vepstas2006-10-112-6/+12
| | | | | | | | | | This patch fixes the names of a few fields in the DMA control register. There is no functional change. Signed-off-by: Linas Vepstas <linas@austin.ibm.com> Cc: James K Lewis <jklewis@us.ibm.com> Cc: Arnd Bergmann <arnd@arndb.de> Signed-off-by: Jeff Garzik <jeff@garzik.org>
* [PATCH] powerpc/cell spidernet add missing netdev watchdogLinas Vepstas2006-10-111-0/+1
| | | | | | | | | Set the netdev watchdog timer. Signed-off-by: Linas Vepstas <linas@austin.ibm.com> Cc: James K Lewis <jklewis@us.ibm.com> Cc: Arnd Bergmann <arnd@arndb.de> Signed-off-by: Jeff Garzik <jeff@garzik.org>
* [PATCH] powerpc/cell spidernet zlen min packet lengthLinas Vepstas2006-10-111-4/+14
| | | | | | | | | | | Polite device drivers pad short packets to 60 bytes, so that mean-spirited users don't accidentally DOS some other OS that can't handle short packets. Signed-off-by: Linas Vepstas <linas@austin.ibm.com> Cc: James K Lewis <jklewis@us.ibm.com> Cc: Arnd Bergmann <arnd@arndb.de> Signed-off-by: Jeff Garzik <jeff@garzik.org>
* [PATCH] powerpc/cell spidernet force-end fixLinas Vepstas2006-10-111-1/+4
| | | | | | | | | | Bugfix: when cleaning up the transmit queue upon device close, be sure to walk the entire queue. Signed-off-by: Linas Vepstas <linas@austin.ibm.com> Cc: James K Lewis <jklewis@us.ibm.com> Cc: Arnd Bergmann <arnd@arndb.de> Signed-off-by: Jeff Garzik <jeff@garzik.org>
* [PATCH] Spidernet module parm permissionsLinas Vepstas2006-10-111-2/+2
| | | | | | | | | | The module param permsissions should bw read-only, not writable. From: James K Lewis <jklewis@us.ibm.com> Signed-off-by: James K Lewis <jklewis@us.ibm.com> Signed-off-by: Linas Vepstas <linas@austin.ibm.com> Cc: Arnd Bergmann <arnd@arndb.de> Signed-off-by: Jeff Garzik <jeff@garzik.org>
* [PATCH] powerpc/cell spidernet burst alignment patch.Linas Vepstas2006-10-111-1/+1
| | | | | | | | | | | This patch increases the Burst Address alignment from 64 to 1024 in the Spidernet driver. This improves transmit performance for large packets. From: James K Lewis <jklewis@us.ibm.com> Signed-off-by: James K Lewis <jklewis@us.ibm.com> Signed-off-by: Linas Vepstas <linas@austin.ibm.com> Acked-by: Arnd Bergmann <arnd@arndb.de> Signed-off-by: Jeff Garzik <jeff@garzik.org>
* [PATCH] powerpc/cell spidernet ethtool -i version number info.Linas Vepstas2006-10-113-1/+6
| | | | | | | | | | | This patch adds version information as reported by ethtool -i to the Spidernet driver. From: James K Lewis <jklewis@us.ibm.com> Signed-off-by: James K Lewis <jklewis@us.ibm.com> Signed-off-by: Linas Vepstas <linas@austin.ibm.com> Acked-by: Arnd Bergmann <arnd@arndb.de> Signed-off-by: Jeff Garzik <jeff@garzik.org>
* [PATCH] ehea: fix port state notification, default queue sizesJan-Bernd Themann2006-10-112-9/+10
| | | | | | | | This patch includes a bug fix for the port state notification and fixes the default queue sizes. Signed-off-by: Jan-Bernd Themann <themann@de.ibm.com> Signed-off-by: Jeff Garzik <jeff@garzik.org>
* [PATCH] ehea: firmware (hvcall) interface changesJan-Bernd Themann2006-10-111-335/+238
| | | | | | | This eHEA patch covers required changes related to Anton Blanchard's new hvcall interface. Signed-off-by: Jan-Bernd Themann <themann@de.ibm.com> Signed-off-by: Jeff Garzik <jeff@garzik.org>
* [PATCH] ibmveth irq fixAndrew Morton2006-10-111-1/+1
| | | | | | | | | | drivers/net/ibmveth.c:939: error: too many arguments to function `ibmveth_interrupt' Cc: Jeff Garzik <jeff@garzik.org> Cc: Anton Blanchard <anton@samba.org> Cc: Paul Mackerras <paulus@samba.org> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Jeff Garzik <jeff@garzik.org>
* [PATCH] b44: fix eeprom endianess issueMichael Buesch2006-10-111-1/+1
| | | | | | | | | | | | | | | | | | | | | | | This fixes eeprom read on big-endian architectures. readw returns the data in CPU order. With cpu_to_le16 we convert it to little endian, because "ptr" is a pointer to a _byte_ arrray. See the cast above. A byte array is little endian. The bug is: Reading u16 values with readw, casting them into an u8 array and accessing this u8 array as an u8 (byte) array. The correct fix is to swap the CPU-ordering value returned by readw into little endian, as the u8 array is little endian. This compiles to nothing on little endian hardware (so it does not change b44 code on LE hardware), but _fixes_ code on BE hardware. Signed-off-by: Michael Buesch <mb@bu3sch.de> Cc: Jeff Garzik <jeff@garzik.org> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Jeff Garzik <jeff@garzik.org>
* [PATCH] Update smc91x driver with ARM Versatile board infoDeepak Saxena2006-10-111-0/+18
| | | | | | | | | | | | | | We need to specify a Versatile-specific SMC_IRQ_FLAGS value or the new generic IRQ layer will complain thusly: No IRQF_TRIGGER set_type function for IRQ 25 (<NULL>) Signed-off-by: Deepak Saxena <dsaxena@plexity.net> Cc: Jeff Garzik <jeff@garzik.org> Cc: Russell King <rmk@arm.linux.org.uk> Cc: Nicolas Pitre <nico@cam.org> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Jeff Garzik <jeff@garzik.org>
* Merge branch 'master' into upstream-fixesJeff Garzik2006-10-111719-8893/+8372
|\
| * ACPI: Allow setting SCI_EN bit in PM1_CONTROL registerLinus Torvalds2006-10-102-3/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | This is needed by at least the Mac Mini's, which (incorrectly) come back from suspend with SCI_EN clear. Thanks to Frédéric Riss for hunting this down. Acked-by: Frédéric Riss <frederic.riss@gmail.com> Cc: Pavel Machek <pavel@ucw.cz> Cc: Len Brown <len.brown@intel.com> Cc: Arjan van de Ven <arjan@infradead.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
| * [PATCH] firmware/dcdbas: fix bug in error cleanupJeff Garzik2006-10-101-1/+1
| | | | | | | | | | | | | | | | | | The error path path mistakenly called sysfs_create_group() rather than sysfs_remove_group(). They take the same arguments, so it's easy to cut-n-paste such a bug. Signed-off-by: Jeff Garzik <jeff@garzik.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
| * [PATCH] irda: donauboe fixes, cleanupsJeff Garzik2006-10-101-13/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - fix: toshoboe_invalid_dev() was recently removed, but not all callers were updated, causing the obvious linker error. Remove caller, because the check (like the one removed) isn't used. - fix: propagate request_irq() return value - cleanup: remove void* casts - cleanup: remove impossible ASSERTs Signed-off-by: Jeff Garzik <jeff@garzik.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
| * Merge branch 'merge' of ↵Linus Torvalds2006-10-1043-179/+370
| |\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | git://git.kernel.org/pub/scm/linux/kernel/git/paulus/powerpc * 'merge' of git://git.kernel.org/pub/scm/linux/kernel/git/paulus/powerpc: [POWERPC] Fix windfarm platform device usage [POWERPC] Fix i2c-powermac platform device usage [POWERPC] Fix secondary CPU startup on old "powersurge" SMP powermacs [POWERPC] ARCH=ppc pt_regs fixes [POWERPC] Update maple defconfig [POWERPC] Fix Maple secondary IDE interrupt [POWERPC] Make U4 PCIe work on maple [POWERPC] cell: fix default zImage build target [POWERPC] Fix boot wrapper invocation if CROSS_COMPILE contains spaces [POWERPC] Fix xmon IRQ handler for pt_regs removal
| | * [POWERPC] Fix windfarm platform device usageBenjamin Herrenschmidt2006-10-103-36/+30
| | | | | | | | | | | | | | | | | | | | | | | | | | | The windfarm code uses a struct device_driver instead of platform_driver, which can cause crashes if any of the callbacks are called (like on module removal). This fixes it. Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org> Signed-off-by: Paul Mackerras <paulus@samba.org>
| | * [POWERPC] Fix i2c-powermac platform device usageBenjamin Herrenschmidt2006-10-101-13/+15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | i2c-powermac was written & merged right after Russell King's changes adding platform_driver... which I missed. Thus it still used struct device, causing crashes when hitting sleep/wakeup callbacks (it happened to work by luck so far, until early/late callbacks got added). This causes crashes on sleep/wakeup on PowerBooks with 2.6.19. The patch fixes it by using a proper platform_driver. Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org> Signed-off-by: Paul Mackerras <paulus@samba.org>
| | * [POWERPC] Fix secondary CPU startup on old "powersurge" SMP powermacsPaul Mackerras2006-10-101-1/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | On the old "powersurge" SMP powermacs, the second CPU is started up by sending it an IPI, which has the side effect of stopping the timebase clock (so the secondary CPU's timebase can be synchronized with the primary's). The routine that did this used udelay, which will hang forever when the timebase is stopped, since udelay now spins until the timebase reaches a certain value. The end result is that the kernel would hang when bringing up the second CPU. This fixes it by using a simple loop which just does a fixed number of iterations to generate the delay. These old systems were all clocked at around 200 MHz or so, so a fixed number of iterations is acceptable. Signed-off-by: Paul Mackerras <paulus@samba.org>
| | * [POWERPC] ARCH=ppc pt_regs fixesAl Viro2006-10-1034-99/+84
| | | | | | | | | | | | | | | Signed-off-by: Al Viro <viro@zeniv.linux.org.uk> Signed-off-by: Paul Mackerras <paulus@samba.org>
| | * [POWERPC] Update maple defconfigBenjamin Herrenschmidt2006-10-101-13/+43
| | | | | | | | | | | | | | | | | | | | | | | | This updates the Maple defconfig to 4 CPUs (along with current defaults) to support the "tigerwood" 970MP evaluation board. Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org> Signed-off-by: Paul Mackerras <paulus@samba.org>
| | * [POWERPC] Fix Maple secondary IDE interruptBenjamin Herrenschmidt2006-10-101-2/+15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The IDE driver will pick up the PCI IRQ for both channels on Maple despite the fact that it's in legacy mode. This works around it by "hiding" the PCI IRQ of the AMD8111 IDE controller when it's configured in legacy mode on the Maple platform, thus causing the driver to call pci_get_legacy_ide_irq() which will return the correct interrupts for both channels. Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org> Signed-off-by: Paul Mackerras <paulus@samba.org>
| | * [POWERPC] Make U4 PCIe work on mapleBenjamin Herrenschmidt2006-10-101-7/+169
| | | | | | | | | | | | | | | | | | | | | | | | | | | The Maple support code was missing code for U4/CPC945 PCIe. This adds it, enabling it to work on tigerwood boards, and possibly also js21 using SLOF. Also disable an obsolete firmware workaround. Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org> Signed-off-by: Paul Mackerras <paulus@samba.org>
| | * [POWERPC] cell: fix default zImage build targetGeoff Levand2006-10-101-6/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Change CONFIG_PPC_CELL to CONFIG_PPC_IBM_CELL_BLADE in the powerpc boot makefile. CONFIG_PPC_CELL is used to build the generic cell processor support, and is not an indication of platform. Signed-off-by: Geoff Levand <geoffrey.levand@am.sony.com> Signed-off-by: Paul Mackerras <paulus@samba.org>
| | * [POWERPC] Fix boot wrapper invocation if CROSS_COMPILE contains spacesMichael Ellerman2006-10-101-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | My CROSS_COMPILE is "ccache /opt/compilers/blah", which confuses the boot wrapper script. Quote CROSS_COMPILE and CROSS32_COMPILE so they can safely contain spaces. Signed-off-by: Michael Ellerman <michael@ellerman.id.au> Signed-off-by: Paul Mackerras <paulus@samba.org>
| | * [POWERPC] Fix xmon IRQ handler for pt_regs removalPaul Mackerras2006-10-101-3/+3
| | | | | | | | | Signed-off-by: Paul Mackerras <paulus@samba.org>
| * | [PATCH] endianness annotations in s2ioAl Viro2006-10-101-161/+161
| | | | | | | | | | | | | | | Signed-off-by: Al Viro <viro@zeniv.linux.org.uk> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
| * | [PATCH] ufs endianness annotationsAl Viro2006-10-102-9/+15
| | | | | | | | | | | | | | | Signed-off-by: Al Viro <viro@zeniv.linux.org.uk> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
| * | [PATCH] fs/partitions endianness annotationsAl Viro2006-10-101-4/+2
| | | | | | | | | | | | | | | Signed-off-by: Al Viro <viro@zeniv.linux.org.uk> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
| * | [PATCH] Finish annotations of struct vlan_ethhdrAlexey Dobriyan2006-10-102-2/+2
| | | | | | | | | | | | | | | | | | | | | Signed-off-by: Alexey Dobriyan <adobriyan@gmail.com> Signed-off-by: Al Viro <viro@zeniv.linux.org.uk> Acked-by: David S. Miller <davem@davemloft.net> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
| * | [PATCH] isofs endianness annotationsAl Viro2006-10-101-5/+5
| | | | | | | | | | | | | | | Signed-off-by: Al Viro <viro@zeniv.linux.org.uk> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
| * | [PATCH] smbfs endianness annotationsAl Viro2006-10-101-6/+6
| | | | | | | | | | | | | | | Signed-off-by: Al Viro <viro@zeniv.linux.org.uk> Signed-off-by: Linus Torvalds <torvalds@osdl.org>