1. 14 12月, 2018 1 次提交
  2. 06 12月, 2018 3 次提交
  3. 16 11月, 2018 1 次提交
    • M
      usb: xhci: Prevent bus suspend if a port connect change or polling state is detected · 2f31a67f
      Mathias Nyman 提交于
      USB3 roothub might autosuspend before a plugged USB3 device is detected,
      causing USB3 device enumeration failure.
      
      USB3 devices don't show up as connected and enabled until USB3 link trainig
      completes. On a fast booting platform with a slow USB3 link training the
      link might reach the connected enabled state just as the bus is suspending.
      
      If this device is discovered first time by the xhci_bus_suspend() routine
      it will be put to U3 suspended state like the other ports which failed to
      suspend earlier.
      
      The hub thread will notice the connect change and resume the bus,
      moving the port back to U0
      
      This U0 -> U3 -> U0 transition right after being connected seems to be
      too much for some devices, causing them to first go to SS.Inactive state,
      and finally end up stuck in a polling state with reset asserted
      
      Fix this by failing the bus suspend if a port has a connect change or is
      in a polling state in xhci_bus_suspend().
      
      Don't do any port changes until all ports are checked, buffer all port
      changes and only write them in the end if suspend can proceed
      
      Cc: stable@vger.kernel.org
      Signed-off-by: NMathias Nyman <mathias.nyman@linux.intel.com>
      Signed-off-by: NGreg Kroah-Hartman <gregkh@linuxfoundation.org>
      2f31a67f
  4. 10 11月, 2018 6 次提交
  5. 19 10月, 2018 2 次提交
  6. 15 10月, 2018 1 次提交
  7. 09 10月, 2018 1 次提交
  8. 02 10月, 2018 2 次提交
  9. 28 9月, 2018 11 次提交
  10. 20 9月, 2018 5 次提交
  11. 11 9月, 2018 3 次提交
  12. 05 9月, 2018 3 次提交
  13. 25 7月, 2018 1 次提交