aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* caif: Bugfix - Poll can't return POLLHUP while connecting.Sjur Braendeland2010-05-231-15/+6
| | | | | | | | | | Discovered bug when testing async connect. While connecting poll should not return POLLHUP, but POLLOUT when connected. Also fixed the sysfs flow-control-counters. Signed-off-by: Sjur Braendeland <sjur.brandeland@stericsson.com> Signed-off-by: David S. Miller <davem@davemloft.net>
* caif: Bugfix - handle mem-allocation failuresSjur Braendeland2010-05-233-9/+25
| | | | | | | | Discovered bugs when injecting slab allocation failures. Add checks on all memory allocation. Signed-off-by: Sjur Braendeland <sjur.brandeland@stericsson.com> Signed-off-by: David S. Miller <davem@davemloft.net>
* caif: Bugfix - use standard Linux listsSjur Braendeland2010-05-232-68/+28
| | | | | | | | Discovered bug when running high number of parallel connect requests. Replace buggy home brewed list with linux/list.h. Signed-off-by: Sjur Braendeland <sjur.brandeland@stericsson.com> Signed-off-by: David S. Miller <davem@davemloft.net>
* caif: Bugfix - wait_ev*_timeout returns long.Sjur Braendeland2010-05-231-7/+6
| | | | | | | | Discovered bug when testing on 64bit architecture. Fixed by using long to store result from wait_event_interruptible_timeout. Signed-off-by: Sjur Braendeland <sjur.brandeland@stericsson.com> Signed-off-by: David S. Miller <davem@davemloft.net>
* net-2.6 : V2 - fix dev_get_valid_nameDaniel Lezcano2010-05-231-8/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | the commit: commit d90310243fd750240755e217c5faa13e24f41536 Author: Octavian Purdila <opurdila@ixiacom.com> Date: Wed Nov 18 02:36:59 2009 +0000 net: device name allocation cleanups introduced a bug when there is a hash collision making impossible to rename a device with eth%d. This bug is very hard to reproduce and appears rarely. The problem is coming from we don't pass a temporary buffer to __dev_alloc_name but 'dev->name' which is modified by the function. A detailed explanation is here: http://marc.info/?l=linux-netdev&m=127417784011987&w=2 Changelog: V2 : replaced strings comparison by pointers comparison Signed-off-by: Daniel Lezcano <daniel.lezcano@free.fr> Reviewed-by: Octavian Purdila <opurdila@ixiacom.com> Signed-off-by: David S. Miller <davem@davemloft.net>
* net: Fix definition of netif_vdbg() when VERBOSE_DEBUG is not definedBen Hutchings2010-05-231-1/+1
| | | | | Signed-off-by: Ben Hutchings <bhutchings@solarflare.com> Signed-off-by: David S. Miller <davem@davemloft.net>
* bfin_mac: fix memleak in mii_bus{probe|remove}Denis Kirjanov2010-05-231-0/+2
| | | | | | | Fix memory leak with miibus->irq Signed-off-by: Denis Kirjanov <dkirjanov@kernel.org> Signed-off-by: David S. Miller <davem@davemloft.net>
* ethoc: fix null dereference in ethoc_probeThomas Chou2010-05-231-4/+30
| | | | | | | | | | | | | | | | | | | Dan reported the patch 0baa080c75c: "ethoc: use system memory as buffer" introduced a potential null dereference. 1060 free: 1061 if (priv->dma_alloc) ^^^^^^^^^^^^^^^ priv can be null here. He also suggested that the error handling is not complete. This patch fixes the null priv issue and improves resources releasing in ethoc_probe() and ethoc_remove(). Reported-by: Dan Carpenter <error27@gmail.com> Signed-off-by: Thomas Chou <thomas@wytron.com.tw> Signed-off-by: David S. Miller <davem@davemloft.net>
* rtnetlink: Fix error handling in do_setlink()David Howells2010-05-231-1/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Commit c02db8c6290bb992442fec1407643c94cc414375: Author: Chris Wright <chrisw@sous-sol.org> Date: Sun May 16 01:05:45 2010 -0700 Subject: rtnetlink: make SR-IOV VF interface symmetric adds broken error handling to do_setlink() in net/core/rtnetlink.c. The problem is the following chunk of code: if (tb[IFLA_VFINFO_LIST]) { struct nlattr *attr; int rem; nla_for_each_nested(attr, tb[IFLA_VFINFO_LIST], rem) { if (nla_type(attr) != IFLA_VF_INFO) ----> goto errout; err = do_setvfinfo(dev, attr); if (err < 0) goto errout; modified = 1; } } which can get to errout without setting err, resulting in the following error: net/core/rtnetlink.c: In function 'do_setlink': net/core/rtnetlink.c:904: warning: 'err' may be used uninitialized in this function Change the code to return -EINVAL in this case. Note that this might not be the appropriate error though. Signed-off-by: David Howells <dhowells@redhat.com> cc: Chris Wright <chrisw@sous-sol.org> cc: David S. Miller <davem@davemloft.net> Acked-by: Chris Wright <chrisw@sous-sol.org> Signed-off-by: David S. Miller <davem@davemloft.net>
* net-caif: drop redundant Kconfig entriesMike Frysinger2010-05-231-4/+1
| | | | | | | | | | | There is already a submenu entry that is always displayed, so there is no need to also show a dedicated CAIF comment. Drop dead commented code while we're here, and change the submenu text to better match the style everyone else is using. Signed-off-by: Mike Frysinger <vapier@gentoo.org> Signed-off-by: David S. Miller <davem@davemloft.net>
* net_sched: Fix qdisc_notify()Eric Dumazet2010-05-231-7/+7
| | | | | | | | | | | | | | | | | Ben Pfaff reported a kernel oops and provided a test program to reproduce it. https://kerneltrap.org/mailarchive/linux-netdev/2010/5/21/6277805 tc_fill_qdisc() should not be called for builtin qdisc, or it dereference a NULL pointer to get device ifindex. Fix is to always use tc_qdisc_dump_ignore() before calling tc_fill_qdisc(). Reported-by: Ben Pfaff <blp@nicira.com> Signed-off-by: Eric Dumazet <eric.dumazet@gmail.com> Signed-off-by: David S. Miller <davem@davemloft.net>
* ieee802154: Fix possible NULL pointer dereference in wpan_phy_allocDenis Kirjanov2010-05-231-1/+6
| | | | | | | Check for NULL pointer after kzalloc Signed-off-by: Denis Kirjanov <dkirjanov@kernel.org> Signed-off-by: David S. Miller <davem@davemloft.net>
* enic: Use random mac addr when associating port-profileScott Feldman2010-05-231-0/+8
| | | | | | | | Use random mac addr for interface when associating port-profile to dynamic enic device, in the case no mac addr was previous assigned. Signed-off-by: Scott Feldman <scofeldm@cisco.com> Signed-off-by: David S. Miller <davem@davemloft.net>
* enic: bug fix: sprintf UUID to string as u8[] rather than u16[] arrayScott Feldman2010-05-231-8/+13
| | | | | Signed-off-by: Scott Feldman <scofeldm@cisco.com> Signed-off-by: David S. Miller <davem@davemloft.net>
* net: fix problem in dequeuing from input_pkt_queueTom Herbert2010-05-212-16/+26
| | | | | | | | | | | | | | | | | | | | Fix some issues introduced in batch skb dequeuing for input_pkt_queue. The primary issue it that the queue head must be incremented only after a packet has been processed, that is only after __netif_receive_skb has been called. This is needed for the mechanism to prevent OOO packet in RFS. Also when flushing the input_pkt_queue and process_queue, the process queue should be done first to prevent OOO packets. Because the input_pkt_queue has been effectively split into two queues, the calculation of the tail ptr is no longer correct. The correct value would be head+input_pkt_queue->len+process_queue->len. To avoid this calculation we added an explict input_queue_tail in softnet_data. The tail value is simply incremented when queuing to input_pkt_queue. Signed-off-by: Tom Herbert <therbert@google.com> Acked-by: Eric Dumazet <eric.dumazet@gmail.com> Signed-off-by: David S. Miller <davem@davemloft.net>
* can: SJA1000 add missing spin_lock_init()Oliver Hartkopp2010-05-201-0/+2
| | | | | | | | | | | | As remarked by Sam Ravnborg the spin_lock variable, that has been introduced in commit 57c8a456640fa3ca777652f11f2db4179a3e66b6 ("can: Fix SJA1000 command register writes on SMP systems") has not been initialized properly. This patch adds the initialization to allow spinlock debugging. Signed-off-by: Oliver Hartkopp <socketcan@hartkopp.net> CC: Sam Ravnborg <sam@ravnborg.org> Signed-off-by: David S. Miller <davem@davemloft.net>
* sh_eth: Fix memleak in sh_mdio_releaseDenis Kirjanov2010-05-201-0/+3
| | | | | | | | Allocated memory for IRQs should be freed when releasing the mii_bus Signed-off-by: Denis Kirjanov <dkirjanov@kernel.org> Acked-by: Nobuhiro Iwamatsu <iwamatsu@nigauri.org> Signed-off-by: David S. Miller <davem@davemloft.net>
* Merge branch 'master' of ↵David S. Miller2010-05-204-10/+16
|\ | | | | | | git://git.kernel.org/pub/scm/linux/kernel/git/kaber/nf-next-2.6
| * netfilter: fix description of expected checkentry return code on xt_targetLuciano Coelho2010-05-201-1/+1
| | | | | | | | | | | | | | | | | | The text describing the return codes that are expected on calls to checkentry() was incorrect. Instead of returning true or false, or an error code, it should return 0 or an error code. Signed-off-by: Luciano Coelho <luciano.coelho@nokia.com> Signed-off-by: Patrick McHardy <kaber@trash.net>
| * netfilter: nf_conntrack: fix a race in __nf_conntrack_confirm against ↵Joerg Marx2010-05-202-1/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | nf_ct_get_next_corpse() This race was triggered by a 'conntrack -F' command running in parallel to the insertion of a hash for a new connection. Losing this race led to a dead conntrack entry effectively blocking traffic for a particular connection until timeout or flushing the conntrack hashes again. Now the check for an already dying connection is done inside the lock. Signed-off-by: Joerg Marx <joerg.marx@secunet.com> Signed-off-by: Patrick McHardy <kaber@trash.net>
| * netfilter: nf_ct_sip: handle non-linear skbsPatrick McHardy2010-05-141-8/+4
| | | | | | | | | | | | | | | | | | Handle non-linear skbs by linearizing them instead of silently failing. Long term the helper should be fixed to either work with non-linear skbs directly by using the string search API or work on a copy of the data. Based on patch by Jason Gunthorpe <jgunthorpe@obsidianresearch.com> Signed-off-by: Patrick McHardy <kaber@trash.net>
* | gro: Fix bogus gso_size on the first fraglist entryHerbert Xu2010-05-201-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When GRO produces fraglist entries, and the resulting skb hits an interface that is incapable of TSO but capable of FRAGLIST, we end up producing a bogus packet with gso_size non-zero. This was reported in the field with older versions of KVM that did not set the TSO bits on tuntap. This patch fixes that. Reported-by: Igor Zhang <yugzhang@redhat.com> Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au> Signed-off-by: David S. Miller <davem@davemloft.net>
* | ixgbe:add support for a new 82599 10G Base-T deviceMallikarjuna R Chilakala2010-05-207-0/+111
| | | | | | | | | | | | | | | | | | | | | | | | | | | | This adds support for a new copper device for 82599, device id 0x151c. This 82599 10GBase-T device uses the PHY's internal temperature sensor to guard against over-temp conditions. In this scenario the PHY will be put in a low power mode and link will no longer be able to transmit or receive any data. When this occurs, the over-temp interrupt is latched and driver logs this error message. A HW reset or power cycle is required to clear this status. Signed-off-by: Mallikarjuna R Chilakala <mallikarjuna.chilakala@intel.com> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com> Signed-off-by: David S. Miller <davem@davemloft.net>
* | Merge git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb-2.6Linus Torvalds2010-05-20261-8360/+17242
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb-2.6: (229 commits) USB: remove unused usb_buffer_alloc and usb_buffer_free macros usb: musb: update gfp/slab.h includes USB: ftdi_sio: fix legacy SIO-device header USB: kl5usb105: reimplement using generic framework USB: kl5usb105: minor clean ups USB: kl5usb105: fix memory leak USB: io_ti: use kfifo to implement write buffering USB: io_ti: remove unsused private counter USB: ti_usb: use kfifo to implement write buffering USB: ir-usb: fix incorrect write-buffer length USB: aircable: fix incorrect write-buffer length USB: safe_serial: straighten out read processing USB: safe_serial: reimplement read using generic framework USB: safe_serial: reimplement write using generic framework usb-storage: always print quirks USB: usb-storage: trivial debug improvements USB: oti6858: use port write fifo USB: oti6858: use kfifo to implement write buffering USB: cypress_m8: use kfifo to implement write buffering USB: cypress_m8: remove unused drain define ... Fix up conflicts (due to usb_buffer_alloc/free renaming) in drivers/input/tablet/acecad.c drivers/input/tablet/kbtab.c drivers/input/tablet/wacom_sys.c drivers/media/video/gspca/gspca.c sound/usb/usbaudio.c
| * | USB: remove unused usb_buffer_alloc and usb_buffer_free macrosGreg Kroah-Hartman2010-05-201-12/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | Now that all callers are converted over, remove the compatibility functions and all is good. Cc: Daniel Mack <daniel@caiaq.de> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
| * | usb: musb: update gfp/slab.h includesTejun Heo2010-05-201-1/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Implicit slab.h inclusion via percpu.h is about to go away. Make sure gfp.h or slab.h is included as necessary. Signed-off-by: Tejun Heo <tj@kernel.org> Cc: Stephen Rothwell <sfr@canb.auug.org.au> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
| * | USB: ftdi_sio: fix legacy SIO-device headerJohan Hovold2010-05-201-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | Length field of header was incorrectly set to available payload space rather than the actual payload size. Signed-off-by: Johan Hovold <jhovold@gmail.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
| * | USB: kl5usb105: reimplement using generic frameworkJohan Hovold2010-05-201-333/+47
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Kill custom read and write implementations (static per-port, singleton(!) urb pool). Also remove changelog header (can be retrieved through git). Read processing and write-buffer handling tested using a cp210x device in a loopback setup. Signed-off-by: Johan Hovold <jhovold@gmail.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
| * | USB: kl5usb105: minor clean upsJohan Hovold2010-05-201-46/+33
| | | | | | | | | | | | | | | | | | | | | Whitespace changes and some removed comments. Signed-off-by: Johan Hovold <jhovold@gmail.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
| * | USB: kl5usb105: fix memory leakJohan Hovold2010-05-201-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | Private data was not freed on error path in startup. Cc: stable <stable@kernel.org> Signed-off-by: Johan Hovold <jhovold@gmail.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
| * | USB: io_ti: use kfifo to implement write bufferingJohan Hovold2010-05-201-210/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | | Kill custom fifo implementation. Compile-only tested. Signed-off-by: Johan Hovold <jhovold@gmail.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
| * | USB: io_ti: remove unsused private counterJohan Hovold2010-05-201-5/+0
| | | | | | | | | | | | | | | Signed-off-by: Johan Hovold <jhovold@gmail.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
| * | USB: ti_usb: use kfifo to implement write bufferingJohan Hovold2010-05-201-165/+14
| | | | | | | | | | | | | | | | | | | | | | | | | | | Kill custom fifo implementation. Compile-only tested. Signed-off-by: Johan Hovold <jhovold@gmail.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
| * | USB: ir-usb: fix incorrect write-buffer lengthJohan Hovold2010-05-201-1/+3
| | | | | | | | | | | | | | | | | | | | | Returned length should include header length. Signed-off-by: Johan Hovold <jhovold@gmail.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
| * | USB: aircable: fix incorrect write-buffer lengthJohan Hovold2010-05-201-1/+1
| | | | | | | | | | | | | | | | | | | | | Returned length should include header length. Signed-off-by: Johan Hovold <jhovold@gmail.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
| * | USB: safe_serial: straighten out read processingJohan Hovold2010-05-201-22/+21
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Clean up read processing logic. Tested using a cp210x device in a loopback setup. Signed-off-by: Johan Hovold <jhovold@gmail.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
| * | USB: safe_serial: reimplement read using generic frameworkJohan Hovold2010-05-201-39/+8
| | | | | | | | | | | | | | | | | | | | | | | | Use process_read_urb to implement read processing. Signed-off-by: Johan Hovold <jhovold@gmail.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
| * | USB: safe_serial: reimplement write using generic frameworkJohan Hovold2010-05-201-111/+32
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Kill custom single-urb write implementation. Note that this driver still depended on the write callback from the old generic framework. Tested against original read processing using a cp210x device in a loopback setup. Signed-off-by: Johan Hovold <jhovold@gmail.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
| * | usb-storage: always print quirksFelipe Contreras2010-05-201-3/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Right now quirks are printed only when the are manually overriden with the module parameters. It's not so useful to remind the user that his parameters are correctly applied; what is useful is to print out the quirks the user is not aware are being applied. So let's do the smart thing and print the quirks when they are present. Signed-off-by: Felipe Contreras <felipe.contreras@gmail.com> Cc: Alan Stern <stern@rowland.harvard.edu> Cc: Matthew Dharm <mdharm-usb@one-eyed-alien.net> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
| * | USB: usb-storage: trivial debug improvementsFelipe Contreras2010-05-201-29/+32
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Use pr_foo and dev_foo instead of printk. Maybe US_DEBUG* should be replaced too. Signed-off-by: Felipe Contreras <felipe.contreras@gmail.com> Cc: Matthew Dharm <mdharm-usb@one-eyed-alien.net> Cc: Alan Stern <stern@rowland.harvard.edu> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
| * | USB: oti6858: use port write fifoJohan Hovold2010-05-201-37/+25
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Kill private write fifo and use port fifo instead (protected under port lock). Compile-only tested. Signed-off-by: Johan Hovold <jhovold@gmail.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
| * | USB: oti6858: use kfifo to implement write bufferingJohan Hovold2010-05-201-201/+17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Kill custom fifo implementation. Use private write fifo to minimise changes to lock handling. Compile-only tested. Signed-off-by: Johan Hovold <jhovold@gmail.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
| * | USB: cypress_m8: use kfifo to implement write bufferingJohan Hovold2010-05-201-222/+17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Kill custom fifo implementation. Note that cypress_m8 has no port write fifo as it has no bulk-out endpoint. Compile-only tested. Signed-off-by: Johan Hovold <jhovold@gmail.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
| * | USB: cypress_m8: remove unused drain defineJohan Hovold2010-05-201-1/+0
| | | | | | | | | | | | | | | | | | | | | | | | Driver uses tty-port drain these days. Signed-off-by: Johan Hovold <jhovold@gmail.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
| * | USB: usb_debug: set bulk out size at probeJohan Hovold2010-05-201-7/+1
| | | | | | | | | | | | | | | | | | | | | | | | Use bulk_out_size in usb_serial_driver to set urb buffer size. Signed-off-by: Johan Hovold <jhovold@gmail.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
| * | USB: gadget: Use kmemdupJulia Lawall2010-05-201-2/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Use kmemdup when some other buffer is immediately copied into the allocated region. A simplified version of the semantic patch that makes this change is as follows: (http://coccinelle.lip6.fr/) // <smpl> @@ expression from,to,size,flag; statement S; @@ - to = \(kmalloc\|kzalloc\)(size,flag); + to = kmemdup(from,size,flag); if (to==NULL || ...) S - memcpy(to, from, size); // </smpl> Signed-off-by: Julia Lawall <julia@diku.dk> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
| * | USB: CP210x New Device IDs 11 New device IDsCraig Shelley2010-05-201-0/+11
| | | | | | | | | | | | | | | | | | | | | Signed-off-by: Craig Shelley <craig@microtron.org.uk> Cc: stable <stable@kernel.org> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
| * | USB: visor: increase bulk-out buffer sizeJohan Hovold2010-05-201-0/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Increase the bulk-out buffer size to avoid any regression in throughput after replacing the old writing scheme which used dynamic buffers (e.g. up to 2k). 256b has been determined to be a good choice for several drivers including ftdi_sio which used to have a more or less identical write implementation. Signed-off-by: Johan Hovold <jhovold@gmail.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
| * | USB: belkin_sa: implement line status handlingJohan Hovold2010-05-201-26/+51
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Use process_read_urb to implement line status handling. Compile-only tested. Signed-off-by: Johan Hovold <jhovold@gmail.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
| * | USB: belkin_sa: clean up openJohan Hovold2010-05-201-15/+6
| | | | | | | | | | | | | | | | | | | | | | | | Use generic open to submit read urb. Signed-off-by: Johan Hovold <jhovold@gmail.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>