aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2008-11-13usb: musb: Fix for isochronous IN transferAjay Kumar Gupta1-20/+57
Fixes blurred capture images in dma mode. Isochronous error field in urb and source data buffer pointer were not updated properly in dma mode. Signed-off-by: Ajay Kumar Gupta <[email protected]> Signed-off-by: Felipe Balbi <[email protected]> Signed-off-by: Greg Kroah-Hartman <[email protected]>
2008-11-13USB: don't register endpoints for interfaces that are going awayAlan Stern3-1/+4
This patch (as1155) fixes a bug in usbcore. When interfaces are deleted, either because the device was disconnected or because of a configuration change, the extra attribute files and child endpoint devices may get left behind. This is because the core removes them before calling device_del(). But during device_del(), after the driver is unbound the core will reinstall altsetting 0 and recreate those extra attributes and children. The patch prevents this by adding a flag to record when the interface is in the midst of being unregistered. When the flag is set, the attribute files and child devices will not be created. Signed-off-by: Alan Stern <[email protected]> Cc: stable <[email protected]> [2.6.27, 2.6.26, 2.6.25] Signed-off-by: Greg Kroah-Hartman <[email protected]>
2008-11-13USB: add Nikon D300 camera to unusual_devsPaul Ready1-0/+7
Addresses http://bugzilla.kernel.org/show_bug.cgi?id=11685 When A Nikon D300 camera is connected to a system it is seen in /proc/bus/pci/devices but is not accessible. This is seen in the above file: T: Bus=01 Lev=01 Prnt=01 Port=05 Cnt=03 Dev#= 11 Spd=480 MxCh= 0 D: Ver= 2.00 Cls=00(>ifc ) Sub=00 Prot=00 MxPS=64 #Cfgs= 1 P: Vendor=04b0 ProdID=041a Rev= 1.03 S: Manufacturer=NIKON S: Product=NIKON DSC D300 S: SerialNumber=000008014379 C:* #Ifs= 1 Cfg#= 1 Atr=c0 MxPwr= 2mA I:* If#= 0 Alt= 0 #EPs= 3 Cls=06(still) Sub=01 Prot=01 Driver=usbfs E: Ad=81(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms E: Ad=02(O) Atr=02(Bulk) MxPS= 512 Ivl=0ms E: Ad=83(I) Atr=03(Int.) MxPS= 8 Ivl=32ms Cc: Alan Stern <[email protected]> Signed-off-by: Andrew Morton <[email protected]> Signed-off-by: Greg Kroah-Hartman <[email protected]>
2008-11-13USB: vstusb: fix compiler warning on x86-64Greg Kroah-Hartman1-1/+1
This fixes a reported compiler warning. Reported-by: Randy Dunlap <[email protected]> Signed-off-by: Greg Kroah-Hartman <[email protected]>
2008-11-13Merge branch 'for-linus' of ↵Linus Torvalds1-7/+8
git://git.kernel.org/pub/scm/linux/kernel/git/jbarnes/pci-2.6 * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jbarnes/pci-2.6: PCI: ignore bit0 of _OSC return code
2008-11-13[CIFS] remove unused list, add new cifs sock list to prepare for ↵Steve French3-20/+13
mount/umount fix Also adds two lines missing from the previous patch (for the need reconnect flag in the /proc/fs/cifs/DebugData handling) The new global_cifs_sock_list is added, and initialized in init_cifs but not used yet. Jeff Layton will be adding code in to use that and to remove the GlobalTcon and GlobalSMBSession lists. CC: Jeff Layton <[email protected]> CC: Shirish Pargaonkar <[email protected]> Signed-off-by: Steve French <[email protected]>
2008-11-13Merge branch 'for-linus' of ↵Linus Torvalds1-1/+1
git://git.kernel.org/pub/scm/linux/kernel/git/teigland/dlm * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/teigland/dlm: dlm: fix shutdown cleanup
2008-11-13[CIFS] Fix cifs reconnection flagsSteve French5-151/+160
In preparation for Jeff's big umount/mount fixes to remove the possibility of various races in cifs mount and linked list handling of sessions, sockets and tree connections, this patch cleans up some repetitive code in cifs_mount, and addresses a problem with ses->status and tcon->tidStatus in which we were overloading the "need_reconnect" state with other status in that field. So the "need_reconnect" flag has been broken out from those two state fields (need reconnect was not mutually exclusive from some of the other possible tid and ses states). In addition, a few exit cases in cifs_mount were cleaned up, and a problem with a tcon flag (for lease support) was not being set consistently for the 2nd mount of the same share CC: Jeff Layton <[email protected]> CC: Shirish Pargaonkar <[email protected]> Signed-off-by: Steve French <[email protected]>
2008-11-13Merge branch 'for-linus' of ↵Linus Torvalds2-3/+31
git://git.kernel.org/pub/scm/linux/kernel/git/penberg/slab-2.6 * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/penberg/slab-2.6: slab: document SLAB_DESTROY_BY_RCU Kconfig: SLUB is the default slab allocator
2008-11-13Merge master.kernel.org:/home/rmk/linux-2.6-armLinus Torvalds16-102/+58
* master.kernel.org:/home/rmk/linux-2.6-arm: [ARM] cdb89712: avoid namespace clashes with SRAM_ and BOOTROM_ constants [ARM] cdb89712,clps7500,h720x: avoid namespace clash for FLASH_* constants [ARM] integrator,realview,versatile: remove FLASH_* and EPROM_* constants [ARM] dma-mapping: fix compiler warning [ARM] iop: iop3xx needs registers mapped uncached+unbuffered [ARM] versatile: correct MMC clock rate [ARM] realview: correct MMC clock rate [ARM] 5329/1: Feroceon: fix feroceon_l2_inv_range
2008-11-13fix cpumask build breakage on pariscHelge Deller1-2/+0
Commit 2d3854a37e8b767a51aba38ed6d22817b0631e33 ("cpumask: introduce new API, without changing anything") introduced a build breakage on parisc. This trivial patch fixes it. Signed-off-by: Helge Deller <[email protected]> Cc: Rusty Russell <[email protected]> Cc: Andrew Morton <[email protected]> Cc: Kyle Mc Martin <[email protected]> Signed-off-by: Linus Torvalds <[email protected]>
2008-11-13dlm: fix shutdown cleanupDavid Teigland1-1/+1
Fixes a regression from commit 0f8e0d9a317406612700426fad3efab0b7bbc467, "dlm: allow multiple lockspace creates". An extraneous 'else' slipped into a code fragment being moved from release_lockspace() to dlm_release_lockspace(). The result of the unwanted 'else' is that dlm threads and structures are not stopped and cleaned up when the final dlm lockspace is removed. Trying to create a new lockspace again afterward will fail with "kmem_cache_create: duplicate cache dlm_conn" because the cache was not previously destroyed. Signed-off-by: David Teigland <[email protected]>
2008-11-13slab: document SLAB_DESTROY_BY_RCUPeter Zijlstra1-0/+28
Explain this SLAB_DESTROY_BY_RCU thing... [[email protected]: add a pointer to comment in mm/slab.c] Signed-off-by: Peter Zijlstra <[email protected]> Acked-by: Jens Axboe <[email protected]> Acked-by: Paul E. McKenney <[email protected]> Acked-by: Christoph Lameter <[email protected]> Signed-off-by: Hugh Dickins <[email protected]> Signed-off-by: Pekka Enberg <[email protected]>
2008-11-13Kconfig: SLUB is the default slab allocatorSimon Arlott1-3/+3
In 2007, a0acd820807680d2ccc4ef3448387fcdbf152c73 changed the default slab allocator to SLUB, but the SLAB help text still says SLAB is the default. This change fixes that. Signed-off-by: Simon Arlott <[email protected]> Signed-off-by: Pekka Enberg <[email protected]>
2008-11-13[ARM] cdb89712: avoid namespace clashes with SRAM_ and BOOTROM_ constantsRussell King2-19/+10
Signed-off-by: Russell King <[email protected]>
2008-11-13[ARM] cdb89712,clps7500,h720x: avoid namespace clash for FLASH_* constantsRussell King6-17/+15
Signed-off-by: Russell King <[email protected]>
2008-11-13[ARM] integrator,realview,versatile: remove FLASH_* and EPROM_* constantsRussell King3-53/+3
FLASH_* and EPROM_* constants are unused, and clash with drivers: drivers/atm/ambassador.h:257:1: warning: "FLASH_BASE" redefined drivers/atm/ambassador.h:258:1: warning: "FLASH_SIZE" redefined drivers/atm/iphase.h:332:1: warning: "EPROM_SIZE" redefined so remove them. Signed-off-by: Russell King <[email protected]>
2008-11-13[ARM] dma-mapping: fix compiler warningRussell King1-2/+11
arch/arm/mm/dma-mapping.c: In function `dma_sync_sg_for_cpu': arch/arm/mm/dma-mapping.c:588: warning: statement with no effect Signed-off-by: Russell King <[email protected]>
2008-11-13tracing: fix mmiotrace resizing crashIngo Molnar1-0/+6
Pekka reported a crash when resizing the mmiotrace tracer (if only mmiotrace is enabled). This happens because in that case we do not allocate the max buffer, but we try to use it. Make ring_buffer_resize() idempotent against NULL buffers. Reported-by: Pekka Paalanen <[email protected]> Signed-off-by: Ingo Molnar <[email protected]>
2008-11-13ALSA: hda - Missing NULL check in hda_beep.cTakashi Iwai1-0/+4
Added a NULL check of input_allocate_device() in hda_beep.c. Signed-off-by: Takashi Iwai <[email protected]>
2008-11-13ALSA: hda - Add digital beep playback switch for STAC/IDT codecsTakashi Iwai3-6/+68
The digital beep widget may have no mute control, and always enabling the beep is ofen pretty annoying, especially on laptops. This patch adds a mixer control "PC Beep Playback Switch" when there is no mixer amp mute is found, and controls it on software. Reference: Novell bnc#444572 https://bugzilla.novell.com/show_bug.cgi?id=444572 Signed-off-by: Takashi Iwai <[email protected]>
2008-11-13HID: fix radio-mr800 hidquirksAlexey Klimov1-1/+1
This patch fixes radio-mr800 hidqurks. Removes it from blacklist entry and places it in ignore entry in hid/hid-core.c Signed-off-by: Alexey Klimov <[email protected]> Signed-off-by: Jiri Kosina <[email protected]>
2008-11-13HID: fix kworld fm700 radio hidquirksAlexey Klimov1-1/+1
This patch fixes kworld fm700 usb-radio hidqurks that handled by radio-si470x. Removes it from blacklist entry and places it in ignore entry in hid/hid-core.c The bug went in through the V4L/DVB tree by commit 6a13378a without HID maintainer being involved at all. Signed-off-by: Alexey Klimov <[email protected]> Signed-off-by: Jiri Kosina <[email protected]>
2008-11-13HID: fix start/stop cycle in usbhid driverJiri Slaby1-0/+8
`stop' left out usbhid->urb* pointers and so the next `start' thought it needs to allocate nothing and used the memory pointers previously pointed to. This led to memory corruption and device malfunction. Also don't forget to clear disconnect flag on start which was left set by the previous `stop'. This fixes echo DEVICE > /sys/bus/hid/drivers/DRIVER/unbind echo DEVICE > /sys/bus/hid/drivers/DRIVER/bind failures. Signed-off-by: Jiri Slaby <[email protected]> Signed-off-by: Jiri Kosina <[email protected]>
2008-11-13HID: use single threaded work queue for hid_compatAndi Kleen1-1/+1
Use single threaded work queue for hid_compat I doubt HID really needs to scale over multiple CPUs. So only use a single threaded workqueue for HID_COMPAT. This avoids some excessive thread use on systems with a larger number of CPUs. Signed-off-by: Andi Kleen <[email protected]> Signed-off-by: Jiri Kosina <[email protected]>
2008-11-13HID: map macbook keys for "Expose" and "Dashboard"Henrik Rydberg2-2/+5
On macbooks there are specific keys for the user-space functions Expose and Dashboard, which currently has no counterpart in input.h. This patch adds KEY_SCALE and KEY_DASHBOARD, and maps the keyboard accordingly. Acked-by: Dmitry Torokhov <[email protected]> Signed-off-by: Henrik Rydberg <[email protected]> Signed-off-by: Jiri Kosina <[email protected]>
2008-11-13HID: support for new unibody macbooksHenrik Rydberg3-0/+15
The unibody MacBook 5 and MacBook Pro 5 come with a new version of the bcm5974 trackpad. This patch adds the USB device ids and all the appropriate quirks, including hid_blacklist. Signed-off-by: Henrik Rydberg <[email protected]> Signed-off-by: Jiri Kosina <[email protected]>
2008-11-13HID: fix locking in hidraw_open()Oliver Neukum1-14/+16
As open needs to sleep hidraw was wrong to call it with a spinlock held. Furthermore, open can of course fail which needs to be handled. Signed-off-by: Oliver Neukum <[email protected]> Signed-off-by: Jiri Kosina <[email protected]>
2008-11-13serial: sh-sci: Reorder the SCxTDR write after the TDxE clear.Paul Mundt2-2/+2
Under qemu there is a race between the TDxE read-and-clear and the SCxTDR write. While on hardware it can be gauranteed that the read-and-clear will happen prior to the character being written out, no such assumption can be made under emulation. As this path happens with IRQs off and the hardware itself doesn't care about the ordering, move the SCxTDR write until after the read-and-clear. Signed-off-by: Vladimir Prus <[email protected]> Signed-off-by: Paul Mundt <[email protected]>
2008-11-13sh: __copy_user function can corrupt the stack in case of exceptionStuart MENEFY1-3/+8
The __copy_user function can corrupt the stack in the case of a non-trivial length of data, and either of the first two move instructions cause an exception. This is because the fixup for these two instructions is mapped to the no_pop case, but these instructions execute after the stack is pushed. This change creates an explicit NO_POP exception mapping macro, and uses it for the two instructions executed in the trivial case where no stack pushes occur. More information at ST Linux bugzilla: https://bugzilla.stlinux.com/show_bug.cgi?id=4824 Signed-off-by: Dylan Reid <[email protected]> Signed-off-by: Stuart Menefy <[email protected]> Signed-off-by: Paul Mundt <[email protected]>
2008-11-13sh: Fixed the TMU0 reload value on resumeFrancesco VIRLINZI1-1/+1
This patch fixes the TMU0 interrupt frequency on suspend/resume. During the resume the kernel reprograms the TMU0.ClockEvent mode but if the mode is periodic than the TMU0.TCOR is updated with a random wrong value without taking care latest valid saved value. There was no problem with No_HZ system where TMU0.TCOR isn't used. Signed-off-by: Francesco M. Virlinzi <[email protected]> Signed-off-by: Stuart Menefy <[email protected]> Signed-off-by: Paul Mundt <[email protected]>
2008-11-13sched: correct sched-rt-group.txt pathname in init/KconfigAdrian Knoth1-1/+1
init/Kconfig directs the user to Documentation/sched-rt-group.txt, but the file is actually in Documentation/scheduler/sched-rt-group.txt. This patch corrects the pathname mentioned in init/Kconfig. Signed-off-by: Adrian Knoth <[email protected]> Signed-off-by: Andrew Morton <[email protected]> Signed-off-by: Ingo Molnar <[email protected]>
2008-11-12sparc: Fix tty compile warnings.Robert Reif1-6/+5
This patch fixes tty compile warnings as sugested by Alan Cox: CC drivers/char/n_tty.o drivers/char/n_tty.c: In function ‘normal_poll’: drivers/char/n_tty.c:1555: warning: array subscript is above array bounds drivers/char/n_tty.c:1564: warning: array subscript is above array bounds drivers/char/n_tty.c: In function ‘read_chan’: drivers/char/n_tty.c:1269: warning: array subscript is above array bounds CC drivers/char/tty_ioctl.o drivers/char/tty_ioctl.c: In function ‘set_termios’: drivers/char/tty_ioctl.c:533: warning: array subscript is above array bounds drivers/char/tty_ioctl.c:537: warning: array subscript is above array bounds drivers/char/tty_ioctl.c: In function ‘tty_mode_ioctl’: drivers/char/tty_ioctl.c:662: warning: array subscript is above array bounds drivers/char/tty_ioctl.c:892: warning: array subscript is above array bounds drivers/char/tty_ioctl.c:896: warning: array subscript is above array bounds drivers/char/tty_ioctl.c:577: warning: array subscript is above array bounds drivers/char/tty_ioctl.c:928: warning: array subscript is above array bounds drivers/char/tty_ioctl.c:934: warning: array subscript is above array bounds Signed-off-by: Robert Reif <[email protected]> Signed-off-by: David S. Miller <[email protected]>
2008-11-12sparc: struct device - replace bus_id with dev_name(), dev_set_name()Kay Sievers1-2/+2
Acked-by: Greg Kroah-Hartman <[email protected]> Signed-off-by: Kay Sievers <[email protected]> Signed-off-by: David S. Miller <[email protected]>
2008-11-129p: restrict RDMA usageRandy Dunlap1-4/+6
Make 9p's RDMA option depend on INET since it uses Infiniband rdma_* functions and that code depends on INET. Otherwise 9p can try to use symbols which don't exist. ERROR: "rdma_destroy_id" [net/9p/9pnet_rdma.ko] undefined! ERROR: "rdma_connect" [net/9p/9pnet_rdma.ko] undefined! ERROR: "rdma_create_id" [net/9p/9pnet_rdma.ko] undefined! ERROR: "rdma_create_qp" [net/9p/9pnet_rdma.ko] undefined! ERROR: "rdma_resolve_route" [net/9p/9pnet_rdma.ko] undefined! ERROR: "rdma_disconnect" [net/9p/9pnet_rdma.ko] undefined! ERROR: "rdma_resolve_addr" [net/9p/9pnet_rdma.ko] undefined! I used an if/endif block so that the menu items would remain presented together. Also correct an article adjective. Signed-off-by: Randy Dunlap <[email protected]> Signed-off-by: David S. Miller <[email protected]>
2008-11-12net: shy netns_ok checkAlexey Dobriyan1-1/+9
Failure to pass netns_ok check is SILENT, except some MIB counter is incremented somewhere. And adding "netns_ok = 1" (after long head-scratching session) is usually the last step in making some protocol netns-ready... Signed-off-by: Alexey Dobriyan <[email protected]> Signed-off-by: David S. Miller <[email protected]>
2008-11-12ipv6: routing header fixesBrian Haley2-0/+10
This patch fixes two bugs: 1. setsockopt() of anything but a Type 2 routing header should return EINVAL instead of EPERM. Noticed by Shan Wei ([email protected]). 2. setsockopt()/sendmsg() of a Type 2 routing header with invalid length or segments should return EINVAL. These values are statically fixed in RFC 3775, unlike the variable Type 0 was. Signed-off-by: Brian Haley <[email protected]> Signed-off-by: David S. Miller <[email protected]>
2008-11-13sh: Don't factor in PAGE_OFFSET for valid_phys_addr_range() check.Paul Mundt1-1/+1
Signed-off-by: Paul Mundt <[email protected]>
2008-11-13sh: early printk port type fixMagnus Damm1-0/+1
Add PORT_SCIF to unbreak the early printk code. Signed-off-by: Magnus Damm <[email protected]> Signed-off-by: Paul Mundt <[email protected]>
2008-11-13i2c: fix i2c-sh_mobile rx underrunMagnus Damm1-1/+2
Fix receive path underrun in i2c-sh_mobile driver. Signed-off-by: Magnus Damm <[email protected]> Signed-off-by: Paul Mundt <[email protected]>
2008-11-12Merge branch 'sched-fixes-for-linus' of ↵Linus Torvalds1-1/+4
git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'sched-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: sched: fix init_idle()'s use of sched_clock() sched: fix stale value in average load per task
2008-11-12c2port: add c2port support for Eurotech Duramar 2150Rodolfo Giometti3-0/+171
Signed-off-by: Rodolfo Giometti <[email protected]> Cc: Greg KH <[email protected]> Signed-off-by: Andrew Morton <[email protected]> Signed-off-by: Linus Torvalds <[email protected]>
2008-11-12Add c2 port supportRodolfo Giometti8-0/+1273
C2port implements a two wire serial communication protocol (bit banging) designed to enable in-system programming, debugging, and boundary-scan testing on low pin-count Silicon Labs devices. Currently this code supports only flash programming through sysfs interface but extensions shoud be easy to add. Signed-off-by: Rodolfo Giometti <[email protected]> Cc: Greg KH <[email protected]> Signed-off-by: Andrew Morton <[email protected]> Signed-off-by: Linus Torvalds <[email protected]>
2008-11-12hdq: documentation for OMAP HDQMadhusudhan Chikkature1-0/+46
Add a brief document about omap2430/3430 HDQ/1-wire driver. Signed-off-by: Madhusudhan Chikkature<[email protected]> Acked-by: Evgeniy Polyakov <[email protected]> Signed-off-by: Andrew Morton <[email protected]> Signed-off-by: Linus Torvalds <[email protected]>
2008-11-12hdq: bQ27000 HDQ Slave Interface DriverMadhusudhan Chikkature3-1/+131
Provide the BQ27000 slave interface driver. Signed-off-by: Madhusudhan Chikkature<[email protected]> Acked-by: Evgeniy Polyakov <[email protected]> Signed-off-by: Andrew Morton <[email protected]> Signed-off-by: Linus Torvalds <[email protected]>
2008-11-12hdq driver for OMAP2430/3430Madhusudhan Chikkature3-0/+733
The HDQ/1-Wire module of TI OMAP2430/3430 platforms implement the hardware protocol of the master functions of the Benchmark HDQ and the Dallas Semiconductor 1-Wire protocols. These protocols use a single wire for communication between the master (HDQ/1-Wire controller) and the slave (HDQ/1-Wire external compliant device). This patch provides the HDQ driver to suppport TI OMAP2430/3430 platforms. Signed-off-by: Madhusudhan Chikkature<[email protected]> Acked-by: Felipe Balbi <[email protected]> Acked-by: Evgeniy Polyakov <[email protected]> Signed-off-by: Andrew Morton <[email protected]> Signed-off-by: Linus Torvalds <[email protected]>
2008-11-12w1: export w1_read_8 functionMadhusudhan Chikkature2-1/+3
Export the w1_read_8 function for use of drivers. The OMAP HDQ driver(drivers/w1/masters/omap_hdq.c) uses this function. [[email protected]: coding-style fixes] Signed-off-by: Madhusudhan Chikkature<[email protected]> Acked-by: Evgeniy Polyakov <[email protected]> Signed-off-by: Andrew Morton <[email protected]> Signed-off-by: Linus Torvalds <[email protected]>
2008-11-12rtc: add Dallas DS1390/93/94 RTC chipsMark Jackson3-0/+232
Add support for the Dallas DS1390/93/94 SPI RTC chip. Signed-off-by: Mark Jackson <[email protected]> Acked-by: Alessandro Zummo <[email protected]> Cc: David Brownell <[email protected]> Signed-off-by: Andrew Morton <[email protected]> Signed-off-by: Linus Torvalds <[email protected]>
2008-11-12rtc: basic implementation of Epson RX-8581 I2C Real Time ClockMartyn Welch3-0/+290
Provide the basic "get" and "set" functionality for the Epson RX-8581 I2C RTC. It currently does not support the RTC's Alarm or Fixed-cycle timer. [[email protected]: need log2.h for ilog2(), remove unneeded initialisation] Signed-off-by: Martyn Welch <[email protected]> Signed-off-by: Alessandro Zummo <[email protected]> Cc: David Brownell <[email protected]> Cc: Jean Delvare <[email protected]> Signed-off-by: Andrew Morton <[email protected]> Signed-off-by: Linus Torvalds <[email protected]>
2008-11-12rtc: rtc-wm8350: add support for WM8350 RTCMark Brown4-0/+527
This adds support for the RTC provided by the Wolfson Microelectronics WM8350. This driver was originally written by Graeme Gregory and Liam Girdwood, though it has been modified since then to update it to current mainline coding standards and for API completeness. [[email protected]: s/schedule_timeout_interruptible/schedule_timeout_uninterruptible/ to prevent bogus timeout when signal_pending()] Signed-off-by: Mark Brown <[email protected]> Cc: Alessandro Zummo <[email protected]> Cc: David Brownell <[email protected]> Cc: Liam Girdwood <[email protected]> Signed-off-by: Andrew Morton <[email protected]> Signed-off-by: Linus Torvalds <[email protected]>