Centos-kernel-stream-9/drivers/usb/core
Desnes Nunes 815b90c1f5 USB: core: Disable LPM only for non-suspended ports
JIRA: https://issues.redhat.com/browse/RHEL-78828

commit 59bfeaf5454b7e764288d84802577f4a99bf0819
Author: Kai-Heng Feng <kaihengf@nvidia.com>
Date: Fri, 6 Dec 2024 15:48:17 +0800

  There's USB error when tegra board is shutting down:
  [  180.919315] usb 2-3: Failed to set U1 timeout to 0x0,error code -113
  [  180.919995] usb 2-3: Failed to set U1 timeout to 0xa,error code -113
  [  180.920512] usb 2-3: Failed to set U2 timeout to 0x4,error code -113
  [  186.157172] tegra-xusb 3610000.usb: xHCI host controller not responding, assume dead
  [  186.157858] tegra-xusb 3610000.usb: HC died; cleaning up
  [  186.317280] tegra-xusb 3610000.usb: Timeout while waiting for evaluate context command

  The issue is caused by disabling LPM on already suspended ports.

  For USB2 LPM, the LPM is already disabled during port suspend. For USB3
  LPM, port won't transit to U1/U2 when it's already suspended in U3,
  hence disabling LPM is only needed for ports that are not suspended.

  Cc: Wayne Chang <waynec@nvidia.com>
  Cc: stable <stable@kernel.org>
  Fixes: d920a2ed8620 ("usb: Disable USB3 LPM at shutdown")
  Signed-off-by: Kai-Heng Feng <kaihengf@nvidia.com>
  Acked-by: Alan Stern <stern@rowland.harvard.edu>
  Tested-by: Jon Hunter <jonathanh@nvidia.com>
  Link: https://lore.kernel.org/r/20241206074817.89189-1-kaihengf@nvidia.com
  Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

Signed-off-by: Desnes Nunes <desnesn@redhat.com>
2025-03-19 21:24:07 -03:00
..
Kconfig
Makefile
buffer.c
config.c drivers/usb/core: refactor max with max_t 2025-03-19 21:24:05 -03:00
devices.c
devio.c USB: core: remove dead code in do_proc_bulk() 2025-03-19 21:23:48 -03:00
driver.c USB: make to_usb_device_driver() use container_of_const() 2025-03-19 21:24:06 -03:00
endpoint.c usb: core: use sysfs_emit() instead of sprintf() 2025-03-19 16:21:54 -03:00
file.c
generic.c
hcd-pci.c
hcd.c usb: core: hcd: only check primary hcd skip_phy_initialization 2025-03-19 21:24:06 -03:00
hub.c usb: fix reference leak in usb_new_device() 2025-03-19 21:24:07 -03:00
hub.h
ledtrig-usbport.c usb: core: use sysfs_emit() instead of sprintf() 2025-03-19 16:21:54 -03:00
message.c
notify.c
of.c usb: core: add missing of_node_put() in usb_of_has_devices_or_graph 2024-10-10 16:36:47 -03:00
otg_productlist.h
phy.c
phy.h
port.c USB: core: Disable LPM only for non-suspended ports 2025-03-19 21:24:07 -03:00
quirks.c USB: Add USB_QUIRK_NO_SET_INTF quirk for START BP-850k 2024-10-10 16:36:47 -03:00
sysfs.c usb: core: sysfs: Unmerge @usb3_hardware_lpm_attr_group in remove_power_attributes() 2024-11-07 23:01:43 -03:00
urb.c
usb-acpi.c usb: acpi: fix boot hang due to early incorrect 'tunneled' USB3 device links 2024-12-13 11:26:42 -03:00
usb.c usb: add missing MODULE_DESCRIPTION() macros 2024-11-07 23:01:35 -03:00
usb.h USB: make to_usb_device_driver() use container_of_const() 2025-03-19 21:24:06 -03:00