aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/usb/net
Commit message (Collapse)AuthorAge
* [PATCH] USB: asix - Add device IDs for 0G0 Cable EthernetDavid Hollis2006-01-31
| | | | | | | | Add device IDs for the 0G0 Cable Ethernet device as reported by Charles Lepple <clepple@gmail.com>. Signed-off-by: David Hollis <dhollis@davehollis.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
* [PATCH] USB: zd1201: make sysfs device symlinkNathan Lynch2006-01-04
| | | | | | | | | | | | | | | | | | | | | | Noticed that my zd1201 adapter isn't "seen" by hal and NetworkManager. The problem seems to be that unlike other network device drivers I checked, zd1201 does not do a SET_NETDEV_DEV(), which makes it so a "device" symlink is created under /sys/class/net/wlan0. With the following patch the device symlink shows up, and now I am happily using NetworkManager to control the adapter: $ ls -l /sys/class/net/wlan0 total 0 -r--r--r-- 1 root root 4096 Dec 18 13:42 address -r--r--r-- 1 root root 4096 Dec 18 13:42 addr_len -r--r--r-- 1 root root 4096 Dec 18 13:42 broadcast -r--r--r-- 1 root root 4096 Dec 18 13:42 carrier lrwxrwxrwx 1 root root 0 Dec 18 13:42 device -> ../../../devices/pci0001:10/0001:10:1b.1/usb4/4-1 -r--r--r-- 1 root root 4096 Dec 18 13:42 features Signed-off-by: Nathan Lynch <ntl@pobox.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
* [PATCH] USB: asix.c - Add Linksys USB200M Rev 2 idsDavid Hollis2006-01-04
| | | | | | | | Attached patch adds device IDs for the Linksys USB200M Rev 2 device which uses the AX88772 chipset. Signed-off-by: David Hollis <dhollis@davehollis.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
* [PATCH] USB: Use ARRAY_SIZE macroTobias Klauser2006-01-04
| | | | | | | | | | Use ARRAY_SIZE macro instead of sizeof(x)/sizeof(x[0]) and remove duplicates of ARRAY_SIZE. Some trailing whitespaces are also removed. Patch is compile-tested on i386. Signed-off-by: Tobias Klauser <tklauser@nuerscht.ch> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
* [PATCH] USB: remove .owner field from struct usb_driverGreg Kroah-Hartman2006-01-04
| | | | | | It is no longer needed, so let's remove it, saving a bit of memory. Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
* [PATCH] USB: usb-net: new device ID passed through module parameterA.YOSHIYAMA2006-01-04
| | | | | | | | | | | | | adds new module parameter "devid" that points to a string with format "device_name:vendor_id:device_id:flags". if provided at module load time, this string is being parsed and a new entry is created in usb_dev_id[] and pegasus_ids[] so the new device can later be recognized by the probe routine. this might be helpful for someone who don't know/wish to build new module/kernel, but want to use his new usb-to-eth device that is not yet listed in pegasus.h Signed-off-by: Petko Manolov <petkan@nucleusys.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
* [PATCH] USB: usb-net: removes redundant returnPetko Manolov2006-01-04
| | | | | | | | | | removes all redundant collecting of the return value from get/set_registers() and suchlike. can't remember who put all of those some time ago, but they doesn't make any sense to me. where needed only a few references remained; Signed-off-by: Petko Manolov <petkan@nucleusys.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
* [PATCH] USB: move CONFIG_USB_DEBUG checks into the MakefileGreg Kroah-Hartman2005-11-17
| | | | | | | | | This lets us remove a lot of code in the drivers that were all checking the same thing. It also found some bugs in a few of the drivers, which has been fixed up. Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
* [PATCH] USB: fix race in kaweth disconnectHerbert Xu2005-11-17
| | | | | | | | | | this patch from Herbert Xu fixes a race by moving termination of the URBs into close() exclusively. Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au> Signed-off-by: Oliver Neukum <oliver@neukum.name> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
* [PATCH] USB: fix correct wording in drivers/usb/net/KConfigKoen Kooi2005-10-28
| | | | Signed-off-by: Koen Kooi <koen@handhelds.org>
* [PATCH] USB: Kaweth.c udelay patchGuillaume GOURAT /2005-10-28
| | | | | | | | On some arch (like arm) udelay cannot be called with value greater that 2000. Signed-off-by: Guillaume GOURAT / guillaume.gourat@nexvision.fr Signed-off-by: Oliver Neukum <oliver@neukum.name>
* [PATCH] pegasus.hPetko Manolov2005-10-28
| | | | | | | | | | This one is a tiny patch adding one more device to the list. Please apply. :) Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> drivers/usb/net/pegasus.h | 2 ++ 1 file changed, 2 insertions(+)
* [PATCH] usb_interface power stateDavid Brownell2005-10-28
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This updates the handling of power state for USB interfaces. - Formalizes an existing invariant: interface "power state" is a boolean: ON when I/O is allowed, and FREEZE otherwise. It does so by defining some inlined helpers, then using them. - Adds a useful invariant: the only interfaces marked active are those bound to non-suspended drivers. Later patches build on this invariant. - Simplifies the interface driver API (and removes some error paths) by removing the requirement that they record power state changes during suspend and resume callbacks. Now usbcore does that. A few drivers were simplified to address that last change. Signed-off-by: David Brownell <dbrownell@users.sourceforge.net> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> drivers/usb/core/hub.c | 33 +++++++++------------ drivers/usb/core/message.c | 1 drivers/usb/core/usb.c | 65 +++++++++++++++++++++++++++++++++---------- drivers/usb/core/usb.h | 18 +++++++++++ drivers/usb/input/hid-core.c | 2 - drivers/usb/misc/usbtest.c | 10 ------ drivers/usb/net/pegasus.c | 2 - drivers/usb/net/usbnet.c | 2 - 8 files changed, 85 insertions(+), 48 deletions(-)
* [PATCH] USB: disable tasklet if rtl8150 device is removed while active.Greg Kroah-Hartman2005-10-28
| | | | | | This fixes a oops seen in the wild. Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
* [PATCH] gfp_t: drivers/usbAl Viro2005-10-28
| | | | | Signed-off-by: Al Viro <viro@zeniv.linux.org.uk> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
* [PATCH] USB: fix pegasus driverKevin Vigor2005-09-22
| | | | | | | | | | | | | | | Addresses some small bugs in the pegasus ethernet-over-USB driver. Specifically, malformed long packets from the adapter could cause a kernel panic; the interrupt interval calculation was inappropriate for high-speed devices; the return code from read_mii_word was tested incorrectly; and failure to unlink outstanding URBs before freeing them could lead to kernel panics when unloading the driver. Signed-off-by: Kevin Vigor <kevin@realmsys.com> Cc: Petko Manolov <petkan@users.sourceforge.net> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
* [PATCH] USB: usbnet (9/9) module for pl2301/2302 cablesDavid Brownell2005-09-08
| | | | | | | | | | | | | This wraps up the conversion of the "usbnet" driver structure, by moving the Prolific PL-2201/2302 minidriver to a module of its own. It also includes some minor cleanups to the remaining "usbnet" file, notably removing that long changelog at the top. Minor historical note: Linux 2.2 first called the driver for this hardware "plusb". Signed-off-by: David Brownell <dbrownell@users.sourceforge.net> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
* [PATCH] USB: usbnet (8/9) module for RNDIS devicesDavid Brownell2005-09-08
| | | | | | | | | | | | | | | | | This adds host-side RNDIS support to the "usbnet" driver, so Linux can talk to various devices (often based on WinCE) that otherwise only Windows could talk to. Tested with little-endian Linux talking to a Linux-USB Ethernet/RNDIS based peripheral. This also includes updates from Eddie C. Dost <ecd@brainaid.de> for big-endian SPARC Linux talking to a Nokia 9500 Communicator. It's still marked as EXPERIMENTAL because this code is so young. This ought to let Linux to work with various cable modems that previously would have been "Windows Only". Signed-off-by: David Brownell <dbrownell@users.sourceforge.net> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
* [PATCH] USB: usbnet (7/9) module for CDC EthernetDavid Brownell2005-09-08
| | | | | | | | | | Makes the CDC Ethernet support live in a separate driver module. This module is a bit special since it exports utility functions that are reused by the the Zaurus and RNDIS drivers, but it's not "core" like usbnet itself. Signed-off-by: David Brownell <dbrownell@users.sourceforge.net> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
* [PATCH] USB: usbnet (6/9) module for Zaurii and compatiblesDavid Brownell2005-09-08
| | | | | | | | | This moves usbnet support for Zaurus and compatibles into its own module. Other than exporting a couple of helper functions, this just involved shuffling some code and updating the comments. Signed-off-by: David Brownell <dbrownell@users.sourceforge.net> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
* [PATCH] USB: usbnet (5/9) module for genesys gl620a cablesDavid Brownell2005-09-08
| | | | | | | | | | This moves the GeneSys GL620USB-A support into its own driver file. It also fixes a "return wrong skb" glitch in the rx unbatching, as recently reported, and adds some missing byteswaps in the special "genelink" headers (so it might now work on big-endian Linux). Signed-off-by: David Brownell <dbrownell@users.sourceforge.net> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
* [PATCH] USB: usbnet (4/9) module for net1080 cablesDavid Brownell2005-09-08
| | | | | | | | | | | | | | As with the "cdc_subset" and "asix" drivers, this just moves the net1080 support into its one driver module. In this case there's a small bit of extra cleanup involved, moving some funky framing logic into the tx_fixup() routine (resolving a long overdue FIXME). Minor historical note: "usbnet" started out as "net1080", then got generalized to make it easier for other network drivers to reuse the urb queueing and fault management code here. Signed-off-by: David Brownell <dbrownell@users.sourceforge.net> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
* [PATCH] USB: usbnet (3/9) module for ASIX Ethernet adaptersDavid Brownell2005-09-08
| | | | | | | | | | | | | | | | | | | | | | | | This patch moves the ASIX AX8817x driver into its own file, just using the "usbnet" infrastructure as a utility library. - As with "cdc_subset" this involved minor Kconfig/kbuild tweaks, moving code from one file to another, and exporting a few functions. - This includes updates from Jamie Painter to add (and use) a new hook to handle the different maximum transfer sizes for rx and tx sides. - Also from Jamie, some bugfixes: * MDIO byteorder (to address some PPC media negotiation problems); * Force alignment at key spots when using ax88772 framing (on some embedded hardware, the network stack will break otherwise); * Address some link reset problems. It also makes this driver use the standard (5 seconds vs half second) control timeouts used elsewhere in USB; and wraps a few lines before the 80th column (which previously needed it). Signed-off-by: David Brownell <dbrownell@users.sourceforge.net> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
* [PATCH] USB: usbnet (2/9) module for simple network linksDavid Brownell2005-09-08
| | | | | | | | | | | | | | | | | | | | | This patch creates the first of several separate "minidriver" modules for "usbnet". This one handles only the very simplest hardware, which can be handled almost entirely by the "usbnet" core. - Move device-specific bits into new "cdc_subset.c" driver, shrinking "usbnet" by a bunch; - Export the functions needed to support this minidriver (with EXPORT_SYMBOL_GPL); - Update Kconfig and kbuild accordingly. This one handles about a dozen different device types, with the most notable ones being Gumstix and most Linux-based PDAs (except Zaurus running that ancient code from Sharp). Signed-off-by: David Brownell <dbrownell@users.sourceforge.net> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
* [PATCH] USB: usbnet (1/9) clean up framingDavid Brownell2005-09-08
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This starts to prepare the core of "usbnet" to know less about various framing protocols that map Ethernet packets onto USB, so "minidrivers" can be modules that just plug into the core. - Remove some framing-specific code that cluttered the core: * net->hard_header_len records how much space to preallocate; now drivers that add their own framing (Net1080, GeneLink, Zaurus, and RNDIS) will have smoother TX paths. Even for the drivers (Zaurus, Net1080) that need trailers. * defines new dev->hard_mtu, using this "hardware" limit to check changes to the link's settable "software" mtu. * now net->hard_header_len and dev->hard_mtu are set up in the driver bind() routines, if needed. - Transaction ID is no longer specific to the Net1080 framing; RNDIS needs one too. - Creates a new "usbnet.h" header with declarations that are shared between the core and what will be separate modules. - Plus a couple other minor tweaks, like recognizing -ESHUTDOWN means the keventd work should just shut itself down asap. The core code is only about 1/3 of this large file. Splitting out the minidrivers into separate modules (e.g. ones for ASIX adapters, Zaurii and similar, CDC Ethernet, etc), in later patches, will improve maintainability and shrink typical runtime footprints. Signed-off-by: David Brownell <dbrownell@users.sourceforge.net> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
* [PATCH] USB: URB_ASYNC_UNLINK flag removed from the kernelAlan Stern2005-09-08
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 29 July 2005, Cambridge, MA: This afternoon Alan Stern submitted a patch to remove the URB_ASYNC_UNLINK flag from the Linux kernel. Mr. Stern explained, "This flag is a relic from an earlier, less-well-designed system. For over a year it hasn't been used for anything other than printing warning messages." An anonymous spokesman for the Linux kernel development community commented, "This is exactly the sort of thing we see happening all the time. As the kernel evolves, support for old techniques and old code can be jettisoned and replaced by newer, better approaches. Proprietary operating systems do not have the freedom or flexibility to change so quickly." Mr. Stern, a staff member at Harvard University's Rowland Institute who works on Linux only as a hobby, noted that the patch (labelled as548) did not update two files, keyspan.c and option.c, in the USB drivers' "serial" subdirectory. "Those files need more extensive changes," he remarked. "They examine the status field of several URBs at times when they're not supposed to. That will need to be fixed before the URB_ASYNC_UNLINK flag is removed." Greg Kroah-Hartman, the kernel maintainer responsible for overseeing all of Linux's USB drivers, did not respond to our inquiries or return our calls. His only comment was "Applied, thanks." Signed-off-by: Alan Stern <stern@rowland.harvard.edu> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
* [PATCH] USB: usbnet and unsigned gfp_flagsdavid-b@pacbell.net2005-09-08
| | | | | | | This just fixes some gfp flags warnings that joined us recently. Signed-off-by: David Brownell <dbrownell@users.sourceforge.net> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
* /spare/repo/netdev-2.6 branch 'master'Jeff Garzik2005-09-01
|\
| * [NET]: Kill skb->listDavid S. Miller2005-08-29
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Remove the "list" member of struct sk_buff, as it is entirely redundant. All SKB list removal callers know which list the SKB is on, so storing this in sk_buff does nothing other than taking up some space. Two tricky bits were SCTP, which I took care of, and two ATM drivers which Francois Romieu <romieu@fr.zoreil.com> fixed up. Signed-off-by: David S. Miller <davem@davemloft.net> Signed-off-by: Francois Romieu <romieu@fr.zoreil.com>
* | Merge upstream into ieee80211.Jeff Garzik2005-08-24
|\| | | | | | | Hand-fix merge conflict in drivers/usb/net/zd1201.c.
| * [PATCH] usbnet oops fixlepton2005-08-23
| | | | | | | | | | | | | | | | | | There's a "return the wrong SKB" error in the GL620A cable minidriver (for "usbnet") which can oops. This would not appear when talking Linux-to-Linux, only Linux-to-Windows (for recent Linuxes). Signed-off-by: David Brownell <dbrownell@users.sourceforge.net> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
| * [PATCH] zd1201 kmalloc size fixAlexey Dobriyan2005-08-23
| | | | | | | | | | | | | | | | | | | | | | | | Noticed by Coverity checker. (akpm: I stole this from Greg's tree and used the (IMO) tidier sizeof(*p) construct). Signed-off-by: Alexey Dobriyan <adobriyan@gmail.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
* | /spare/repo/netdev-2.6 branch 'master'Jeff Garzik2005-07-30
|\|
| * [PATCH] USB: drivers/net/usb/zd1201.c: Gigabyte GN-WLBZ201 dongle usbidMathieu2005-07-29
| | | | | | | | | | | | | | | | | | | | Gigabyte GN-WLBZ201 wifi usb dongle works very well, using the zd1201 driver. the only missing part is that the corresponding usbid is not declared. The following patch should fix this. From: "Mathieu" <matt@minas-morgul.org> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
| * [PATCH] USB: drivers/usb/net/: remove two unused multicast_filter_limit ↵Adrian Bunk2005-07-29
| | | | | | | | | | | | | | | | | | | | variables The only uses of both variables were recently removed. Signed-off-by: Adrian Bunk <bunk@stusta.de> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
* | Merge upstream 2.6.13-rc3 into ieee80211 branch of netdev-2.6.Jeff Garzik2005-07-13
|\|
| * [PATCH] USB: Fix kmalloc's flags type in USBOlav Kongas2005-07-12
| | | | | | | | | | | | | | | | | | | | | | | | | | Greg, This patch fixes the kmalloc() flags argument type in USB subsystem; hopefully all of its occurences. The patch was made against patch-2.6.12-git2 from Jun 20. Cleanup of flags for kmalloc() in USB subsystem. Signed-off-by: Olav Kongas <ok@artecdesign.ee> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
| * [NET]: Transform skb_queue_len() binary tests into skb_queue_empty()David S. Miller2005-07-08
| | | | | | | | | | | | | | | | | | | | | | | | | | This is part of the grand scheme to eliminate the qlen member of skb_queue_head, and subsequently remove the 'list' member of sk_buff. Most users of skb_queue_len() want to know if the queue is empty or not, and that's trivially done with skb_queue_empty() which doesn't use the skb_queue_head->qlen member and instead uses the queue list emptyness as the test. Signed-off-by: David S. Miller <davem@davemloft.net>
* | Merge upstream ieee80211.h with us (us == branch 'ieee80211' of netdev-2.6)Jeff Garzik2005-06-27
|\|
| * Merge master.kernel.org:/pub/scm/linux/kernel/git/gregkh/usb-2.6Linus Torvalds2005-06-27
| |\
| | * [PATCH] USB: usbnet debug message fixDavid Brownell2005-06-27
| | | | | | | | | | | | | | | | | | | | | One debug message won't print the right value; OSDL bugid 4545. Signed-off-by: David Brownell <dbrownell@users.sourceforge.net> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
| | * [PATCH] USB: check for device in zd1201_resumeColin Leroy2005-06-27
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | My patch adding PM support for zd1201 didn't check for the device on resume, which can oops if the device has been removed. This patch fixes it. Signed-off-by: Colin Leroy <colin@colino.net> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
| | * [PATCH] USB: PM support for zd1201Colin Leroy2005-06-27
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch enables power management (suspend, resume) support for zd1201. It fixes problems after wakeup for me, but these problems did not appear everytime without this patch. it's a bit empirical, based on what the usbnet does, so maybe not correct... Maybe someone can give it a look before it's applied. Signed-off-by: Colin Leroy <colin@colino.net> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
| * | [PATCH] NETDEV: fix receiving multicast frames.YOSHIFUJI Hideaki2005-06-27
| | | | | | | | | | | | | | | | | | | | | Some USB ethernet drivers did not accept multicast frames appropriately. IPv6 did not work with those drivers without this patch. Signed-off-by: YOSHIFUJI Hideaki <yoshfuji@linux-ipv6.org>
| * | [PATCH] NETDEV: Elecom (Laneed) LD-USBL/TX support.YOSHIFUJI Hideaki2005-06-27
| |/ | | | | | | | | | | Elecom (Laneed) LD-USBL/TX support. Signed-off-by: YOSHIFUJI Hideaki <yoshfuji@linux-ipv6.org>
* | Merge /spare/repo/linux-2.6/Jeff Garzik2005-06-26
|\|
| * [PATCH] fix for kaweth broken by changes in the networking layerOliver Neukum2005-06-16
| | | | | | | | | | | | Cc: Greg KH <greg@kroah.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
| * [PATCH] USB: resolve Zaurus problemDavid Brownell2005-06-03
| | | | | | | | | | | | | | | | | | | | | | This "obvious" one-liner is needed to recognize Zaurus SL 6000; it just checks two GUIDs not just one. OSDL bugids #4512 and #4545 seem to be duplicates of this report. From: Gerald Skerbitz <gsker@tcfreenet.org> Signed-off-by: David Brownell <dbrownell@users.sourceforge.net> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
* | [PATCH] zd1201 fixesAl Viro2005-05-27
|/ | | | | | | In netdev-2.6 we need to update zd1201.c since we don't have driver/net/wireless/ieee802_11.h anymore. Signed-off-by: Al Viro <viro@parcelfarce.linux.theplanet.co.uk>
* [PATCH] USB: usbnet driver fixesDavid Brownell2005-05-17
| | | | | | | | | | | | | | | | | | | | Updates to the usbnet driver: - Remove a warning when built with Zaurus support but not CDC Ethernet; just moves an #ifdef to cover more code - Two tweaks to the pseudo-MDLM support: * correctly handle _either_ of the two GUIDs * ignore a padding bit that doesn't seem necessary - Remove ID for one Motorola phone that uses the MDLM stuff. It also updates the Kconfig helptext to make it clearer that the "Zaurus" configuration option supports an increasing (sigh) family of nonstandard peripheral protocols. Signed-off-by: David Brownell <dbrownell@users.sourceforge.net> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>