[PATCH 0/1][SRU][N] Fix USB device suspend failure while HCD in S4 wakeup

Chris Chiu chris.chiu at canonical.com
Wed Nov 6 07:26:12 UTC 2024


https://bugs.launchpad.net/bugs/2085410

[Impact]
More and more USB device suspend failure are caused by the un-expected HCD_FLAG_WAKEUP_PENDING on the USB host controller. It mostly happens on the USB devices connected to the high-speed root hub. It randomly happens when put the system into suspend

[Fix]
Fixed by the upstream fix https://lore.kernel.org/linux-usb/20241012094633.126736-1-duanchenghao@kylinos.cn/. Set wakeup to false if suspend type is either PM_EVENT_FREEZE or PM_EVENT_QUIESCE

[Test Case]
1. Power on machine and connect a USB device to the high-speed root hub. (Find your device in lsusb in the secondary root hub)
2. run checkbox-cli run com.canonical.certification::suspend-cycles-stress-test
3. observe the suspend/resume fail with the kernel message

[Where problems could occur]
Add more restriction on how the wakeup should be performed. Should be low risk

Duan Chenghao (1):
  UBUNTU: SAUCE: USB: Fix the issue of task recovery failure caused by
    USB status when S4 wakes up

 drivers/usb/core/hcd-pci.c | 15 +++++++++++++--
 include/linux/pm.h         |  3 ++-
 2 files changed, 15 insertions(+), 3 deletions(-)

-- 
2.34.1




More information about the kernel-team mailing list