1. 07 7月, 2012 1 次提交
  2. 21 6月, 2012 1 次提交
  3. 15 6月, 2012 1 次提交
  4. 13 6月, 2012 1 次提交
  5. 19 5月, 2012 1 次提交
    • S
      USB: Disable hub-initiated LPM for comms devices. · e1f12eb6
      Sarah Sharp 提交于
      Hub-initiated LPM is not good for USB communications devices.  Comms
      devices should be able to tell when their link can go into a lower power
      state, because they know when an incoming transmission is finished.
      Ideally, these devices would slam their links into a lower power state,
      using the device-initiated LPM, after finishing the last packet of their
      data transfer.
      
      If we enable the idle timeouts for the parent hubs to enable
      hub-initiated LPM, we will get a lot of useless LPM packets on the bus
      as the devices reject LPM transitions when they're in the middle of
      receiving data.  Worse, some devices might blindly accept the
      hub-initiated LPM and power down their radios while they're in the
      middle of receiving a transmission.
      
      The Intel Windows folks are disabling hub-initiated LPM for all USB
      communications devices under a xHCI USB 3.0 host.  In order to keep
      the Linux behavior as close as possible to Windows, we need to do the
      same in Linux.
      
      Set the disable_hub_initiated_lpm flag for for all USB communications
      drivers.  I know there aren't currently any USB 3.0 devices that
      implement these class specifications, but we should be ready if they do.
      Signed-off-by: NSarah Sharp <sarah.a.sharp@linux.intel.com>
      Cc: Marcel Holtmann <marcel@holtmann.org>
      Cc: Gustavo Padovan <gustavo@padovan.org>
      Cc: Johan Hedberg <johan.hedberg@gmail.com>
      Cc: Hansjoerg Lipp <hjlipp@web.de>
      Cc: Tilman Schmidt <tilman@imap.cc>
      Cc: Karsten Keil <isdn@linux-pingi.de>
      Cc: Peter Korsgaard <jacmet@sunsite.dk>
      Cc: Jan Dumon <j.dumon@option.com>
      Cc: Petko Manolov <petkan@users.sourceforge.net>
      Cc: Steve Glendinning <steve.glendinning@smsc.com>
      Cc: "John W. Linville" <linville@tuxdriver.com>
      Cc: Kalle Valo <kvalo@qca.qualcomm.com>
      Cc: "Luis R. Rodriguez" <mcgrof@qca.qualcomm.com>
      Cc: Jouni Malinen <jouni@qca.qualcomm.com>
      Cc: Vasanthakumar Thiagarajan <vthiagar@qca.qualcomm.com>
      Cc: Senthil Balasubramanian <senthilb@qca.qualcomm.com>
      Cc: Christian Lamparter <chunkeey@googlemail.com>
      Cc: Brett Rudley <brudley@broadcom.com>
      Cc: Roland Vossen <rvossen@broadcom.com>
      Cc: Arend van Spriel <arend@broadcom.com>
      Cc: "Franky (Zhenhui) Lin" <frankyl@broadcom.com>
      Cc: Kan Yan <kanyan@broadcom.com>
      Cc: Dan Williams <dcbw@redhat.com>
      Cc: Jussi Kivilinna <jussi.kivilinna@mbnet.fi>
      Cc: Ivo van Doorn <IvDoorn@gmail.com>
      Cc: Gertjan van Wingerde <gwingerde@gmail.com>
      Cc: Helmut Schaa <helmut.schaa@googlemail.com>
      Cc: Herton Ronaldo Krzesinski <herton@canonical.com>
      Cc: Hin-Tak Leung <htl10@users.sourceforge.net>
      Cc: Larry Finger <Larry.Finger@lwfinger.net>
      Cc: Chaoming Li <chaoming_li@realsil.com.cn>
      Cc: Daniel Drake <dsd@gentoo.org>
      Cc: Ulrich Kunitz <kune@deine-taler.de>
      Signed-off-by: NSarah Sharp <sarah.a.sharp@linux.intel.com>
      e1f12eb6
  6. 12 5月, 2012 3 次提交
  7. 02 5月, 2012 1 次提交
  8. 30 4月, 2012 4 次提交
  9. 27 4月, 2012 1 次提交
  10. 09 3月, 2012 5 次提交
  11. 25 2月, 2012 3 次提交
  12. 11 2月, 2012 1 次提交
  13. 27 1月, 2012 1 次提交
  14. 25 1月, 2012 11 次提交
  15. 05 1月, 2012 1 次提交
  16. 04 1月, 2012 1 次提交
  17. 13 12月, 2011 1 次提交
  18. 10 12月, 2011 2 次提交
    • H
      usb: cdc-acm: Kill ACM_READY() macro completely · 99823f45
      Havard Skinnemoen 提交于
      The ACM_READY() macro doesn't seem to do anything useful, and it may
      prevent tty_wait_until_sent() from working properly when called from
      close.
      
      Previously, acm_tty_chars_in_buffer() returned 0 whenever
      acm->port.count was 0. This means close() could return before all the
      data has actually been written.
      Signed-off-by: NHavard Skinnemoen <hskinnemoen@google.com>
      Signed-off-by: NGreg Kroah-Hartman <gregkh@suse.de>
      99823f45
    • H
      USB: cdc-acm: Fix potential deadlock (lockdep warning) · 7fb57a01
      Havard Skinnemoen 提交于
      Rework the locking and lifecycle management in the cdc-acm driver.
      Instead of using a global mutex to prevent the 'acm' object from being
      freed, use the tty_port kref to keep the device alive when either the
      USB side or TTY side is still active.
      
      This allows us to use the global mutex purely for protecting the
      acm_table, while use acm->mutex to guard against disconnect during
      TTY port activation and shutdown.
      
      The USB-side kref is taken during port initialization in probe(), and
      released at the end of disconnect(). The TTY-side kref is taken in
      install() and released in cleanup(). On disconnect, tty_vhangup() is
      called instead of tty_hangup() to ensure the TTY hangup processing is
      completed before the USB device is taken down.
      
      The TTY open and close handlers have been gutted and replaced with
      tty_port_open() and tty_port_close() respectively. The driver-specific
      code which used to be there was spread across install(), activate() and
      shutdown().
      Reported-by: NDave Jones <davej@redhat.com>
      Cc: Alan Cox <alan@linux.intel.com>
      Cc: Jiri Slaby <jslaby@suse.cz>
      Signed-off-by: NHavard Skinnemoen <hskinnemoen@google.com>
      Signed-off-by: NGreg Kroah-Hartman <gregkh@suse.de>
      7fb57a01