aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2007-07-13security: revalidate rw permissions for sys_splice and sys_vmspliceJames Morris
Revalidate read/write permissions for splice(2) and vmslice(2), in case security policy has changed since the files were opened. Acked-by: Stephen Smalley <sds@tycho.nsa.gov> Signed-off-by: James Morris <jmorris@namei.org> Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
2007-07-13relay: fixup kerneldoc commentTom Zanussi
Change comment from kerneldoc to normal. Signed-off-by: Tom Zanussi <zanussi@us.ibm.com> Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
2007-07-13relay: fix bogus cast in subbuf_splice_actor()Tom Zanussi
The current code that sets the read position in subbuf_splice_actor may give erroneous results if the buffer size isn't a power of 2. This patch fixes the problem. Signed-off-by: Tom Zanussi <zanussi@us.ibm.com> Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
2007-07-12Revert "USB: fix gregkh-usb-usb-use-menuconfig-objects"Linus Torvalds
This reverts commit acb11c8b8020f1f1b2545152020675ef32d09a58. It was broken. We most certainly *do* want the default to be the old behaviour (and the common case!), instead of breaking everybodys configuration and making 99% of all people have to override the default. What were you guys thinking? Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2007-07-12Merge master.kernel.org:/pub/scm/linux/kernel/git/gregkh/usb-2.6Linus Torvalds
* master.kernel.org:/pub/scm/linux/kernel/git/gregkh/usb-2.6: (149 commits) USB: ohci-pnx4008: Remove unnecessary cast of return value of kzalloc USB: additions to the quirk list usb-storage: implement autosuspend USB: cdc-acm: add new device id to option driver USB: goku_udc trivial cleanups USB: usb gadget stack can now -DDEBUG with Kconfig usb gadget stack: remove usb_ep_*_buffer(), part 2 usb gadget stack: remove usb_ep_*_buffer(), part 1 USB: pxa2xx_udc -- cleanups, mostly removing dma hooks USB: pxa2xx_udc: use generic gpio layer USB: quirk for samsung printer USB: usb/dma doc updates USB: drivers/usb/storage/unusual_devs.h whitespace cleanup USB: remove Makefile reference to obsolete OHCI_AT91 USB: io_*: remove bogus termios no change checks USB: mos7720: remove bogus no termios change check USB: visor and whiteheat: remove bogus termios change checks USB: pl2303: remove bogus checks and fix speed support to use tty_get_baud_rate() USB: mos7840.c: turn this into a serial driver USB: make the usb_device numa_node get assigned from controller ...
2007-07-12Merge branch 'release' of ↵Linus Torvalds
git://git.kernel.org/pub/scm/linux/kernel/git/aegl/linux-2.6 * 'release' of git://git.kernel.org/pub/scm/linux/kernel/git/aegl/linux-2.6: [IA64] Un-break ia64 build
2007-07-12Merge branch 'for-linus' of ↵Linus Torvalds
git://git.kernel.org/pub/scm/linux/kernel/git/roland/infiniband * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/roland/infiniband: (76 commits) IB: Update MAINTAINERS with Hal's new email address IB/mlx4: Implement query SRQ IB/mlx4: Implement query QP IB/cm: Send no match if a SIDR REQ does not match a listen IB/cm: Fix handling of duplicate SIDR REQs IB/cm: cm_msgs.h should include ib_cm.h IB/cm: Include HCA ACK delay in local ACK timeout IB/cm: Use spin_lock_irq() instead of spin_lock_irqsave() when possible IB/sa: Make sure SA queries use default P_Key IPoIB: Recycle loopback skbs instead of freeing and reallocating IB/mthca: Replace memset(<addr>, 0, PAGE_SIZE) with clear_page(<addr>) IPoIB/cm: Fix warning if IPV6 is not enabled IB/core: Take sizeof the correct pointer when calling kmalloc() IB/ehca: Improve latency by unlocking after triggering the hardware IB/ehca: Notify consumers of LID/PKEY/SM changes after nondisruptive events IB/ehca: Return QP pointer in poll_cq() IB/ehca: Change idr spinlocks into rwlocks IB/ehca: Refactor sync between completions and destroy_cq using atomic_t IB/ehca: Lock renaming, static initializers IB/ehca: Report RDMA atomic attributes in query_qp() ...
2007-07-12Revert "[BNX2]: Seems to not need net/tcp.h"Linus Torvalds
This reverts commit 963bd949b12158d9b5380b718b31c4b33372ed73. The driver _does_ need the networking header files; CC [M] drivers/net/bnx2.o drivers/net/bnx2.c: In function 'bnx2_start_xmit': drivers/net/bnx2.c:5177: warning: implicit declaration of function 'tcp_optlen' drivers/net/bnx2.c:5181: error: invalid application of 'sizeof' to incomplete type 'struct ipv6hdr' drivers/net/bnx2.c:5202: error: invalid application of 'sizeof' to incomplete type 'struct tcphdr' drivers/net/bnx2.c:5207: warning: implicit declaration of function 'tcp_hdr' drivers/net/bnx2.c:5207: error: invalid type argument of '->' make[2]: *** [drivers/net/bnx2.o] Error 1 make[1]: *** [drivers/net] Error 2 make: *** [drivers] Error 2 Cc: Ilpo Jävinen <ilpo.jarvinen@helsinki.fi> Cc: David Miller <davem@davemloft.net> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2007-07-12USB: ohci-pnx4008: Remove unnecessary cast of return value of kzallocSuresh Jayaraman
Remove unnecessary cast of return value of kzalloc() in usb/host/ohci-pnx4008.c Signed-off-by: Suresh Jayaraman <sjayaraman@novell.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2007-07-12USB: additions to the quirk listOliver Neukum
this adds some scanners reported to be crashed by autosuspend to the quirk list. Signed-off-by: Oliver Neukum <oneukum@suse.de> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2007-07-12usb-storage: implement autosuspendAlan Stern
This patch (as930) implements autosuspend for usb-storage. It is adapted from a patch by Oliver Neukum. Autosuspend is allowed except during LUN scanning, resets, and command execution. Signed-off-by: Alan Stern <stern@rowland.harvard.edu> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2007-07-12USB: cdc-acm: add new device id to option driverAndrey Arapov
USB: add new device id to option driver device is Samsung X180 China cellphone Signed-off-by: Andrey Arapov <andrey.arapov@gmail.com> Acked-by: Oliver Neukum <oneukum@suse.de> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2007-07-12USB: goku_udc trivial cleanupsDavid Brownell
Minor fixes to goku_udc ... whitespace, let -DDEBUG do its thing, check the return value of device_register(), sparse tweaks. Signed-off-by: David Brownell <dbrownell@users.sourceforge.net> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2007-07-12USB: usb gadget stack can now -DDEBUG with KconfigDavid Brownell
Although the other USB driver directories got taught how use Kconfig and the Makefile to enable the debugging messages enabled by -DDEBUG, the gadget stack was overlooked. This patch remedies that omission, but doesn't update any drivers to remove previous idiosyncracies in this area ... other than the RNDIS code, which defined its own DEBUG() macro in a broken way. Signed-off-by: David Brownell <dbrownell@users.sourceforge.net> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2007-07-12usb gadget stack: remove usb_ep_*_buffer(), part 2David Brownell
This patch removes controller driver infrastructure which supported the now-removed usb_ep_{alloc,free}_buffer() calls. As can be seen, many of the implementations of this were broken to various degrees. Many didn't properly return dma-coherent mappings; those which did so were necessarily ugly because of bogosity in the underlying dma_free_coherent() calls ... which on many platforms can't be called from the same contexts (notably in_irq) from which their dma_alloc_coherent() sibling can be called. The main potential downside of removing this is that gadget drivers wouldn't have specific knowledge that the controller drivers have: endpoints that aren't dma-capable don't need any dma mappings at all. Signed-off-by: David Brownell <dbrownell@users.sourceforge.net> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2007-07-12usb gadget stack: remove usb_ep_*_buffer(), part 1David Brownell
Remove usb_ep_{alloc,free}_buffer() calls, for small dma-coherent buffers. This patch just removes the interface and its users; later patches will remove controller driver support. - This interface is invariably not implemented correctly in the controller drivers (e.g. using dma pools, a mechanism which post-dates the interface by several years). - At this point no gadget driver really *needs* to use it. In current kernels, any driver that needs such a mechanism could allocate a dma pool themselves. Removing this interface is thus a simplification and improvement. Note that the gmidi.c driver had a bug in this area; fixed. Signed-off-by: David Brownell <dbrownell@users.sourceforge.net> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2007-07-12USB: pxa2xx_udc -- cleanups, mostly removing dma hooksDavid Brownell
Cleanups to the pxa2xx_udc code: - Primarily removing unused DMA hooks. - One "sparse" warning removed - Remove some Lubbock-only LED hooks (for debugging) That DMA code was never really completed. It worked, mostly, for IN transfers (to the host) if they were fortuitously aligned, but that code was never fully tested. And it was never coded for OUT transfers (which is where DMA would really help) ... because of chip errata on essentially every chip other than the pxa255, and because of design botches (nothing automated data toggle). So it's effectively been dead code for several years now ... no point in keeping it around. Signed-off-by: David Brownell <dbrownell@users.sourceforge.net> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2007-07-12USB: pxa2xx_udc: use generic gpio layerMilan Svoboda
This patch lets the pxa2xx_udc use the generic gpio layer, on the relevant PXA and IXP systems. Signed-off-by: Milan Svoboda <msvoboda@ra.rockwell.com> Signed-off-by: David Brownell <dbrownell@users.sourceforge.net> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2007-07-12USB: quirk for samsung printerOliver Neukum
this printer does not survive suspension. Signed-off-by: Oliver Neukum <oneukum@suse.de> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2007-07-12USB: usb/dma doc updatesDavid Brownell
This patch updates some of the documentation about DMA buffer management for USB, and ways to avoid extra copying. Our understanding of the issues has improved over time. - Most drivers should *avoid* the dma-coherent allocators. There are a few exceptions (like the HID driver). - Some methods are currently commented out; it seems folk writing USB drivers aren't doing performance tuning at that level yet. - Just avoid highmem; there's no good way to pass an "I can do highmem DMA" capability through a driver stack. This is easy, everything already avoids highmem. But it'd be nice if x86_32 systems with much physical memory could use it directly with network adapters and mass storage devices. (Patch, anyone?) Signed-off-by: David Brownell <dbrownell@users.sourceforge.net> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2007-07-12USB: drivers/usb/storage/unusual_devs.h whitespace cleanupS.Caglar Onur
Following patch removes trailing whitespaces at the ends of lines and converts smarttabs/whitespaces into real tabs. Signed-off-by: S.Caglar Onur <caglar@pardus.org.tr> Signed-off-by: Phil Dibowitz <phil@ipom.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2007-07-12USB: remove Makefile reference to obsolete OHCI_AT91Robert P. J. Day
Signed-off-by: Robert P. J. Day <rpjday@mindspring.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2007-07-12USB: io_*: remove bogus termios no change checksAlan Cox
Signed-off-by: Alan Cox <alan@redhat.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2007-07-12USB: mos7720: remove bogus no termios change checkAlan Cox
Signed-off-by: Alan Cox <alan@redhat.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2007-07-12USB: visor and whiteheat: remove bogus termios change checksAlan Cox
Signed-off-by: Alan Cox <alan@redhat.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2007-07-12USB: pl2303: remove bogus checks and fix speed support to use ↵Alan Cox
tty_get_baud_rate() Signed-off-by: Alan Cox <alan@redhat.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2007-07-12USB: mos7840.c: turn this into a serial driverAlan Cox
The MOS driver is "interesting", in a bad kind of 'how the hell did this get merged' kind of way - Remove the bogus termios change check - Remove the duplicate code for half the ioctls - Remove the supporting code to duplicate the ioctl code Signed-off-by: Alan Cox <alan@redhat.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2007-07-12USB: make the usb_device numa_node get assigned from controllerYinghai Lu
So we can use dev_to_node(&usb_dev->dev) later in kmalloc_node to dma buffer Signed-off-by: Yinghai Lu <yinghai.lu@sun.com> Cc: Andi Kleen <ak@suse.de> Acked-by: Christoph Lameter <clameter@sgi.com> Cc: David Rientjes <rientjes@google.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2007-07-12USB: ftdi_sio: fix oops due to processing workarounds too earlyOliver Neukum
Fix an oops that happens in relation with applying work arounds for buggy ftdi_sio devices. The quirks were handled too early because due to changes in the initialisation of usb serial devices the device was not fully initialised when the old hook was called. Addresses bug 8564 Cc: <stable@kernel.org> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2007-07-12USB: drivers/block/ub.c: use list_for_each_entry()Matthias Kaehlcke
Low performance USB storage driver: Use list_for_each_entry() instead of list_for_each() Signed-off-by: Matthias Kaehlcke <matthias.kaehlcke@gmail.com> Cc: Pete Zaitcev <zaitcev@redhat.com> Cc: Jens Axboe <jens.axboe@oracle.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2007-07-12USB: fix gregkh-usb-usb-use-menuconfig-objectsJan Engelhardt
Generally, Jens Axboe was against 'default y', so I'll have some patches to remove it. Cc: Jens Axboe <jens.axboe@oracle.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2007-07-12USB: Make usb-autosuspend timer 1 sec jiffy alignedVenki Pallipadi
Make usb autosuspend timers 1sec jiffy aligned. This helps to reduce the frequency at which the CPU must be taken out of a lower-power state. Signed-off-by: Venkatesh Pallipadi <venkatesh.pallipadi@intel.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2007-07-12USB: Don't autosuspend Blackberry devices.Jeremy Katz
Blackberry devices charge over USB. By autosuspending the port, they are not able to charge reliably. Signed-off-by: Jeremy Katz <katzj@redhat.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2007-07-12USB: Support Blackberry Pearl with berry_chargeJeremy Katz
The Blackberry Pearl (8100) needs similar tweaks as older Blackberry models to be able to charge when connected via USB. The Pearl also adds an additional need to go into a separate mode for fully accessing the device; do that by default as well. Changes based on the changes from bcharge in the barry project (http://barry.sf.net) Signed-off-by: Jeremy Katz <katzj@redhat.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2007-07-12USB: add IAD support to usbfs and sysfsCraig W. Nadler
USB_IAD: Adds support for USB Interface Association Descriptors. This patch adds support to the USB host stack for parsing, storing, and displaying Interface Association Descriptors. In /proc/bus/usb/devices lines starting with A: show the fields in an IAD. In sysfs if an interface on a USB device is referenced by an IAD the following files will be added to the sysfs directory for that interface: iad_bFirstInterface, iad_bInterfaceCount, iad_bFunctionClass, and iad_bFunctionSubClass, iad_bFunctionProtocol Signed-off-by: Craig W. Nadler <craig@nadler.us> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2007-07-12USB: mos7720: change developer email addressesGreg Kroah-Hartman
Update the original developer's email addresses at their request. Cc: Vijaya Kumar <vijaykumar.gn@gmail.com> Cc: Ajay Kumar <naanuajay@yahoo.com> Cc: Gurudeva <ngurudeva@yahoo.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2007-07-12USB: Fix off-by-1 error in the scatter-gather libraryAlan Stern
The loop in usb_sg_wait() is structured in a way that makes it hard to tell, when the loop exits, whether or not the last URB submission succeeded. This patch (as928) changes it from a "for" loop to a "while" loop and keeps "i" always equal to the number of successful submissions. This fixes an off-by-one error which can show up when the first URB submission fails. The patch also removes a couple of lines that initialize fields which don't need to be initialized. Signed-off-by: Alan Stern <stern@rowland.harvard.edu> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2007-07-12USB: Don't resume root hub if the controller is suspendedAlan Stern
Root hubs can't be resumed if their parent controller device is still suspended. This patch (as925) adds a check for that condition in hcd_bus_resume() and prevents it from being treated as a fatal controller failure. ehci-hcd is updated to add the corresponding test. Unnecessary debugging messages are removed from uhci-hcd and dummy-hcd. The error return code from dummy-hcd is changed to -ESHUTDOWN, the same as the others. ohci-hcd doesn't need any changes. Suspend handling in the non-PCI host drivers is somewhat hit-and-miss. This patch shouldn't have any effect on them. Signed-off-by: Alan Stern <stern@rowland.harvard.edu> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2007-07-12USB: Remove usages of dev->power.power_stateAlan Stern
This patch (as922) removes all but one of the remaining vestiges of dev->power.power_state from usbcore. The only usage left must remain until the deprecated "power/state" sysfs attribute is gone. Signed-off-by: Alan Stern <stern@rowland.harvard.edu> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2007-07-12USB: usblp: add dynamic URBs, fix racesPete Zaitcev
This patch's main bulk aims to make usblp the premier driver for code pillaging once again. The code is as streamlined as possible and is bug-free as possible. The usb-skeleton performs the same function, but is somewhat abstract. The usblp is usb-skeleton which is actually used by many. Since I combed a few small bugs away, this also fixes the small races we had in usblp for a while. For example, now it's possible for several threads to make write(2) calls (sounds silly, but consider a printer for paper record, where every line of text is self-contained and thus it's all right to have them interleaved). Also gone are issues with interrupts using barriers dangerously. This patch makes use of Oliver's anchor, and so it must trail the anchor patch on the way to Linus. Signed-off-by: Pete Zaitcev <zaitcev@redhat.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2007-07-12USB: Pete's taking over usblpPete Zaitcev
Vojtech agreed to pass usblp over to me, so if you find bugs don't bug him. Signed-off-by: Pete Zaitcev <zaitcev@redhat.com> Signed-off-by: Vojtech Pavlik <vojtech@suse.cz> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2007-07-12USB: fsl_usb2_udc: fix bug for portsc bit maskingLi Yang
Fix a bug that PORT_TYPE and PORT_WIDTH aren't masked correctly in portsc. Signed-off-by: Christopher Cason <chris.cason@nec.com.au> Signed-off-by: Li Yang <leoli@freescale.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2007-07-12USB: autosuspend for usblcdOliver Neukum
this patch implements autosuspend for the usblcd driver. It uses the new usb_anchor infrastructure. Many thanks to Georges for testing. Signed-off-by: Oliver Neukum <oneukum@suse.de> Cc: Georges Toth <g.toth@e-biz.lu> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2007-07-12usb gadget: Rename husb2dev -> usbaHaavard Skinnemoen
husb2dev was the internal name of the USB Device Controller on AT32AP7000. Rename it to "atmel_usba", which is closer to the official name used in documentation and marketing material. Signed-off-by: Haavard Skinnemoen <hskinnemoen@atmel.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2007-07-12USB: Add URB_FREE_BUFFER flag and the logic behind itMarcel Holtmann
USB: Add URB_FREE_BUFFER flag for freeing the transfer buffer In some cases it is not needed that the driver keeps track of the transfer buffer of an URB. It can be simply freed along with the URB itself when the reference count goes down to zero. The new flag URB_FREE_BUFFER enables this behavior. Signed-off-by: Marcel Holtmann <marcel@holtmann.org> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2007-07-12USB: Fix up full-speed bInterval values in high-speed interrupt descriptorLaurent Pinchart
Many device manufacturers are using full-speed bInterval values in high-speed interrupt endpoint descriptors. If the bInterval value is greater than 16, assume the device uses full-speed descriptors and fix the value accordingly. Signed-off-by: Laurent Pinchart <laurent.pinchart@skynet.be> Acked-by: Alan Stern <stern@rowland.harvard.edu> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2007-07-12USB: usb-skeleton: use anchors in pre/post resetOliver Neukum
use anchors in pre/post_reset Signed-off-by: Oliver Neukum <oneukum@suse.de> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2007-07-12USB: usb-skeleton" use anchors in suspend/resume handlingOliver Neukum
use anchors in suspend/resume handling Signed-off-by: Oliver Neukum <oneukum@suse.de> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2007-07-12USB: usb-skeleton: use anchors in disconnect handlingOliver Neukum
use anchors in disconnect handling Signed-off-by: Oliver Neukum <oneukum@suse.de> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2007-07-12USB: serial: ir_usb: Clean up the worst of it, remove exciting 'crash on ↵Alan Cox
open' feature - Drivers don't call ldisc termios methods. They certainly don't call them the way this one does - remove wrong call - The tty buffer code isn't designed to be abused from IRQ handlers and the new buffering removes the need for the uglies involved - fix them - Style - Remove incorrect baud and change handling for termios changes The driver now has some style, but not a lot - it goes insane if you have two dongles for example as it continues to use global variables for per dongle state. That bit isn't my problem. Signed-off-by: Alan Cox <alan@redhat.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>