1. 21 6月, 2023 1 次提交
    • L
      xhci:fix USB xhci controller issue · cf4ae44b
      Longfang Liu 提交于
      driver inclusion
      category: bugfix
      bugzilla: https://gitee.com/openeuler/kernel/issues/I7DZ8S
      CVE: NA
      
      ----------------------------------------------------------------------
      
      When the current HiSilicon USB xhci controller formats the faulty
      U disk, it will trigger a controller exception error. This will
      cause errors in the control logic of the xhci controller and
      driver software. In the end, all USB devices on the xhci controller
      cannot be used.
      
      By introducing a noop command operation, restore the logic of the
      xhci controller and driver software, and restore all USB devices
      on the xhci controller to normal.
      Signed-off-by: NLongfang Liu <liulongfang@huawei.com>
      (cherry picked from commit 1a869403)
      cf4ae44b
  2. 23 5月, 2023 1 次提交
  3. 19 4月, 2023 1 次提交
  4. 09 2月, 2023 2 次提交
  5. 18 11月, 2022 1 次提交
  6. 27 10月, 2022 1 次提交
  7. 06 7月, 2022 3 次提交
  8. 15 11月, 2021 1 次提交
  9. 19 10月, 2021 2 次提交
  10. 15 10月, 2021 1 次提交
  11. 23 7月, 2021 2 次提交
  12. 09 4月, 2021 1 次提交
  13. 09 3月, 2021 1 次提交
  14. 07 1月, 2021 1 次提交
  15. 29 10月, 2020 1 次提交
  16. 20 9月, 2020 1 次提交
  17. 18 8月, 2020 1 次提交
  18. 23 7月, 2020 1 次提交
  19. 24 6月, 2020 1 次提交
  20. 15 5月, 2020 1 次提交
  21. 21 4月, 2020 1 次提交
  22. 16 4月, 2020 1 次提交
  23. 13 3月, 2020 2 次提交
  24. 24 2月, 2020 1 次提交
  25. 13 2月, 2020 2 次提交
  26. 10 2月, 2020 1 次提交
  27. 11 12月, 2019 1 次提交
  28. 16 11月, 2019 1 次提交
  29. 03 9月, 2019 1 次提交
  30. 25 7月, 2019 1 次提交
  31. 19 6月, 2019 1 次提交
    • M
      usb: xhci: Don't try to recover an endpoint if port is in error state. · b8c3b718
      Mathias Nyman 提交于
      A USB3 device needs to be reset and re-enumarated if the port it
      connects to goes to a error state, with link state inactive.
      
      There is no use in trying to recover failed transactions by resetting
      endpoints at this stage. Tests show that in rare cases, after multiple
      endpoint resets of a roothub port the whole host controller might stop
      completely.
      
      Several retries to recover from transaction error can happen as
      it can take a long time before the hub thread discovers the USB3
      port error and inactive link.
      
      We can't reliably detect the port error from slot or endpoint context
      due to a limitation in xhci, see xhci specs section 4.8.3:
      "There are several cases where the EP State field in the Output
      Endpoint Context may not reflect the current state of an endpoint"
      and
      "Software should maintain an accurate value for EP State, by tracking it
      with an internal variable that is driven by Events and Doorbell accesses"
      
      Same appears to be true for slot state.
      
      set a flag to the corresponding slot if a USB3 roothub port link goes
      inactive to prevent both queueing new URBs and resetting endpoints.
      Reported-by: NRapolu Chiranjeevi <chiranjeevi.rapolu@intel.com>
      Tested-by: NRapolu Chiranjeevi <chiranjeevi.rapolu@intel.com>
      Cc: <stable@vger.kernel.org>
      Signed-off-by: NMathias Nyman <mathias.nyman@linux.intel.com>
      Signed-off-by: NGreg Kroah-Hartman <gregkh@linuxfoundation.org>
      b8c3b718
  32. 05 6月, 2019 1 次提交
    • J
      usb: xhci: Add Clear_TT_Buffer · ef513be0
      Jim Lin 提交于
      USB 2.0 specification chapter 11.17.5 says "as part of endpoint halt
      processing for full-/low-speed endpoints connected via a TT, the host
      software must use the Clear_TT_Buffer request to the TT to ensure
      that the buffer is not in the busy state".
      
      In our case, a full-speed speaker (ConferenceCam) is behind a high-
      speed hub (ConferenceCam Connect), sometimes once we get STALL on a
      request we may continue to get STALL with the folllowing requests,
      like Set_Interface.
      
      Here we invoke usb_hub_clear_tt_buffer() to send Clear_TT_Buffer
      request to the hub of the device for the following Set_Interface
      requests to the device to get ACK successfully.
      Signed-off-by: NJim Lin <jilin@nvidia.com>
      Acked-by: NMathias Nyman <mathias.nyman@linux.intel.com>
      Signed-off-by: NGreg Kroah-Hartman <gregkh@linuxfoundation.org>
      ef513be0
  33. 22 5月, 2019 1 次提交