Skip to content
Commits on Jun 19, 2012
  1. @bwhacks

    Linux 3.2.21

    bwhacks committed Jun 19, 2012
  2. @bwhacks

    drm/radeon: add some additional 6xx/7xx/EG register init

    Alex Deucher committed with bwhacks Jun 14, 2012
    commit b866d13 upstream.
    
    - SMX_SAR_CTL0 needs to be programmed correctly to prevent
    problems with memory exports in certain cases.
    - VC_ENHANCE needs to be initialized on 6xx/7xx.
    
    Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
    Signed-off-by: Dave Airlie <airlied@redhat.com>
    Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
  3. @bwhacks

    swap: fix shmem swapping when more than 8 areas

    Hugh Dickins committed with bwhacks Jun 15, 2012
    commit 9b15b81 upstream.
    
    Minchan Kim reports that when a system has many swap areas, and tmpfs
    swaps out to the ninth or more, shmem_getpage_gfp()'s attempts to read
    back the page cannot locate it, and the read fails with -ENOMEM.
    
    Whoops.  Yes, I blindly followed read_swap_header()'s pte_to_swp_entry(
    swp_entry_to_pte()) technique for determining maximum usable swap
    offset, without stopping to realize that that actually depends upon the
    pte swap encoding shifting swap offset to the higher bits and truncating
    it there.  Whereas our radix_tree swap encoding leaves offset in the
    lower bits: it's swap "type" (that is, index of swap area) that was
    truncated.
    
    Fix it by reducing the SWP_TYPE_SHIFT() in swapops.h, and removing the
    broken radix_to_swp_entry(swp_to_radix_entry()) from read_swap_header().
    
    This does not reduce the usable size of a swap area any further, it
    leaves it as claimed when making the original commit: no change from 3.0
    on x86_64, nor on i386 without PAE; but 3.0's 512GB is reduced to 128GB
    per swapfile on i386 with PAE.  It's not a change I would have risked
    five years ago, but with x86_64 supported for ten years, I believe it's
    appropriate now.
    
    Hmm, and what if some architecture implements its swap pte with offset
    encoded below type? That would equally break the maximum usable swap
    offset check.  Happily, they all follow the same tradition of encoding
    offset above type, but I'll prepare a check on that for next.
    
    Reported-and-Reviewed-and-Tested-by: Minchan Kim <minchan@kernel.org>
    Signed-off-by: Hugh Dickins <hughd@google.com>
    Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
    Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
  4. @zonque @bwhacks

    USB: fix gathering of interface associations

    zonque committed with bwhacks Jun 12, 2012
    commit b3a3dd0 upstream.
    
    TEAC's UD-H01 (and probably other devices) have a gap in the interface
    number allocation of their descriptors:
    
      Configuration Descriptor:
        bLength                 9
        bDescriptorType         2
        wTotalLength          220
        bNumInterfaces          3
        [...]
        Interface Descriptor:
          bLength                 9
          bDescriptorType         4
          bInterfaceNumber        0
          bAlternateSetting       0
          [...]
        Interface Association:
          bLength                 8
          bDescriptorType        11
          bFirstInterface         2
          bInterfaceCount         2
          bFunctionClass          1 Audio
          bFunctionSubClass       0
          bFunctionProtocol      32
          iFunction               4
        Interface Descriptor:
          bLength                 9
          bDescriptorType         4
          bInterfaceNumber        2
          bAlternateSetting       0
          [...]
    
    Once a configuration is selected, usb_set_configuration() walks the
    known interfaces of a given configuration and calls find_iad() on
    each of them to set the interface association pointer the interface
    is included in.
    
    The problem here is that the loop variable is taken for the interface
    number in the comparison logic that gathers the association. Which is
    fine as long as the descriptors are sane.
    
    In the case above, however, the logic gets out of sync and the
    interface association fields of all interfaces beyond the interface
    number gap are wrong.
    
    Fix this by passing the interface's bInterfaceNumber to find_iad()
    instead.
    
    Signed-off-by: Daniel Mack <zonque@gmail.com>
    Reported-by: bEN <ml_all@circa.be>
    Reported-by: Ivan Perrone <ivanperrone@hotmail.com>
    Tested-by: ivan perrone <ivanperrone@hotmail.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
    Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
  5. @bwhacks

    usb: cdc-acm: fix devices not unthrottled on open

    Otto Meta committed with bwhacks Jun 6, 2012
    commit 6c4707f upstream.
    
    Currently CDC-ACM devices stay throttled when their TTY is closed while
    throttled, stalling further communication attempts after the next open.
    
    Unthrottling during open/activate got lost starting with kernel
    3.0.0 and this patch reintroduces it.
    
    Signed-off-by: Otto Meta <otto.patches@sister-shadow.de>
    Acked-by: Johan Hovold <jhovold@gmail.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
    Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
  6. @rasmartins @bwhacks

    USB: fix PS3 EHCI systems

    rasmartins committed with bwhacks May 22, 2012
    commit 4f7a67e upstream.
    
    After commit aaa0ef2 "PS3 EHCI QH
    read work-around", Terratec Grabby (em28xx) stopped working with AMD
    Geode LX 800 (USB controller AMD CS5536). Since this is a PS3 only
    fix, the following patch adds a conditional block around it.
    
    Signed-off-by: Ricardo Martins <rasm@fe.up.pt>
    Acked-by: Alan Stern <stern@rowland.harvard.edu>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
    Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
  7. @glevand @bwhacks

    usb: PS3 EHCI QH read work-around

    glevand committed with bwhacks Nov 8, 2011
    commit aaa0ef2 upstream.
    
    PS3 EHCI HC errata fix 244.  The SCC EHCI HC will not correctly perform QH
    reads that occur near or span a micro-frame boundry.  This is due to a problem
    in the Nak Count Reload Control logic (EHCI Specification 1.0 Section 4.9.1).
    
    The work-around for this problem is for the HC driver to set I=1 (inactive) for
    QHs with H=1 (list head).
    
    Signed-off-by: Geoff Levand <geoff@infradead.org>
    Acked-by: Alan Stern <stern@rowland.harvard.edu>
    Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
  8. @Andiry @bwhacks

    xHCI: Increase the timeout for controller save/restore state operation

    Andiry committed with bwhacks Jun 13, 2012
    commit 622eb78 upstream.
    
    When system software decides to power down the xHC with the intent of
    resuming operation at a later time, it will ask xHC to save the internal
    state and restore it when resume to correctly recover from a power event.
    Two bits are used to enable this operation: Save State and Restore State.
    
    xHCI spec 4.23.2 says software should "Set the Controller Save/Restore
    State flag in the USBCMD register and wait for the Save/Restore State
    Status flag in the USBSTS register to transition to '0'". However, it does
    not define how long software should wait for the SSS/RSS bit to transition
    to 0.
    
    Currently the timeout is set to 1ms. There is bug report
    (https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1002697)
    indicates that the timeout is too short for ASMedia ASM1042 host controller
    to save/restore the state successfully. Increase the timeout to 10ms helps to
    resolve the issue.
    
    This patch should be backported to stable kernels as old as 2.6.37, that
    contain the commit 5535b1d "USB: xHCI:
    PCI power management implementation"
    
    Signed-off-by: Andiry Xu <andiry.xu@gmail.com>
    Signed-off-by: Sarah Sharp <sarah.a.sharp@linux.intel.com>
    Cc: Ming Lei <ming.lei@canonical.com>
    Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
  9. @tiwai @bwhacks

    xhci: Don't free endpoints in xhci_mem_cleanup()

    tiwai committed with bwhacks Jun 1, 2012
    commit 32f1d2c upstream.
    
    This patch fixes a few issues introduced in the recent fix
    [f8a9e72: USB: fix resource leak in xhci power loss path]
    
    - The endpoints listed in bw table are just links and each entry is an
     array member of dev->eps[].  But the commit above adds a kfree() call
     to these instances, and thus it results in memory corruption.
    
    - It clears only the first entry of rh_bw[], but there can be multiple
      ports.
    
    - It'd be safer to clear the list_head of ep as well, not only
      removing from the list, as it's checked in
      xhci_discover_or_reset_device().
    
    This patch should be backported to kernels as old as 3.2, that contain
    the commit 839c817 "xhci: Store
    information about roothubs and TTs."
    
    Signed-off-by: Takashi Iwai <tiwai@suse.de>
    Signed-off-by: Sarah Sharp <sarah.a.sharp@linux.intel.com>
    Reviewed-by: Oliver Neukum <oneukum@suse.de>
    Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
  10. @tiwai @bwhacks

    xhci: Fix invalid loop check in xhci_free_tt_info()

    tiwai committed with bwhacks Jun 1, 2012
    commit 46ed8f0 upstream.
    
    xhci_free_tt_info() may access the invalid memory when it removes the
    last entry but the list is not empty.  Then tt_next reaches to the
    list head but it still tries to check the tt_info of that entry.
    
    This patch fixes the bug and cleans up the messy code by rewriting
    with a simple list_for_each_entry_safe().
    
    This patch should be backported to kernels as old as 3.2, that contain
    the commit 839c817 "xhci: Store
    information about roothubs and TTs."
    
    Signed-off-by: Takashi Iwai <tiwai@suse.de>
    Signed-off-by: Sarah Sharp <sarah.a.sharp@linux.intel.com>
    Reviewed-by: Oliver Neukum <oneukum@suse.de>
    Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
  11. @bmork @bwhacks

    USB: serial: Enforce USB driver and USB serial driver match

    bmork committed with bwhacks May 30, 2012
    commit 954c3f8 upstream.
    
    We need to make sure that the USB serial driver we find
    matches the USB driver whose probe we are currently
    executing. Otherwise we will end up with USB serial
    devices bound to the correct serial driver but wrong
    USB driver.
    
    An example of such cross-probing, where the usbserial_generic
    USB driver has found the sierra serial driver:
    
    May 29 18:26:15 nemi kernel: [ 4442.559246] usbserial_generic 4-4:1.0: Sierra USB modem converter detected
    May 29 18:26:20 nemi kernel: [ 4447.556747] usbserial_generic 4-4:1.2: Sierra USB modem converter detected
    May 29 18:26:25 nemi kernel: [ 4452.557288] usbserial_generic 4-4:1.3: Sierra USB modem converter detected
    
    sysfs view of the same problem:
    
    bjorn@nemi:~$ ls -l /sys/bus/usb/drivers/sierra/
    total 0
    --w------- 1 root root 4096 May 29 18:23 bind
    lrwxrwxrwx 1 root root    0 May 29 18:23 module -> ../../../../module/usbserial
    --w------- 1 root root 4096 May 29 18:23 uevent
    --w------- 1 root root 4096 May 29 18:23 unbind
    bjorn@nemi:~$ ls -l /sys/bus/usb-serial/drivers/sierra/
    total 0
    --w------- 1 root root 4096 May 29 18:23 bind
    lrwxrwxrwx 1 root root    0 May 29 18:23 module -> ../../../../module/sierra
    -rw-r--r-- 1 root root 4096 May 29 18:23 new_id
    lrwxrwxrwx 1 root root    0 May 29 18:32 ttyUSB0 -> ../../../../devices/pci0000:00/0000:00:1d.7/usb4/4-4/4-4:1.0/ttyUSB0
    lrwxrwxrwx 1 root root    0 May 29 18:32 ttyUSB1 -> ../../../../devices/pci0000:00/0000:00:1d.7/usb4/4-4/4-4:1.2/ttyUSB1
    lrwxrwxrwx 1 root root    0 May 29 18:32 ttyUSB2 -> ../../../../devices/pci0000:00/0000:00:1d.7/usb4/4-4/4-4:1.3/ttyUSB2
    --w------- 1 root root 4096 May 29 18:23 uevent
    --w------- 1 root root 4096 May 29 18:23 unbind
    
    bjorn@nemi:~$ ls -l /sys/bus/usb/drivers/usbserial_generic/
    total 0
    lrwxrwxrwx 1 root root    0 May 29 18:33 4-4:1.0 -> ../../../../devices/pci0000:00/0000:00:1d.7/usb4/4-4/4-4:1.0
    lrwxrwxrwx 1 root root    0 May 29 18:33 4-4:1.2 -> ../../../../devices/pci0000:00/0000:00:1d.7/usb4/4-4/4-4:1.2
    lrwxrwxrwx 1 root root    0 May 29 18:33 4-4:1.3 -> ../../../../devices/pci0000:00/0000:00:1d.7/usb4/4-4/4-4:1.3
    --w------- 1 root root 4096 May 29 18:33 bind
    lrwxrwxrwx 1 root root    0 May 29 18:33 module -> ../../../../module/usbserial
    --w------- 1 root root 4096 May 29 18:22 uevent
    --w------- 1 root root 4096 May 29 18:33 unbind
    bjorn@nemi:~$ ls -l /sys/bus/usb-serial/drivers/generic/
    total 0
    --w------- 1 root root 4096 May 29 18:33 bind
    lrwxrwxrwx 1 root root    0 May 29 18:33 module -> ../../../../module/usbserial
    -rw-r--r-- 1 root root 4096 May 29 18:33 new_id
    --w------- 1 root root 4096 May 29 18:22 uevent
    --w------- 1 root root 4096 May 29 18:33 unbind
    
    So we end up with a mismatch between the USB driver and the
    USB serial driver.  The reason for the above is simple: The
    USB driver probe will succeed if *any* registered serial
    driver matches, and will use that serial driver for all
    serial driver functions.
    
    This makes ref counting go wrong. We count the USB driver
    as used, but not the USB serial driver.  This may result
    in Oops'es as demonstrated by Johan Hovold <jhovold@gmail.com>:
    
    [11811.646396] drivers/usb/serial/usb-serial.c: get_free_serial 1
    [11811.646443] drivers/usb/serial/usb-serial.c: get_free_serial - minor base = 0
    [11811.646460] drivers/usb/serial/usb-serial.c: usb_serial_probe - registering ttyUSB0
    [11811.646766] usb 6-1: pl2303 converter now attached to ttyUSB0
    [11812.264197] USB Serial deregistering driver FTDI USB Serial Device
    [11812.264865] usbcore: deregistering interface driver ftdi_sio
    [11812.282180] USB Serial deregistering driver pl2303
    [11812.283141] pl2303 ttyUSB0: pl2303 converter now disconnected from ttyUSB0
    [11812.283272] usbcore: deregistering interface driver pl2303
    [11812.301056] USB Serial deregistering driver generic
    [11812.301186] usbcore: deregistering interface driver usbserial_generic
    [11812.301259] drivers/usb/serial/usb-serial.c: usb_serial_disconnect
    [11812.301823] BUG: unable to handle kernel paging request at f8e7438c
    [11812.301845] IP: [<f8e38445>] usb_serial_disconnect+0xb5/0x100 [usbserial]
    [11812.301871] *pde = 357ef067 *pte = 00000000
    [11812.301957] Oops: 0000 [#1] PREEMPT SMP
    [11812.301983] Modules linked in: usbserial(-) [last unloaded: pl2303]
    [11812.302008]
    [11812.302019] Pid: 1323, comm: modprobe Tainted: G        W    3.4.0-rc7+ #101 Dell Inc. Vostro 1520/0T816J
    [11812.302115] EIP: 0060:[<f8e38445>] EFLAGS: 00010246 CPU: 1
    [11812.302130] EIP is at usb_serial_disconnect+0xb5/0x100 [usbserial]
    [11812.302141] EAX: f508a180 EBX: f508a180 ECX: 00000000 EDX: f8e74300
    [11812.302151] ESI: f5050800 EDI: 00000001 EBP: f5141e78 ESP: f5141e58
    [11812.302160]  DS: 007b ES: 007b FS: 00d8 GS: 0033 SS: 0068
    [11812.302170] CR0: 8005003b CR2: f8e7438c CR3: 34848000 CR4: 000007d0
    [11812.302180] DR0: 00000000 DR1: 00000000 DR2: 00000000 DR3: 00000000
    [11812.302189] DR6: ffff0ff0 DR7: 00000400
    [11812.302199] Process modprobe (pid: 1323, ti=f5140000 task=f61e2bc0 task.ti=f5140000)
    [11812.302209] Stack:
    [11812.302216]  f8e3be0f f8e3b29c f8e3ae00 00000000 f513641c f5136400 f513641c f507a540
    [11812.302325]  f5141e98 c133d2c1 00000000 00000000 f509c400 f513641c f507a590 f5136450
    [11812.302372]  f5141ea8 c12f0344 f513641c f507a590 f5141ebc c12f0c67 00000000 f507a590
    [11812.302419] Call Trace:
    [11812.302439]  [<c133d2c1>] usb_unbind_interface+0x51/0x190
    [11812.302456]  [<c12f0344>] __device_release_driver+0x64/0xb0
    [11812.302469]  [<c12f0c67>] driver_detach+0x97/0xa0
    [11812.302483]  [<c12f001c>] bus_remove_driver+0x6c/0xe0
    [11812.302500]  [<c145938d>] ? __mutex_unlock_slowpath+0xcd/0x140
    [11812.302514]  [<c12f0ff9>] driver_unregister+0x49/0x80
    [11812.302528]  [<c1457df6>] ? printk+0x1d/0x1f
    [11812.302540]  [<c133c50d>] usb_deregister+0x5d/0xb0
    [11812.302557]  [<f8e37c55>] ? usb_serial_deregister+0x45/0x50 [usbserial]
    [11812.302575]  [<f8e37c8d>] usb_serial_deregister_drivers+0x2d/0x40 [usbserial]
    [11812.302593]  [<f8e3a6e2>] usb_serial_generic_deregister+0x12/0x20 [usbserial]
    [11812.302611]  [<f8e3acf0>] usb_serial_exit+0x8/0x32 [usbserial]
    [11812.302716]  [<c1080b48>] sys_delete_module+0x158/0x260
    [11812.302730]  [<c110594e>] ? mntput+0x1e/0x30
    [11812.302746]  [<c145c3c3>] ? sysenter_exit+0xf/0x18
    [11812.302746]  [<c107777c>] ? trace_hardirqs_on_caller+0xec/0x170
    [11812.302746]  [<c145c390>] sysenter_do_call+0x12/0x36
    [11812.302746] Code: 24 02 00 00 e8 dd f3 20 c8 f6 86 74 02 00 00 02 74 b4 8d 86 4c 02 00 00 47 e8 78 55 4b c8 0f b6 43 0e 39 f8 7f a9 8b 53 04 89 d8 <ff> 92 8c 00 00 00 89 d8 e8 0e ff ff ff 8b 45 f0 c7 44 24 04 2f
    [11812.302746] EIP: [<f8e38445>] usb_serial_disconnect+0xb5/0x100 [usbserial] SS:ESP 0068:f5141e58
    [11812.302746] CR2: 00000000f8e7438c
    
    Fix by only evaluating serial drivers pointing back to the
    USB driver we are currently probing.  This still allows two
    or more drivers to match the same device, running their
    serial driver probes to sort out which one to use.
    
    Signed-off-by: Bjørn Mork <bjorn@mork.no>
    Reviewed-by: Felipe Balbi <balbi@ti.com>
    Tested-by: Johan Hovold <jhovold@gmail.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
    Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
  12. @bwhacks

    USB: add NO_D3_DURING_SLEEP flag and revert 151b612

    Alan Stern committed with bwhacks Jun 13, 2012
    commit c2fb8a3 upstream.
    
    This patch (as1558) fixes a problem affecting several ASUS computers:
    The machine crashes or corrupts memory when going into suspend if the
    ehci-hcd driver is bound to any controllers.  Users have been forced
    to unbind or unload ehci-hcd before putting their systems to sleep.
    
    After extensive testing, it was determined that the machines don't
    like going into suspend when any EHCI controllers are in the PCI D3
    power state.  Presumably this is a firmware bug, but there's nothing
    we can do about it except to avoid putting the controllers in D3
    during system sleep.
    
    The patch adds a new flag to indicate whether the problem is present,
    and avoids changing the controller's power state if the flag is set.
    Runtime suspend is unaffected; this matters only for system suspend.
    However as a side effect, the controller will not respond to remote
    wakeup requests while the system is asleep.  Hence USB wakeup is not
    functional -- but of course, this is already true in the current state
    of affairs.
    
    A similar patch has already been applied as commit
    151b612 (USB: EHCI: fix crash during
    suspend on ASUS computers).  The patch supersedes that one and reverts
    it.  There are two differences:
    
    	The old patch added the flag at the USB level; this patch
    	adds it at the PCI level.
    
    	The old patch applied to all chipsets with the same vendor,
    	subsystem vendor, and product IDs; this patch makes an
    	exception for a known-good system (based on DMI information).
    
    Signed-off-by: Alan Stern <stern@rowland.harvard.edu>
    Tested-by: Dâniel Fraga <fragabr@gmail.com>
    Tested-by: Andrey Rahmatullin <wrar@wrar.name>
    Tested-by: Steven Rostedt <rostedt@goodmis.org>
    Reviewed-by: Rafael J. Wysocki <rjw@sisk.pl>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
    Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
  13. @rolandd @bwhacks

    target: Return error to initiator if SET TARGET PORT GROUPS emulation…

    rolandd committed with bwhacks Jun 4, 2012
    … fails
    
    commit 59e4f54 upstream.
    
    The error paths in target_emulate_set_target_port_groups() are all
    essentially "rc = -EINVAL; goto out;" but the code at "out:" ignores
    rc and always returns success.  This means that even if eg explicit
    ALUA is turned off, the initiator will always see a good SCSI status
    for SET TARGET PORT GROUPS.
    
    Fix this by returning rc as is intended.  It appears this bug was
    added by the following patch:
    
    commit 05d1c7c
    Author: Andy Grover <agrover@redhat.com>
    Date:   Wed Jul 20 19:13:28 2011 +0000
    
        target: Make all control CDBs scatter-gather
    
    Signed-off-by: Roland Dreier <roland@purestorage.com>
    Cc: Andy Grover <agrover@redhat.com>
    Signed-off-by: Nicholas Bellinger <nab@linux-iscsi.org>
    [bwh: Backported to 3.2: we have transport_complete_task()
     and not target_complete_cmd()]
    Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
  14. @bwhacks

    USB: option: add more YUGA device ids

    说不得 committed with bwhacks May 28, 2012
    commit 0ef0be1 upstream.
    
    Signed-off-by: gavin zhu <gavin.zhu@qq.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
    Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
  15. @jhovold @bwhacks

    USB: option: fix memory leak

    jhovold committed with bwhacks May 29, 2012
    commit b9c3aab upstream.
    
    Fix memory leak introduced by commit 383cedc ("USB: serial:
    full autosuspend support for the option driver") which allocates
    usb-serial data but never frees it.
    
    Signed-off-by: Johan Hovold <jhovold@gmail.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
    Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
  16. @jhovold @bwhacks

    USB: option: fix port-data abuse

    jhovold committed with bwhacks May 29, 2012
    commit 4273f98 upstream.
    
    Commit 8b4c6a3 ("USB: option: Use generic USB wwan code")
    moved option port-data allocation to usb_wwan_startup but still cast the
    port data to the old struct...
    
    Signed-off-by: Johan Hovold <jhovold@gmail.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
    [bwh: Backported to 3.2: adjust context]
    Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
  17. @bwhacks

    USB: mct_u232: Fix incorrect TIOCMSET return

    Alan Cox committed with bwhacks May 22, 2012
    commit 1aa3c63 upstream.
    
    The low level helper returns 1 on success. The ioctl should however return
    0. As this is the only user of the helper return, make the helper return 0 or
    an error code.
    
    Resolves-bug: https://bugzilla.kernel.org/show_bug.cgi?id=43009
    Signed-off-by: Alan Cox <alan@linux.intel.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
    Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
  18. @andrewbird @bwhacks

    USB: option: Updated Huawei K4605 has better id

    andrewbird committed with bwhacks May 28, 2012
    commit 42ca7da upstream.
    
    Later firmwares for this device now have proper subclass and
    protocol info so we can identify it nicely without needing to use
    the blacklist. I'm not removing the old 0xff matching as there
    may be devices in the field that still need that.
    
    Signed-off-by: Andrew Bird <ajb@spheresystems.co.uk>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
    [bwh: Backported to 3.2: adjust context]
    Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
  19. @tomascassidy @bwhacks

    USB: serial: sierra: Add support for Sierra Wireless AirCard 320U modem

    tomascassidy committed with bwhacks Jun 6, 2012
    commit 19a3dd1 upstream.
    
    Add support for Sierra Wireless AirCard 320U modem
    
    Signed-off-by: Tomas Cassidy <tomas.cassidy@gmail.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
    Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
  20. @bwhacks

    USB: serial: cp210x: add Optris MS Pro usb id

    Mikko Tuumanen committed with bwhacks Jun 1, 2012
    commit 5bbfa6f upstream.
    
    Signed-off-by: Mikko Tuumanen <mikko.tuumanen@qemsoftware.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
    Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
  21. @bwhacks

    USB: ftdi-sio: Add support for RT Systems USB-RTS01 serial adapter

    Evan McNabb committed with bwhacks May 25, 2012
    commit e00a54d upstream.
    
    Add support for RT Systems USB-RTS01 USB to Serial adapter:
    http://www.rtsystemsinc.com/Photos/USBRTS01.html
    
    Tested by controlling Icom IC-718 amateur radio transceiver via hamlib.
    
    Signed-off-by: Evan McNabb <evan@mcnabbs.org>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
    Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
  22. @bmork @bwhacks

    USB: qcserial: Add Sierra Wireless device IDs

    bmork committed with bwhacks May 24, 2012
    commit c41444c upstream.
    
    Some additional IDs found in the BSD/GPL licensed out-of-tree
    GobiSerial driver from Sierra Wireless.
    
    Signed-off-by: Bjørn Mork <bjorn@mork.no>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
    Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
  23. @bmork @bwhacks

    usb: cdc-wdm: Add device-id for Huawei 3G/LTE modems

    bmork committed with bwhacks Jan 25, 2012
    commit fec67b4 upstream.
    
    [v2: Editorial changes suggested by Sergei Shtylyov]
    
    These modems use the Qualcomm MSM Interface (QMI) protocol for
    management of their CDC ECM like wwan interface.  This driver
    is perfect for exporting the protocol to userspace.
    
    The created character device will be indistinguishable from a
    common AT command based Device Management interface, so
    userspace applications must do some intelligent matching
    on the USB device.
    
    Cc: Sergei Shtylyov <sshtylyov@mvista.com>
    Signed-off-by: Bjørn Mork <bjorn@mork.no>
    Acked-by: Oliver Neukum <oneukum@suse.de>
    Acked-by: Marcel Holtmann <marcel@holtmann.org>
    Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
    Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
  24. @bwhacks

    ALSA: HDA: Pin fixup for Zotac Z68 motherboard

    David Henningsson committed with bwhacks Jun 12, 2012
    commit edfe3bf upstream.
    
    Pin 0x1b was connected to the front panel connector, which according to
    the HDA standard should contain a mic and a headphone. In this case,
    the headphone was listed as "line out" by BIOS.
    
    BugLink: https://bugs.launchpad.net/bugs/993162
    Signed-off-by: David Henningsson <david.henningsson@canonical.com>
    Signed-off-by: Takashi Iwai <tiwai@suse.de>
    Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
  25. @tiwai @bwhacks

    ALSA: hda - Add another jack-detection suppression for ASUS ALC892

    tiwai committed with bwhacks Feb 13, 2012
    commit 1565cc3 upstream.
    
    Add the jack-detect suppression for an ASUS machine with ALC892 codec.
    
    Bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=42655
    
    Signed-off-by: Takashi Iwai <tiwai@suse.de>
    Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
  26. @tiwai @bwhacks

    ALSA: hda - Suppress auto-mute feature on some machines with ALC861

    tiwai committed with bwhacks Feb 13, 2012
    commit e652f4c upstream.
    
    A few machines with ALC861 & co are reported not to work properly with
    the auto-mute feature in software.  The auto-mute feature is implemented
    in the hardware level, and the jack-detection never works with them.
    
    Also, rename the fixup index as ALC861_FIXUP_* to follow the standard.
    
    Signed-off-by: Takashi Iwai <tiwai@suse.de>
    Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
  27. @perexg @bwhacks

    ALSA: hda - add support for Uniwill ECS M31EI notebook

    perexg committed with bwhacks Feb 7, 2012
    commit 416846d upstream.
    
    This hardware requires same fixup for the node 0x0f like Asus A6Rp.
    More information: https://bugzilla.redhat.com/show_bug.cgi?id=785417
    
    Signed-off-by: Jaroslav Kysela <perex@perex.cz>
    Signed-off-by: Takashi Iwai <tiwai@suse.de>
    Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
  28. @tiwai @bwhacks

    ALSA: hda - Add codec->no_jack_detect flag

    tiwai committed with bwhacks Feb 13, 2012
    commit 71b1e9e upstream.
    
    Add a new flag to indicate that the codec has no jack-detection cap.
    This flag should be set for hardwares that have no jack-detect
    implementation although the codec chip itself supports it.
    
    Signed-off-by: Takashi Iwai <tiwai@suse.de>
    [bwh: Backported to 3.2: adjust filename and context for is_jack_detectable()]
    Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
  29. @bwhacks

    iwlwifi: disable the buggy chain extension feature in HW

    Emmanuel Grumbach committed with bwhacks Jun 6, 2012
    commit d012d04 upstream.
    
    This feature has been reported to be buggy and enabled by
    default. We therefore need to disable it manually.
    
    Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com>
    Signed-off-by: Johannes Berg <johannes.berg@intel.com>
    Signed-off-by: John W. Linville <linville@tuxdriver.com>
    [bwh: Backported to 3.2 as instructed: pass bus(trans) to iwl_write_prph()]
    Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
  30. @bwhacks

    iwlwifi: use correct supported firmware for 6035 and 6000g2

    Meenakshi Venkataraman committed with bwhacks Jun 5, 2012
    commit d2c8b15 upstream.
    
    My patch
    
       iwlwifi: use correct released ucode version
    
    did not correctly report supported firmware
    for the 6035 device. This patch fixes it. The
    minimum supported firmware version for 6035
    is v6.
    
    Also correct the minimum supported firmware
    version for the 6000g2 series of devices.
    
    Signed-off-by: Meenakshi Venkataraman <meenakshi.venkataraman@intel.com>
    Reviewed-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com>
    Signed-off-by: Johannes Berg <johannes.berg@intel.com>
    Signed-off-by: John W. Linville <linville@tuxdriver.com>
    [bwh: Backported to 3.2:
     - adjust context
     - make IWL_DEVICE_6035 identical for IWL_DEVICE_6030 except for the
       ucode_api_* fields]
    Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
  31. @bwhacks

    NFSv4: Fix unnecessary delegation returns in nfs4_do_open

    Trond Myklebust committed with bwhacks Jun 8, 2012
    commit 2d0dbc6 upstream.
    
    While nfs4_do_open() expects the fmode argument to be restricted to
    combinations of FMODE_READ and FMODE_WRITE, both nfs4_atomic_open()
    and nfs4_proc_create will pass the nfs_open_context->mode,
    which contains the full fmode_t.
    
    This patch ensures that nfs4_do_open strips the other fmode_t bits,
    fixing a problem in which the nfs4_do_open call would result in an
    unnecessary delegation return.
    
    Reported-by: Fred Isaman <iisaman@netapp.com>
    Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
    Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
  32. @bwhacks

    ARM i.MX imx21ads: Fix overlapping static i/o mappings

    Jaccon Bastiaansen committed with bwhacks Apr 30, 2012
    commit 350ab15 upstream.
    
    The statically defined I/O memory regions for the i.MX21 on chip
    peripherals and the on board I/O peripherals of the i.MX21ADS board
    overlap. This results in a kernel crash during startup. This is fixed
    by reducing the memory range for the on board I/O peripherals to the
    actually required range.
    
    Signed-off-by: Jaccon Bastiaansen <jaccon.bastiaansen@gmail.com>
    Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
    Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
  33. @bwhacks

    ARM: imx6: exit coherency when shutting down a cpu

    Shawn Guo committed with bwhacks May 22, 2012
    commit 602bf40 upstream.
    
    There is a system hang issue on imx6q which can easily be seen with
    running a cpu hotplug stress testing (hotplug secondary cores from
    user space via sysfs interface for thousands iterations).
    
    It turns out that the issue is caused by coherency of the cpu that
    is being shut down.  When shutting down a cpu, we need to have the
    cpu exit coherency to prevent it from receiving cache, TLB, or BTB
    maintenance operations broadcast by other CPUs in the cluster.
    
    Copy cpu_enter_lowpower() and cpu_leave_lowpower() from mach-vexpress
    to have coherency properly handled in platform_cpu_die(), thus fix
    the issue.
    
    Signed-off-by: Shawn Guo <shawn.guo@linaro.org>
    Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
  34. @bmork @bwhacks

    net: sierra_net: device IDs for Aircard 320U++

    bmork committed with bwhacks Jun 5, 2012
    commit dd03cff upstream.
    
    Adding device IDs for Aircard 320U and two other devices
    found in the out-of-tree version of this driver.
    
    Cc: linux@sierrawireless.com
    Cc: Autif Khan <autif.mlist@gmail.com>
    Cc: Tom Cassidy <tomas.cassidy@gmail.com>
    Signed-off-by: Bjørn Mork <bjorn@mork.no>
    Acked-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
    Signed-off-by: David S. Miller <davem@davemloft.net>
    Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
  35. @bwhacks

    mpt2sas: Fix unsafe using smp_processor_id() in preemptible

    nagalakshmi.nandigama@lsi.com committed with bwhacks Apr 17, 2012
    commit a2c6585 upstream.
    
    When CONFIG_DEBUG_PREEMPT is enabled, bug is observed in the smp_processor_id().
    This is because smp_processor_id() is not called in preempt safe condition.
    
    To fix this issue, use raw_smp_processor_id instead of smp_processor_id.
    
    Signed-off-by: Nagalakshmi Nandigama <nagalakshmi.nandigama@lsi.com>
    Signed-off-by: James Bottomley <JBottomley@Parallels.com>
    Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
Something went wrong with that request. Please try again.