27 Nov, 2011

1 commit

  • Move the "Device Drivers/Microsoft Hyper-V guest support"
    menu entry up such that it appears immediately below virtio
    (KVM and lguest guest driver support) instead of after a
    hypervisor driver menu entry.

    Signed-off-by: Bart Van Assche
    Cc: Greg Kroah-Hartman
    Cc: James Bottomley
    Cc: K. Y. Srinivasan
    Signed-off-by: Greg Kroah-Hartman

    Bart Van Assche
     

23 Nov, 2011

1 commit


19 Nov, 2011

13 commits

  • The previous patch left an unused variable, I apologize.

    Signed-off-by: Alessandro Rubini
    Signed-off-by: Greg Kroah-Hartman

    Alessandro Rubini
     
  • Signed-off-by: Alessandro Rubini
    Signed-off-by: Greg Kroah-Hartman

    Alessandro Rubini
     
  • This a use example of the regs32 utilities in debugfs, although
    this fuse use ":" as separator between name and value, and debugs
    uses "=" (as it looked to me a more common practice).

    Signed-off-by: Alessandro Rubini
    Acked-by: Felipe Balbi
    Signed-off-by: Greg Kroah-Hartman

    Alessandro Rubini
     
  • Some debugfs file I deal with are mostly blocks of registers,
    i.e. lines of the form " = 0x". Some files are only
    registers, some include registers blocks among other material. This
    patch introduces data structures and functions to deal with both
    cases. I expect more users of this over time.

    Signed-off-by: Alessandro Rubini
    Acked-by: Giancarlo Asnaghi
    Cc: Felipe Balbi
    Signed-off-by: Greg Kroah-Hartman

    Alessandro Rubini
     
  • This converts the remaining USB drivers in the kernel to use the
    module_usb_driver() macro which makes the code smaller and a bit
    simpler.

    Added bonus is that it removes some unneeded kernel log messages about
    drivers loading and/or unloading.

    Cc: Guenter Roeck
    Cc: Jean Delvare
    Cc: Ben Dooks
    Cc: Till Harbaum
    Cc: Karsten Keil
    Cc: Chris Ball
    Cc: David Woodhouse
    Cc: Lauro Ramos Venancio
    Cc: Aloisio Almeida Jr
    Cc: Samuel Ortiz
    Cc: Steve Glendinning
    Cc: Florian Tobias Schandinat
    Cc: Evgeniy Polyakov
    Cc: Wim Van Sebroeck
    Cc: "David S. Miller"
    Cc: Jesper Juhl
    Cc: Artem Bityutskiy
    Cc: Jamie Iles
    Cc: Andrew Morton
    Signed-off-by: Greg Kroah-Hartman

    Greg Kroah-Hartman
     
  • This converts the drivers in sound/* to use the
    module_usb_driver() macro which makes the code smaller and a bit
    simpler.

    Added bonus is that it removes some unneeded kernel log messages about
    drivers loading and/or unloading.

    Cc: Jaroslav Kysela
    Cc: Takashi Iwai
    Cc: Daniel Mack
    Cc: Clemens Ladisch
    Cc: Torsten Schenk
    Cc: Paul Gortmaker
    Cc: Karsten Wiese
    Signed-off-by: Greg Kroah-Hartman

    Greg Kroah-Hartman
     
  • This converts the drivers in drivers/hid/* to use the
    module_usb_driver() macro which makes the code smaller and a bit
    simpler.

    Added bonus is that it removes some unneeded kernel log messages about
    drivers loading and/or unloading.

    Cc: Jiri Kosina
    Signed-off-by: Greg Kroah-Hartman

    Greg Kroah-Hartman
     
  • This converts the drivers in drivers/input/* to use the
    module_usb_driver() macro which makes the code smaller and a bit
    simpler.

    Added bonus is that it removes some unneeded kernel log messages about
    drivers loading and/or unloading.

    Cc: Dmitry Torokhov
    Cc: Ville Syrjala
    Cc: Henk Vergonet
    Cc: Alessandro Rubini
    Cc: Henrik Rydberg
    Cc: "Magnus Hörlin"
    Cc: Chris Moeller
    Cc: Christoph Fritz
    Cc: Lucas De Marchi
    Cc: Jesper Juhl
    Cc: Edwin van Vliet
    Cc: Ping Cheng
    Cc: Eduard Hasenleithner
    Cc: Alexander Strakh
    Cc: Glenn Sommer
    Signed-off-by: Greg Kroah-Hartman

    Greg Kroah-Hartman
     
  • This converts the drivers in drivers/bluetooth/* to use the
    module_usb_driver() macro which makes the code smaller and a bit
    simpler.

    Added bonus is that it removes some unneeded kernel log messages about
    drivers loading and/or unloading.

    Cc: Marcel Holtmann
    Cc: "Gustavo F. Padovan"
    Signed-off-by: Greg Kroah-Hartman

    Greg Kroah-Hartman
     
  • This converts the drivers in drivers/media/* to use the
    module_usb_driver() macro which makes the code smaller and a bit
    simpler.

    Added bonus is that it removes some unneeded kernel log messages about
    drivers loading and/or unloading.

    Cc: Mauro Carvalho Chehab
    Cc: Luca Risolia
    Cc: Jean-Francois Moine
    Cc: Frank Zago
    Cc: Olivier Lorin
    Cc: Erik Andren
    Cc: Hans de Goede
    Cc: Brian Johnson
    Cc: Leandro Costantino
    Cc: Antoine Jacquet
    Cc: Jarod Wilson
    Cc: Florian Mickler
    Cc: Antti Palosaari
    Cc: Michael Krufky
    Cc: "David Härdeman"
    Cc: Florent Audebert
    Cc: Sam Doshi
    Cc: Manu Abraham
    Cc: Olivier Grenie
    Cc: Patrick Boettcher
    Cc: "Igor M. Liplianin"
    Cc: Derek Kelly
    Cc: Malcolm Priestley
    Cc: Steven Toth
    Cc: "André Weidemann"
    Cc: Martin Wilks
    Cc: Tejun Heo
    Cc: Jose Alberto Reguero
    Cc: David Henningsson
    Cc: Paul Gortmaker
    Cc: Joe Perches
    Cc: Jesper Juhl
    Cc: Lucas De Marchi
    Cc: Hans Verkuil
    Cc: Alexey Khoroshilov
    Cc: Anssi Hannula
    Cc: Rafi Rubin
    Cc: Dan Carpenter
    Cc: Paul Bender
    Cc: Devin Heitmueller
    Cc: "Márcio A Alves"
    Cc: Julia Lawall
    Cc: Laurent Pinchart
    Cc: Chris Rankin
    Cc: Lee Jones
    Cc: Andy Walls
    Cc: Andrew Morton
    Cc: Mike Frysinger
    Cc: Dean Anderson
    Cc: Pete Eberlein
    Cc: Arvydas Sidorenko
    Cc: Andrea Anacleto
    Signed-off-by: Greg Kroah-Hartman

    Greg Kroah-Hartman
     
  • This converts the drivers in drivers/net/* to use the
    module_usb_driver() macro which makes the code smaller and a bit
    simpler.

    Added bonus is that it removes some unneeded kernel log messages about
    drivers loading and/or unloading.

    Cc: Wolfgang Grandegger
    Cc: Samuel Ortiz
    Cc: Oliver Neukum
    Cc: Peter Korsgaard
    Cc: Petko Manolov
    Cc: Steve Glendinning
    Cc: Christian Lamparter
    Cc: "John W. Linville"
    Cc: Dan Williams
    Cc: Jussi Kivilinna
    Cc: Ivo van Doorn
    Cc: Gertjan van Wingerde
    Cc: Helmut Schaa
    Cc: Herton Ronaldo Krzesinski
    Cc: Hin-Tak Leung
    Cc: Larry Finger
    Cc: Chaoming Li
    Cc: Lucas De Marchi
    Cc: "David S. Miller"
    Cc: Roel Kluin
    Cc: Paul Gortmaker
    Cc: Jiri Pirko
    Cc: Pavel Roskin
    Cc: Yoann DI-RUZZA
    Cc: George
    Signed-off-by: Greg Kroah-Hartman

    Greg Kroah-Hartman
     
  • This converts the drivers in drivers/staging/* to use the
    module_usb_driver() macro which makes the code smaller and a bit
    simpler.

    Added bonus is that it removes some unneeded kernel log messages about
    drivers loading and/or unloading.

    Cc: "David Täht"
    Cc: Marek Belisko
    Cc: Al Cho
    Cc: Forest Bond
    Cc: Pavel Machek
    Cc: Huajun Li
    Cc: Zac Storer
    Cc: Randy Dunlap
    Cc: Mauro Carvalho Chehab
    Cc: edwin_rong
    Cc: Ben Hutchings
    Cc: Julia Lawall
    Cc: Ilia Mirkin
    Cc: Joe Perches
    Cc: Pekka Enberg
    Cc: "John W. Linville"
    Cc: Paul Gortmaker
    Cc: Larry Finger
    Signed-off-by: Greg Kroah-Hartman

    Greg Kroah-Hartman
     
  • This converts the drivers in drivers/usb/* to use the
    module_usb_driver() macro which makes the code smaller and a bit
    simpler.

    Added bonus is that it removes some unneeded kernel log messages about
    drivers loading and/or unloading.

    Cc: Simon Arlott
    Cc: Duncan Sands
    Cc: Matthieu CASTET
    Cc: Stanislaw Gruszka
    Cc: Pete Zaitcev
    Cc: Oliver Neukum
    Cc: Juergen Stuber
    Cc: Cesar Miquel
    Cc: Matthew Dharm
    Cc: Matthew Wilcox
    Cc: Sarah Sharp
    Cc: Kuninori Morimoto
    Cc: Felipe Balbi
    Cc: Lucas De Marchi
    Cc: Michael Hund
    Cc: Zack Parsons
    Cc: Melchior FRANZ
    Cc: Tomoki Sekiyama
    Cc: Dan Carpenter
    Signed-off-by: Greg Kroah-Hartman

    Greg Kroah-Hartman
     

18 Nov, 2011

7 commits

  • This patch introduces the module_usb_driver macro which is a convenience
    macro for USB driver modules similar to module_platform_driver. It is
    intended to be used by drivers which init/exit section does nothing but
    register/unregister the USB driver. By using this macro it is possible
    to eliminate a few lines of boilerplate code per USB driver.

    Based on work done by Lars-Peter Clausen for other
    busses (i2c and spi).

    Cc: Lars-Peter Clausen
    Signed-off-by: Greg Kroah-Hartman

    Greg Kroah-Hartman
     
  • Use the newly introduced module_spi_driver macro for registering SPI drivers.
    This allows us to remove a few lines of boilerplate code.

    Signed-off-by: Lars-Peter Clausen
    Acked-by: Grant Likely
    Acked-by: Jonathan Cameron
    Acked-by: Wolfram Sang
    Signed-off-by: Greg Kroah-Hartman

    Lars-Peter Clausen
     
  • Use the newly introduced module_i2c_driver macro for registering I2C drivers.
    This allows us to remove a few lines of boilerplate code.

    Signed-off-by: Lars-Peter Clausen
    Acked-by: Jonathan Cameron
    Acked-by: Wolfram Sang
    Signed-off-by: Greg Kroah-Hartman

    Lars-Peter Clausen
     
  • This patch introduces the module_spi_driver macro which is a convenience macro
    for SPI driver modules similar to module_platform_driver. It is intended to be
    used by drivers which init/exit section does nothing but register/unregister
    the SPI driver. By using this macro it is possible to eliminate a few lines of
    boilerplate code per SPI driver.

    Signed-off-by: Lars-Peter Clausen
    Acked-by: Grant Likely
    Acked-by: Wolfram Sang
    Signed-off-by: Greg Kroah-Hartman

    Lars-Peter Clausen
     
  • This patch introduces the module_i2c_driver macro which is a convenience macro
    for I2C driver modules similar to module_platform_driver. It is intended to be
    used by drivers which init/exit section does nothing but register/unregister
    the I2C driver. By using this macro it is possible to eliminate a few lines of
    boilerplate code per I2C driver.

    Signed-off-by: Lars-Peter Clausen
    Acked-by: Grant Likely
    Acked-by: Jonathan Cameron
    Acked-by: Wolfram Sang
    Acked-by: Jean Delvare
    Signed-off-by: Greg Kroah-Hartman

    Lars-Peter Clausen
     
  • This patch generalizes the module_platform_driver macro and introduces a new
    module_driver macro. The module_driver macro takes a driver name, a register
    and a unregister function for this driver type. Using these it construct the
    module init and exit sections which register and unregister the driver. Since
    such init/exit sections are commonly found in drivers this macro can be used
    to eliminate a lot of boilerplate code.

    The macro is not intended to be used by driver modules directly, instead it
    should be used to generate bus specific macros for registering drivers like
    the module_platform_driver macro.

    Signed-off-by: Lars-Peter Clausen
    Acked-by: Grant Likely
    Acked-by: Jonathan Cameron
    Acked-by: Wolfram Sang
    Signed-off-by: Greg Kroah-Hartman

    Lars-Peter Clausen
     
  • w1_therm devices can either be bus powered or externally powered.

    When device is bus powered during temperature conversion the bus
    have to be left high to provide necessary power. Some masters also allow
    strong power-up to be enabled in this case.
    Naturally, no communication over bus can occur during that time.

    However, if device has external power then there is no such restriction,
    and host can talk to other devices during temperature conversion.

    There is command which allows us to check how device is powered,
    this patch uses it to release the bus on externally w1_therm powered devices
    during temperature conversion.

    Also, this changes uninterruptible sleeps there into interruptible ones to
    avoid long uninterruptible sleep if w1 subsystem happens to grab bus for
    scan during w1_therm_read().

    Signed-off-by: Maciej Szmigiero
    Acked-by: Evgeniy Polyakov
    Signed-off-by: Greg Kroah-Hartman

    Maciej Szmigiero
     

16 Nov, 2011

3 commits

  • - Set the state to TASK_INTERRUPTIBLE using __set_current_state()
    instead of set_current_state() as the spin_unlock is an implicit memory
    barrier.

    - After return from schedule(), there is no need to set the current
    state to TASK_RUNNING - a call to schedule() always returns in
    TASK_RUNNING state.

    Signed-off-by: Kautuk Consul
    Signed-off-by: Andrew Morton
    Signed-off-by: Greg Kroah-Hartman

    Kautuk Consul
     
  • Almost every platform_driver does the three steps get_resource,
    request_mem_region, ioremap. This does not only lead to a lot of code
    duplication, but also a huge number of similar error strings and
    inconsistent error codes on failure. So, introduce a helper function
    which simplifies remapping a resource and make it hard to do something
    wrong and add documentation for it.

    Signed-off-by: Wolfram Sang
    Acked-by: Grant Likely
    Acked-by: Tejun Heo
    Signed-off-by: Greg Kroah-Hartman

    Wolfram Sang
     
  • While working on devres, I found those make navigating the code a tad
    easier.

    Signed-off-by: Wolfram Sang
    Acked-by: Grant Likely
    Signed-off-by: Greg Kroah-Hartman

    Wolfram Sang
     

08 Nov, 2011

15 commits

  • .. with new name. Because nothing says "really solid kernel release"
    like naming it after an extinct animal that just happened to be in the
    news lately.

    Linus Torvalds
     
  • * 'fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap: (31 commits)
    ARM: OMAP: Fix export.h or module.h includes
    ARM: OMAP: omap_device: Include linux/export.h
    ARM: OMAP2: Fix H4 matrix keyboard warning
    ARM: OMAP1: Remove unused omap-alsa.h
    ARM: OMAP1: Fix warnings about enabling 32 KiHz timer
    ARM: OMAP2+: timer: Remove omap_device_pm_latency
    ARM: OMAP2+: clock data: Remove redundant timer clkdev
    ARM: OMAP: Devkit8000: Remove double omap_mux_init_gpio
    ARM: OMAP: usb: musb: OMAP: Delete unused function
    MAINTAINERS: Update linux-omap git repository
    ARM: OMAP: change get_context_loss_count ret value to int
    ARM: OMAP4: hsmmc: configure SDMMC1_DR0 properly
    ARM: OMAP4: hsmmc: Fix Pbias configuration on regulator OFF
    ARM: OMAP3: hwmod: fix variant registration and remove SmartReflex from common list
    ARM: OMAP: I2C: Fix omap_register_i2c_bus() return value on success
    ARM: OMAP: dmtimer: Include linux/module.h
    ARM: OMAP2+: l3-noc: Include linux/module.h
    ARM: OMAP2+: devices: Fixes for McPDM
    ARM: OMAP: Fix errors and warnings when building for one board
    ARM: OMAP3: PM: restrict erratum i443 handling to OMAP3430 only
    ...

    Linus Torvalds
     
  • Mountpoint crossing is similar to following procfs symlinks - we do
    not get ->d_revalidate() called for dentry we have arrived at, with
    unpleasant consequences for NFS4.

    Simple way to reproduce the problem in mainline:

    cat >/tmp/a.c <
    #include
    #include
    main()
    {
    struct flock fl = {.l_type = F_RDLCK, .l_whence = SEEK_SET, .l_len = 1};
    if (fcntl(0, F_SETLK, &fl))
    perror("setlk");
    }
    EOF
    cc /tmp/a.c -o /tmp/test

    then on nfs4:

    mount --bind file1 file2
    /tmp/test < file1 # ok
    /tmp/test < file2 # spews "setlk: No locks available"...

    What happens is the missing call of ->d_revalidate() after mountpoint
    crossing and that's where NFS4 would issue OPEN request to server.

    The fix is simple - treat mountpoint crossing the same way we deal with
    following procfs-style symlinks. I.e. set LOOKUP_JUMPED...

    Cc: stable@kernel.org
    Signed-off-by: Al Viro
    Signed-off-by: Linus Torvalds

    Al Viro
     
  • * 'perf-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
    perf top: Fix live annotation in the --stdio interface
    perf top tui: Don't recalc column widths considering just the first page
    perf report: Add progress bar when processing time ordered events
    perf hists browser: Warn about lost events
    perf tools: Fix a typo of command name as trace-cmd
    perf hists: Fix recalculation of total_period when sorting entries
    perf header: Fix build on old systems
    perf ui browser: Handle K_RESIZE in dialog windows
    perf ui browser: No need to switch char sets that often
    perf hists browser: Use K_TIMER
    perf ui: Rename ui__warning_paranoid to ui__error_paranoid
    perf ui: Reimplement the popup windows using libslang
    perf ui: Reimplement ui__popup_menu using ui__browser
    perf ui: Reimplement ui_helpline using libslang
    perf ui: Improve handling sigwinch a bit
    perf ui progress: Reimplement using slang
    perf evlist: Fix grouping of multiple events

    Linus Torvalds
     
  • Tony Lindgren
     
  • Commit 32aaeffbd4a7457bf2f7448b33b5946ff2a960eb (Merge branch
    'modsplit-Oct31_2011'...) caused some build errors. Fix these
    and make sure we always have export.h or module.h included
    for MODULE_ and EXPORT_SYMBOL users:

    $ grep -rl ^MODULE_ arch/arm/*omap*/*.c | xargs \
    grep -L linux/module.h
    arch/arm/mach-omap2/dsp.c
    arch/arm/mach-omap2/mailbox.c
    arch/arm/mach-omap2/omap-iommu.c
    arch/arm/mach-omap2/smartreflex.c

    Also check we either have export.h or module.h included
    for the files exporting symbols:

    $ grep -rl EXPORT_SYMBOL arch/arm/*omap*/*.c | xargs \
    grep -L linux/export.h | xargs grep -L linux/module.h

    Cc: Russell King
    Signed-off-by: Tony Lindgren

    Tony Lindgren
     
  • Include linux/export.h to fix below build warning:

    CC arch/arm/plat-omap/omap_device.o
    arch/arm/plat-omap/omap_device.c:1055: warning: data definition has no type or storage class
    arch/arm/plat-omap/omap_device.c:1055: warning: type defaults to 'int' in declaration of 'EXPORT_SYMBOL'
    arch/arm/plat-omap/omap_device.c:1055: warning: parameter names (without types) in function declaration

    Signed-off-by: Axel Lin
    Signed-off-by: Tony Lindgren

    Axel Lin
     
  • * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net: (47 commits)
    forcedeth: fix a few sparse warnings (variable shadowing)
    forcedeth: Improve stats counters
    forcedeth: remove unneeded stats updates
    forcedeth: Acknowledge only interrupts that are being processed
    forcedeth: fix race when unloading module
    MAINTAINERS/rds: update maintainer
    wanrouter: Remove kernel_lock annotations
    usbnet: fix oops in usbnet_start_xmit
    ixgbe: Fix compile for kernel without CONFIG_PCI_IOV defined
    etherh: Add MAINTAINERS entry for etherh
    bonding: comparing a u8 with -1 is always false
    sky2: fix regression on Yukon Optima
    netlink: clarify attribute length check documentation
    netlink: validate NLA_MSECS length
    i825xx:xscale:8390:freescale: Fix Kconfig dependancies
    macvlan: receive multicast with local address
    tg3: Update version to 3.121
    tg3: Eliminate timer race with reset_task
    tg3: Schedule at most one tg3_reset_task run
    tg3: Obtain PCI function number from device
    ...

    Linus Torvalds
     
  • Signed-off-by: Al Viro
    Signed-off-by: Linus Torvalds

    Al Viro
     
  • This fixes the following sparse warnings:
    drivers/net/ethernet/nvidia/forcedeth.c:2113:7: warning: symbol 'size' shadows an earlier one
    drivers/net/ethernet/nvidia/forcedeth.c:2102:6: originally declared here
    drivers/net/ethernet/nvidia/forcedeth.c:2155:7: warning: symbol 'size' shadows an earlier one
    drivers/net/ethernet/nvidia/forcedeth.c:2102:6: originally declared here
    drivers/net/ethernet/nvidia/forcedeth.c:2227:7: warning: symbol 'size' shadows an earlier one
    drivers/net/ethernet/nvidia/forcedeth.c:2215:6: originally declared here
    drivers/net/ethernet/nvidia/forcedeth.c:2271:7: warning: symbol 'size' shadows an earlier one
    drivers/net/ethernet/nvidia/forcedeth.c:2215:6: originally declared here
    drivers/net/ethernet/nvidia/forcedeth.c:2986:20: warning: symbol 'addr' shadows an earlier one
    drivers/net/ethernet/nvidia/forcedeth.c:2963:6: originally declared here

    Signed-off-by: David Decotigny
    Signed-off-by: David S. Miller

    david decotigny
     
  • Rx byte count was off; instead use the hardware's count. Tx packet
    count was counting pre-TSO packets; instead count on-the-wire packets.
    Report hardware dropped frame count as rx_fifo_errors.

    - The count of transmitted packets reported by the forcedeth driver
    reports pre-TSO (TCP Segmentation Offload) packet counts and not the
    count of the number of packets sent on the wire. This change fixes
    the forcedeth driver to report the correct count. Fixed the code by
    copying the count stored in the NIC H/W to the value reported by the
    driver.

    - Count rx_drop_frame errors as rx_fifo_errors:
    We see a lot of rx_drop_frame errors if we disable the rx bottom-halves
    for too long. Normally, rx_fifo_errors would be counted in this case.
    The rx_drop_frame error count is private to forcedeth and is not
    reported by ifconfig or sysfs. The rx_fifo_errors count is currently
    unused in the forcedeth driver. It is reported by ifconfig as overruns.
    This change reports rx_drop_frame errors as rx_fifo_errors.

    Signed-off-by: David Decotigny
    Signed-off-by: David S. Miller

    Mandeep Baines
     
  • Function ndo_get_stats() updates most of the stats from hardware
    registers, making the manual updates un-needed. This change removes
    these manual updates. Main exception is rx_missed_errors which needs
    manual update.

    Another exception is rx_packets, still updated manually in this commit
    to make sure this patch doesn't change behavior of driver. This will
    be addressed by a future patch.

    Signed-off-by: David Decotigny
    Signed-off-by: David S. Miller

    david decotigny
     
  • This is to avoid a race, accidentally acknowledging an interrupt that
    we didn't notice and won't immediately process. This is based solely
    on code inspection; it is not known if there was an actual bug here.

    Signed-off-by: David Decotigny
    Signed-off-by: David S. Miller

    Mike Ditto
     
  • When forcedeth module is unloaded, there exists a path that can lead
    to mod_timer() after del_timer_sync(), causing an oops. This patch
    short-circuits this unneeded path, which originates in
    nv_get_ethtool_stats().

    Tested:
    x86_64 16-way + 3 ethtool -S infinite loops + 100Mbps incoming traffic
    + rmmod/modprobe/ifconfig in a loop

    Initial-Author: Salman Qazi
    Discussion: http://patchwork.ozlabs.org/patch/123548/

    Signed-off-by: David Decotigny
    Signed-off-by: David S. Miller

    david decotigny
     
  • Reported-by: Witold Baryluk
    Signed-off-by: Stephen Rothwell
    Signed-off-by: Paul Gortmaker
    Signed-off-by: Linus Torvalds

    Stephen Rothwell