1. 22 5月, 2019 1 次提交
  2. 27 4月, 2019 2 次提交
  3. 23 3月, 2019 1 次提交
    • M
      xhci: Don't let USB3 ports stuck in polling state prevent suspend · d92f2c59
      Mathias Nyman 提交于
      Commit 2f31a67f ("usb: xhci: Prevent bus suspend if a port connect
      change or polling state is detected") was intended to prevent ports that
      were still link training from being forced to U3 suspend state mid
      enumeration.
      This solved enumeration issues for devices with slow link training.
      
      Turns out some devices are stuck in the link training/polling state,
      and thus that patch will prevent suspend completely for these devices.
      This is seen with USB3 card readers in some MacBooks.
      
      Instead of preventing suspend, give some time to complete the link
      training. On successful training the port will end up as connected
      and enabled.
      If port instead is stuck in link training the bus suspend will continue
      suspending after 360ms (10 * 36ms) timeout (tPollingLFPSTimeout).
      
      Original patch was sent to stable, this one should go there as well
      
      Fixes: 2f31a67f ("usb: xhci: Prevent bus suspend if a port connect change or polling state is detected")
      Cc: stable@vger.kernel.org
      Signed-off-by: NMathias Nyman <mathias.nyman@linux.intel.com>
      Signed-off-by: NGreg Kroah-Hartman <gregkh@linuxfoundation.org>
      d92f2c59
  4. 17 12月, 2018 1 次提交
  5. 07 12月, 2018 3 次提交
  6. 06 12月, 2018 1 次提交
  7. 10 11月, 2018 2 次提交
  8. 28 9月, 2018 2 次提交
  9. 25 6月, 2018 2 次提交
    • A
      USB: xhci-hcd: Add get_resuming_ports method · 8f9cc83c
      Alan Stern 提交于
      This patch adds support for the new get_resuming_ports HCD method to
      the xhci-hcd driver.
      Signed-off-by: NAlan Stern <stern@rowland.harvard.edu>
      Acked-by: NMathias Nyman <mathias.nyman@linux.intel.com>
      Signed-off-by: NGreg Kroah-Hartman <gregkh@linuxfoundation.org>
      8f9cc83c
    • M
      xhci: Fix perceived dead host due to runtime suspend race with event handler · 229bc19f
      Mathias Nyman 提交于
      Don't rely on event interrupt (EINT) bit alone to detect pending port
      change in resume. If no change event is detected the host may be suspended
      again, oterwise roothubs are resumed.
      
      There is a lag in xHC setting EINT. If we don't notice the pending change
      in resume, and the controller is runtime suspeded again, it causes the
      event handler to assume host is dead as it will fail to read xHC registers
      once PCI puts the controller to D3 state.
      
      [  268.520969] xhci_hcd: xhci_resume: starting port polling.
      [  268.520985] xhci_hcd: xhci_hub_status_data: stopping port polling.
      [  268.521030] xhci_hcd: xhci_suspend: stopping port polling.
      [  268.521040] xhci_hcd: // Setting command ring address to 0x349bd001
      [  268.521139] xhci_hcd: Port Status Change Event for port 3
      [  268.521149] xhci_hcd: resume root hub
      [  268.521163] xhci_hcd: port resume event for port 3
      [  268.521168] xhci_hcd: xHC is not running.
      [  268.521174] xhci_hcd: handle_port_status: starting port polling.
      [  268.596322] xhci_hcd: xhci_hc_died: xHCI host controller not responding, assume dead
      
      The EINT lag is described in a additional note in xhci specs 4.19.2:
      
      "Due to internal xHC scheduling and system delays, there will be a lag
      between a change bit being set and the Port Status Change Event that it
      generated being written to the Event Ring. If SW reads the PORTSC and
      sees a change bit set, there is no guarantee that the corresponding Port
      Status Change Event has already been written into the Event Ring."
      
      Cc: <stable@vger.kernel.org>
      Signed-off-by: NMathias Nyman <mathias.nyman@linux.intel.com>
      Signed-off-by: NGreg Kroah-Hartman <gregkh@linuxfoundation.org>
      229bc19f
  10. 01 6月, 2018 2 次提交
  11. 25 5月, 2018 5 次提交
  12. 22 4月, 2018 1 次提交
  13. 20 4月, 2018 1 次提交
  14. 22 3月, 2018 1 次提交
  15. 16 3月, 2018 1 次提交
  16. 10 3月, 2018 1 次提交
  17. 09 3月, 2018 1 次提交
  18. 16 2月, 2018 1 次提交
  19. 09 12月, 2017 7 次提交
  20. 07 11月, 2017 1 次提交
    • G
      USB: host: xhci: Remove redundant license text · 9ed64195
      Greg Kroah-Hartman 提交于
      Now that the SPDX tag is in all USB files, that identifies the license
      in a specific and legally-defined manner.  So the extra GPL text wording
      can be removed as it is no longer needed at all.
      
      This is done on a quest to remove the 700+ different ways that files in
      the kernel describe the GPL license text.  And there's unneeded stuff
      like the address (sometimes incorrect) for the FSF which is never
      needed.
      
      No copyright headers or other non-license-description text was removed.
      
      Cc: Matthias Brugger <matthias.bgg@gmail.com>
      Cc: Thierry Reding <thierry.reding@gmail.com>
      Cc: Jonathan Hunter <jonathanh@nvidia.com>
      Acked-by: NMathias Nyman <mathias.nyman@linux.intel.com>
      Signed-off-by: NGreg Kroah-Hartman <gregkh@linuxfoundation.org>
      9ed64195
  21. 04 11月, 2017 1 次提交
  22. 17 10月, 2017 1 次提交
  23. 05 10月, 2017 1 次提交