Skip to content


Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Commits on Feb 3, 2012
  1. @gregkh

    Linux 3.0.19

    gregkh authored
  2. @jhovold @gregkh

    USB: cp210x: allow more baud rates above 1Mbaud

    jhovold authored gregkh committed
    commit d1620ca upstream.
    Allow more baud rates to be set in [1M,2M] baud.
    Signed-off-by: Johan Hovold <>
    Cc: Preston Fick <>
    Signed-off-by: Greg Kroah-Hartman <>
  3. @jhovold @gregkh

    USB: cp210x: initialise baud rate at open

    jhovold authored gregkh committed
    commit cdc32fd upstream.
    The newer cp2104 devices require the baud rate to be initialised after
    power on. Make sure it is set when port is opened.
    Signed-off-by: Johan Hovold <>
    Cc: Preston Fick <>
    Signed-off-by: Greg Kroah-Hartman <>
  4. @jhovold @gregkh

    USB: cp210x: clean up, refactor and document speed handling

    jhovold authored gregkh committed
    commit e599087 upstream.
    Clean up and refactor speed handling.
    Document baud rate handling for CP210{1,2,4,5,10}.
    Signed-off-by: Johan Hovold <>
    Cc: Preston Fick <>
    Signed-off-by: Greg Kroah-Hartman <>
  5. @jhovold @gregkh

    USB: cp210x: fix up set_termios variables

    jhovold authored gregkh committed
    commit 34b76fc upstream.
    [Based on a patch from Johan, mangled by gregkh to keep things in line]
    Fix up the variable usage in the set_termios call.
    Signed-off-by: Johan Hovold <>
    Cc: Preston Fick <>
    Signed-off-by: Greg Kroah-Hartman <>
  6. @jhovold @gregkh

    USB: cp210x: do not map baud rates to B0

    jhovold authored gregkh committed
    commit be125d9 upstream.
    We do not implement B0 hangup yet so map low baudrates to 300bps.
    Signed-off-by: Johan Hovold <>
    Cc: Preston Fick <>
    Signed-off-by: Greg Kroah-Hartman <>
  7. @gregkh

    USB: cp210x: fix CP2104 baudrate usage

    Preston Fick authored gregkh committed
    commit 7f482fc upstream.
    This fix changes the way baudrates are set on the CP210x devices from
    Silicon Labs. The CP2101/2/3 will respond to both a GET/SET_BAUDDIV
    command, and GET/SET_BAUDRATE command, while CP2104 and higher devices
    only respond to GET/SET_BAUDRATE. The current cp210x.ko driver in
    kernel version 3.2.0 only implements the GET/SET_BAUDDIV command.
    This patch implements the two new codes for the GET/SET_BAUDRATE
    commands. Then there is a change in the way that the baudrate is
    assigned or retrieved. This is done according to the CP210x USB
    specification in AN571. This document can be found here:
    Sections 5.3/5.4 describe the USB packets for the old baudrate method.
    Sections 5.5/5.6 describe the USB packets for the new method. This
    patch also implements the new request scheme, and eliminates the
    unnecessary baudrate calculations since it uses the "actual baudrate"
    This patch solves the problem reported for the CP2104 in bug 42586,
    and also keeps support for all other devices (CP2101/2/3).
    This patchfile is also attached to the bug report on This patch has been developed and test on the
    3.2.0 mainline kernel version under Ubuntu 10.11.
    Signed-off-by: Preston Fick <>
    [duplicate patch also sent by Johan - gregkh]
    Signed-off-by: Johan Hovold <>
    Signed-off-by: Greg Kroah-Hartman <>
  8. @jhovold @gregkh

    USB: cp210x: call generic open last in open

    jhovold authored gregkh committed
    commit 55b2afb upstream.
    Make sure port is fully initialised before calling generic open.
    Signed-off-by: Johan Hovold <>
    Signed-off-by: Greg Kroah-Hartman <>
  9. @rmsc @gregkh

    USB: serial: CP210x: Added USB-ID for the Link Instruments MSO-19

    rmsc authored gregkh committed
    commit 791b7d7 upstream.
    This device is a Oscilloscope/Logic Analizer/Pattern Generator/TDR,
    using a Silabs CP2103 USB to UART Bridge.
    Signed-off-by: Renato Caldas <>
    Signed-off-by: Greg Kroah-Hartman <>
  10. @gregkh

    tcp: md5: using remote adress for md5 lookup in rst packet

    shawnlu authored gregkh committed
    [ Upstream commit 8a622e7 ]
    md5 key is added in socket through remote address.
    remote address should be used in finding md5 key when
    sending out reset packet.
    Signed-off-by: shawnlu <>
    Signed-off-by: David S. Miller <>
    Signed-off-by: Greg Kroah-Hartman <>
  11. @gregkh

    tcp: fix tcp_trim_head() to adjust segment count with skb MSS

    Neal Cardwell authored gregkh committed
    [ Upstream commit 5b35e1e ]
    This commit fixes tcp_trim_head() to recalculate the number of
    segments in the skb with the skb's existing MSS, so trimming the head
    causes the skb segment count to be monotonically non-increasing - it
    should stay the same or go down, but not increase.
    Previously tcp_trim_head() used the current MSS of the connection. But
    if there was a decrease in MSS between original transmission and ACK
    (e.g. due to PMTUD), this could cause tcp_trim_head() to
    counter-intuitively increase the segment count when trimming bytes off
    the head of an skb. This violated assumptions in tcp_tso_acked() that
    tcp_trim_head() only decreases the packet count, so that packets_acked
    in tcp_tso_acked() could underflow, leading tcp_clean_rtx_queue() to
    pass u32 pkts_acked values as large as 0xffffffff to
    As an aside, if tcp_trim_head() had really wanted the skb to reflect
    the current MSS, it should have called tcp_set_skb_tso_segs()
    unconditionally, since a decrease in MSS would mean that a
    single-packet skb should now be sliced into multiple segments.
    Signed-off-by: Neal Cardwell <>
    Acked-by: Nandita Dukkipati <>
    Acked-by: Ilpo Järvinen <>
    Signed-off-by: David S. Miller <>
    Signed-off-by: Greg Kroah-Hartman <>
  12. @davem330 @gregkh

    rds: Make rds_sock_lock BH rather than IRQ safe.

    davem330 authored gregkh committed
    [ Upstream commit efc3dbc ]
    rds_sock_info() triggers locking warnings because we try to perform a
    local_bh_enable() (via sock_i_ino()) while hardware interrupts are
    disabled (via taking rds_sock_lock).
    There is no reason for rds_sock_lock to be a hardware IRQ disabling
    lock, none of these access paths run in hardware interrupt context.
    Therefore making it a BH disabling lock is safe and sufficient to
    fix this bug.
    Reported-by: Kumar Sanghvi <>
    Reported-by: Josh Boyer <>
    Signed-off-by: David S. Miller <>
    Signed-off-by: Greg Kroah-Hartman <>
  13. @gregkh

    net: bpf_jit: fix divide by 0 generation

    Eric Dumazet authored gregkh committed
    [ Upstream commit d00a9dd ]
    Several problems fixed in this patch :
    1) Target of the conditional jump in case a divide by 0 is performed
       by a bpf is wrong.
    2) Must 'generate' the full function prologue/epilogue at pass=0,
       or else we can stop too early in pass=1 if the proglen doesnt change.
       (if the increase of prologue/epilogue equals decrease of all
        instructions length because some jumps are converted to near jumps)
    3) Change the wrong length detection at the end of code generation to
       issue a more explicit message, no need for a full stack trace.
    Reported-by: Phil Oester <>
    Signed-off-by: Eric Dumazet <>
    Signed-off-by: David S. Miller <>
    Signed-off-by: Greg Kroah-Hartman <>
  14. @gregkh

    l2tp: l2tp_ip - fix possible oops on packet receive

    James Chapman authored gregkh committed
    [ Upstream commit 6831580 ]
    When a packet is received on an L2TP IP socket (L2TPv3 IP link
    encapsulation), the l2tpip socket's backlog_rcv function calls
    xfrm4_policy_check(). This is not necessary, since it was called
    before the skb was added to the backlog. With CONFIG_NET_NS enabled,
    xfrm4_policy_check() will oops if skb->dev is null, so this trivial
    patch removes the call.
    This bug has always been present, but only when CONFIG_NET_NS is
    enabled does it cause problems. Most users are probably using UDP
    encapsulation for L2TP, hence the problem has only recently
    EIP: 0060:[<c12bb62b>] EFLAGS: 00210246 CPU: 0
    EIP is at l2tp_ip_recvmsg+0xd4/0x2a7
    EAX: 00000001 EBX: d77b5180 ECX: 00000000 EDX: 00200246
    ESI: 00000000 EDI: d63cbd30 EBP: d63cbd18 ESP: d63cbcf4
     DS: 007b ES: 007b FS: 00d8 GS: 00e0 SS: 0068
    Call Trace:
     [<c1218568>] sock_common_recvmsg+0x31/0x46
     [<c1215c92>] __sock_recvmsg_nosec+0x45/0x4d
     [<c12163a1>] __sock_recvmsg+0x31/0x3b
     [<c1216828>] sock_recvmsg+0x96/0xab
     [<c10b2693>] ? might_fault+0x47/0x81
     [<c10b2693>] ? might_fault+0x47/0x81
     [<c1167fd0>] ? _copy_from_user+0x31/0x115
     [<c121e8c8>] ? copy_from_user+0x8/0xa
     [<c121ebd6>] ? verify_iovec+0x3e/0x78
     [<c1216604>] __sys_recvmsg+0x10a/0x1aa
     [<c1216792>] ? sock_recvmsg+0x0/0xab
     [<c105a99b>] ? __lock_acquire+0xbdf/0xbee
     [<c12d5a99>] ? do_page_fault+0x193/0x375
     [<c10d1200>] ? fcheck_files+0x9b/0xca
     [<c10d1259>] ? fget_light+0x2a/0x9c
     [<c1216bbb>] sys_recvmsg+0x2b/0x43
     [<c1218145>] sys_socketcall+0x16d/0x1a5
     [<c11679f0>] ? trace_hardirqs_on_thunk+0xc/0x10
     [<c100305f>] sysenter_do_call+0x12/0x38
    Code: c6 05 8c ea a8 c1 01 e8 0c d4 d9 ff 85 f6 74 07 3e ff 86 80 00 00 00 b9 17 b6 2b c1 ba 01 00 00 00 b8 78 ed 48 c1 e8 23 f6 d9 ff <ff> 76 0c 68 28 e3 30 c1 68 2d 44 41 c1 e8 89 57 01 00 83 c4 0c
    Signed-off-by: James Chapman <>
    Acked-by: Eric Dumazet <>
    Signed-off-by: David S. Miller <>
    Signed-off-by: Greg Kroah-Hartman <>
  15. @jiribohac @gregkh

    bonding: fix enslaving in alb mode when link down

    jiribohac authored gregkh committed
    [ Upstream commit b924551 ]
    bond_alb_init_slave() is called from bond_enslave() and sets the slave's MAC
    address. This is done differently for TLB and ALB modes.
    bond->alb_info.rlb_enabled is used to discriminate between the two modes but
    this flag may be uninitialized if the slave is being enslaved prior to calling
    bond_open() -> bond_alb_initialize() on the master.
    It turns out all the callers of alb_set_slave_mac_addr() pass
    bond->alb_info.rlb_enabled as the hw parameter.
    This patch cleans up the unnecessary parameter of alb_set_slave_mac_addr() and
    makes the function decide based on the bonding mode instead, which fixes the
    above problem.
    Reported-by: Narendra K <>
    Signed-off-by: Jiri Bohac <>
    Signed-off-by: Jay Vosburgh <>
    Signed-off-by: David S. Miller <>
    Signed-off-by: Greg Kroah-Hartman <>
  16. @ebiederm @gregkh

    net caif: Register properly as a pernet subsystem.

    ebiederm authored gregkh committed
    [ Upstream commit 8a8ee9a ]
    caif is a subsystem and as such it needs to register with
    register_pernet_subsys instead of register_pernet_device.
    Among other problems using register_pernet_device was resulting in
    net_generic being called before the caif_net structure was allocated.
    Which has been causing net_generic to fail with either BUG_ON's or by
    return NULL pointers.
    A more ugly problem that could be caused is packets in flight why the
    subsystem is shutting down.
    To remove confusion also remove the cruft cause by inappropriately
    trying to fix this bug.
    With the aid of the previous patch I have tested this patch and
    confirmed that using register_pernet_subsys makes the failure go away as
    it should.
    Signed-off-by: Eric W. Biederman <>
    Acked-by: Sjur Brændeland <>
    Tested-by: Sasha Levin <>
    Signed-off-by: David S. Miller <>
    Signed-off-by: Greg Kroah-Hartman <>
  17. @ebiederm @gregkh

    netns: Fail conspicously if someone uses net_generic at an inappropri…

    ebiederm authored gregkh committed
    …ate time.
    [ Upstream commit 5ee4433 ]
    By definition net_generic should never be called when it can return
    NULL.  Fail conspicously with a BUG_ON to make it clear when people mess
    up that a NULL return should never happen.
    Recently there was a bug in the CAIF subsystem where it was registered
    with register_pernet_device instead of register_pernet_subsys.  It was
    erroneously concluded that net_generic could validly return NULL and
    that net_assign_generic was buggy (when it was just inefficient).
    Hopefully this BUG_ON will prevent people to coming to similar erroneous
    conclusions in the futrue.
    Signed-off-by: Eric W. Biederman <>
    Tested-by: Sasha Levin <>
    Signed-off-by: David S. Miller <>
    Signed-off-by: Greg Kroah-Hartman <>
  18. @gregkh

    netns: fix net_alloc_generic()

    Eric Dumazet authored gregkh committed
    [ Upstream commit 073862b ]
    When a new net namespace is created, we should attach to it a "struct
    net_generic" with enough slots (even empty), or we can hit the following
    BUG_ON() :
    [  200.752016] kernel BUG at include/net/netns/generic.h:40!
    [  200.752016]  [<ffffffff825c3cea>] ? get_cfcnfg+0x3a/0x180
    [  200.752016]  [<ffffffff821cf0b0>] ? lockdep_rtnl_is_held+0x10/0x20
    [  200.752016]  [<ffffffff825c41be>] caif_device_notify+0x2e/0x530
    [  200.752016]  [<ffffffff810d61b7>] notifier_call_chain+0x67/0x110
    [  200.752016]  [<ffffffff810d67c1>] raw_notifier_call_chain+0x11/0x20
    [  200.752016]  [<ffffffff821bae82>] call_netdevice_notifiers+0x32/0x60
    [  200.752016]  [<ffffffff821c2b26>] register_netdevice+0x196/0x300
    [  200.752016]  [<ffffffff821c2ca9>] register_netdev+0x19/0x30
    [  200.752016]  [<ffffffff81c1c67a>] loopback_net_init+0x4a/0xa0
    [  200.752016]  [<ffffffff821b5e62>] ops_init+0x42/0x180
    [  200.752016]  [<ffffffff821b600b>] setup_net+0x6b/0x100
    [  200.752016]  [<ffffffff821b6466>] copy_net_ns+0x86/0x110
    [  200.752016]  [<ffffffff810d5789>] create_new_namespaces+0xd9/0x190
    net_alloc_generic() should take into account the maximum index into the
    ptr array, as a subsystem might use net_generic() anytime.
    This also reduces number of reallocations in net_assign_generic()
    Reported-by: Sasha Levin <>
    Tested-by: Sasha Levin <>
    Signed-off-by: Eric Dumazet <>
    Cc: Sjur Brændeland <>
    Cc: Eric W. Biederman <>
    Cc: Pavel Emelyanov <>
    Signed-off-by: David S. Miller <>
    Signed-off-by: Greg Kroah-Hartman <>
  19. @bmork @gregkh

    USB: cdc-wdm: Avoid hanging on interface with no USB_CDC_DMM_TYPE

    bmork authored gregkh committed
    commit 15699e6 upstream.
    The probe does not strictly require the USB_CDC_DMM_TYPE
    descriptor, which is a good thing as it makes the driver
    usable on non-conforming interfaces.  A user could e.g.
    bind to it to a CDC ECM interface by using the new_id and
    bind sysfs files.  But this would fail with a 0 buffer length
    due to the missing descriptor.
    Fix by defining a reasonable fallback size: The minimum
    device receive buffer size required by the CDC WMC standard,
    revision 1.1
    Signed-off-by: Bjørn Mork <>
    Signed-off-by: Greg Kroah-Hartman <>
  20. @bmork @gregkh

    USB: cdc-wdm: better allocate a buffer that is at least as big as we …

    bmork authored gregkh committed
    …tell the USB core
    commit 655e247 upstream.
    As it turns out, there was a mismatch between the allocated inbuf size
    (desc->bMaxPacketSize0, typically something like 64) and the length we
    specified in the URB (desc->wMaxCommand, typically something like 2048)
    Signed-off-by: Bjørn Mork <>
    Cc: Oliver Neukum <>
    Signed-off-by: Greg Kroah-Hartman <>
  21. @bmork @gregkh

    USB: cdc-wdm: call wake_up_all to allow driver to shutdown on device …

    bmork authored gregkh committed
    commit 62aaf24 upstream.
    wdm_disconnect() waits for the mutex held by wdm_read() before
    calling wake_up_all().  This causes a deadlock, preventing device removal
    to complete.  Do the wake_up_all() before we start waiting for the locks.
    Signed-off-by: Bjørn Mork <>
    Cc: Oliver Neukum <>
    Cc: stable <>
    Signed-off-by: Greg Kroah-Hartman <>
  22. @vivien @gregkh

    hwmon: (sht15) fix bad error code

    vivien authored gregkh committed
    commit 6edf3c3 upstream.
    When no platform data was supplied, returned error code was 0.
    Signed-off-by: Vivien Didelot <>
    Signed-off-by: Guenter Roeck <>
    Signed-off-by: Greg Kroah-Hartman <>
  23. @groeck @gregkh

    hwmon: (w83627ehf) Disable setting DC mode for pwm2, pwm3 on NCT6776F

    groeck authored gregkh committed
    commit ad77c3e upstream.
    NCT6776F only supports pwm mode for pwm2 and pwm3. Return error if an attempt
    is made to set those pwm channels to DC mode.
    Signed-off-by: Guenter Roeck <>
    Acked-by: Jean Delvare <>
    Signed-off-by: Guenter Roeck <>
    Signed-off-by: Greg Kroah-Hartman <>
  24. @gregkh

    hwmon: (f71805f) Fix clamping of temperature limits

    Jean Delvare authored gregkh committed
    commit 86b2bbf upstream.
    Properly clamp temperature limits set by the user. Without this fix,
    attempts to write temperature limits above the maximum supported by
    the chip (255 degrees Celsius) would arbitrarily and unexpectedly
    result in the limit being set to 0 degree Celsius.
    Signed-off-by: Jean Delvare <>
    Signed-off-by: Guenter Roeck <>
    Signed-off-by: Greg Kroah-Hartman <>
  25. @gregkh

    xHCI: Cleanup isoc transfer ring when TD length mismatch found

    Andiry Xu authored gregkh committed
    commit cf84055 upstream.
    When a TD length mismatch is found during isoc TRB enqueue, it directly
    returns -EINVAL. However, isoc transfer is partially enqueued at this time,
    and the ring should be cleared.
    This should be backported to kernels as old as 2.6.36, which contain the
    commit 522989a "xhci: Fix failed
    enqueue in the middle of isoch TD."
    Signed-off-by: Andiry Xu <>
    Signed-off-by: Sarah Sharp <>
    Signed-off-by: Greg Kroah-Hartman <>
  26. @gregkh

    xhci: Fix USB 3.0 device restart on resume.

    Sarah Sharp authored gregkh committed
    commit d0cd5d4 upstream.
    The xHCI hub port code gets passed a zero-based port number by the USB
    core.  It then adds one to in order to find a device slot by port number
    and device speed by calling xhci_find_slot_id_by_port.  That function
    clearly states it requires a one-based port number.  The xHCI port
    status change event handler was using a zero-based port number that it
    got from find_faked_portnum_from_hw_portnum, not a one-based port
    number.  This lead to the doorbells never being rung for a device after
    a resume, or worse, a different device with the same speed having its
    doorbell rung (which could lead to bad power management in the xHCI host
    This patch should be backported to kernels as old as 2.6.39.
    Signed-off-by: Sarah Sharp <>
    Acked-by: Andiry Xu <>
    Signed-off-by: Greg Kroah-Hartman <>
  27. @JuliaLawall @gregkh

    drivers/usb/host/ehci-fsl.c: add missing iounmap

    JuliaLawall authored gregkh committed
    commit 2492c6e upstream.
    Add missing iounmap in error handling code, in a case where the function
    already preforms iounmap on some other execution path.
    A simplified version of the semantic match that finds this problem is as
    follows: (
    // <smpl>
    expression e;
    statement S,S1;
    int ret;
    e = \(ioremap\|ioremap_nocache\)(...)
    ... when != iounmap(e)
    if (<+...e...+>) S
    ... when any
        when != iounmap(e)
    *if (...)
       { ... when != iounmap(e)
         return ...; }
    ... when any
    // </smpl>
    Signed-off-by: Julia Lawall <>
    Acked-by: Alan Stern <>
    Signed-off-by: Greg Kroah-Hartman <>
  28. @harrisonmetz @gregkh

    USB: usbsevseg: fix max length

    harrisonmetz authored gregkh committed
    commit 1097cce upstream.
    This changes the max length for the usb seven segment delcom device to 8
    from 6. Delcom has both 6 and 8 variants and having 8 works fine with
    devices which are only 6.
    Signed-off-by: Harrison Metzger <>
    Signed-off-by: Stuart Pook <>
    Signed-off-by: Greg Kroah-Hartman <>
  29. @RyanMallon @gregkh

    vmwgfx: Fix assignment in vmw_framebuffer_create_handle

    RyanMallon authored gregkh committed
    commit bf9c05d upstream.
    The assignment of handle in vmw_framebuffer_create_handle doesn't actually do anything useful and is incorrectly assigning an integer value to a pointer argument. It appears that this is a typo and should be dereferencing handle rather than assigning to it directly. This fixes a bug where an undefined handle value is potentially returned to user-space.
    Signed-off-by: Ryan Mallon <>
    Reviewed-by: Jakob Bornecrantz<>
    Signed-off-by: Dave Airlie <>
    Signed-off-by: Greg Kroah-Hartman <>
  30. @gregkh

    jsm: Fixed EEH recovery error

    Lucas Kannebley Tavares authored gregkh committed
    commit 26aa38c upstream.
    There was an error on the jsm driver that would cause it to be unable to
    recover after a second error is detected.
    At the first error, the device recovers properly:
    [72521.485691] EEH: Detected PCI bus error on device 0003:02:00.0
    [72521.485695] EEH: This PCI device has failed 1 times in the last hour:
    [72532.035693] ttyn3 at MMIO 0x0 (irq = 49) is a jsm
    [72532.105689] jsm: Port 3 added
    However, at the second error, it cascades until EEH disables the device:
    [72631.229549] Call Trace:
    [72641.725687] jsm: Port 3 added
    [72641.725695] EEH: Detected PCI bus error on device 0003:02:00.0
    [72641.725698] EEH: This PCI device has failed 3 times in the last hour:
    It was caused because the PCI state was not being saved after the first
    restore. Therefore, at the second recovery the PCI state would not be
    Signed-off-by: Lucas Kannebley Tavares <>
    Signed-off-by: Breno Leitao <>
    Acked-by: Thadeu Lima de Souza Cascardo <>
    Signed-off-by: Greg Kroah-Hartman <>
  31. @gregkh

    serial: amba-pl011: lock console writes against interrupts

    Rabin Vincent authored gregkh committed
    commit ef605fd upstream.
    Protect against pl011_console_write() and the interrupt for
    the console UART running concurrently on different CPUs.
    Otherwise the console_write could spin for a long time
    waiting for the UART to become not busy, while the other
    CPU continuously services UART interrupts and keeps the
    UART busy.
    The checks for sysrq and oops_in_progress are taken
    from 8250.c.
    Signed-off-by: Rabin Vincent <>
    Reviewed-by: Srinidhi Kasagar <>
    Reviewed-by: Bibek Basu <>
    Reviewed-by: Shreshtha Kumar Sahu <>
    Signed-off-by: Linus Walleij <>
    Signed-off-by: Greg Kroah-Hartman <>
  32. @gregkh

    TTY: fix UV serial console regression

    Jiri Slaby authored gregkh committed
    commit 0eee50a upstream.
    Commit 74c2107 (serial: Use block_til_ready helper) and its fixup
    3f582b8 (serial: fix termios settings in open) introduced a
    regression on UV systems. The serial eventually freezes while being
    used. It's completely unpredictable and sometimes needs a heap of
    traffic to happen first.
    To reproduce this, yast installation was used as it turned out to be
    pretty reliable in reproducing. Especially during installation process
    where one doesn't have an SSH daemon running. And no monitor as the HW
    is completely headless. So this was fun to find. Given the machine
    doesn't boot on vanilla before 2.6.36 final. (And the commits above
    are older.)
    Unless there is some bad race in the code, the hardware seems to be
    pretty broken. Otherwise pure MSR read should not cause such a bug,
    So to prevent the bug, revert to the old behavior. I.e. read modem
    status only if we really have to -- for non-CLOCAL set serials.
    Non-CLOCAL works on this hardware OK, I tried. See? I don't.
    And document that shit.
    Signed-off-by: Jiri Slaby <>
    Signed-off-by: Greg Kroah-Hartman <>
  33. @ebiederm @gregkh

    usb: io_ti: Make edge_remove_sysfs_attrs the port_remove method.

    ebiederm authored gregkh committed
    commit 6d443d8 upstream.
    Calling edge_remove_sysfs_attrs from edge_disconnect is too late
    as the device has already been removed from sysfs.
    Do the simple and obvious thing and make edge_remove_sysfs_attrs
    the port_remove method.
    Signed-off-by: Eric W. Biederman <>
    Reported-by: Wolfgang Frisch <>
    Signed-off-by: Greg Kroah-Hartman <>
  34. @dcbw @gregkh

    qcaux: add more Pantech UML190 and UML290 ports

    dcbw authored gregkh committed
    commit 074cc73 upstream.
    More ports we now know how to talk to.
    Signed-off-by: Dan Williams <>
    Signed-off-by: Greg Kroah-Hartman <>
  35. @bmork @gregkh

    USB: cdc-wdm: use two mutexes to allow simultaneous read and write

    bmork authored gregkh committed
    commit e8537bd upstream.
    using a separate read and write mutex for locking is sufficient to make the
    driver accept simultaneous read and write. This improves useability a lot.
    Signed-off-by: Bjørn Mork <>
    Cc: Oliver Neukum <>
    Signed-off-by: Greg Kroah-Hartman <>
Something went wrong with that request. Please try again.