Skip to contentSkip to conversation

New: xhci_hcd prevents hibernate/S4 suspend from working on several systems

Bug 218546 [email protected] 1 participant 9 messages Mar 1, 2024 – Mar 17, 2024 USB

lore
Share & tools
lore
#0 lore raw

https://bugzilla.kernel.org/show_bug.cgi?id=218546

            Bug ID: 218546
           Summary: xhci_hcd prevents hibernate/S4 suspend from working on
                    several systems
           Product: Drivers
           Version: 2.5
    Kernel Version: 6.8.0-rc5
          Hardware: All
                OS: Linux
            Status: NEW
          Severity: normal
          Priority: P3
         Component: USB
          Assignee: [email protected]
          Reporter: [email protected]
            Blocks: 178231
        Regression: No

Created attachment 305940
--> https://bugzilla.kernel.org/attachment.cgi?id=305940&action=edit
lenb-Dell-XPS-13-9300_disk.html

When running disk suspend on certain platforms the xhci_hcd USB3,0 hub controller device prevents hibernate by aborting suspend. The test is initiated with this command:

$> sudo sleepgraph -m disk-platform -rtcwake 60 -dev This essentially performs these two commands to issue the suspend:
$> echo platform > /sys/power/disk
$> echo disk > /sys/pwoer/state

The dmesg log shows the error where suspends is aborted:

xhci_hcd 0000:00:14.0: PM: pci_pm_freeze(): hcd_pci_suspend+0x0/0x20 returns -16
xhci_hcd 0000:00:14.0: PM: dpm_run_callback(): pci_pm_freeze+0x0/0xd0 returns -16
xhci_hcd 0000:00:14.0: PM: failed to freeze async: error -16
usb usb1: root hub lost power or was reset
usb usb2: root hub lost power or was reset
PM: hibernation: Basic memory bitmaps freed
PM: hibernation: hibernation exit

I'm attaching 3 sleepgraph timelines from three different production machines where this happened, so it's not endemic to just one manufacturer. The dmesg logs are in the timeline itself, just click the dmesg button in the upper left corner. The log button in the upper left corner shows all kinds of system details.

Referenced Bugs:

https://bugzilla.kernel.org/show_bug.cgi?id=178231
[Bug 178231] Meta-bug: Linux suspend-to-mem and freeze performance optimization

Signature · 4 lines
You may reply to this email to add a comment.

You are receiving this mail because:
You are watching the assignee of the bug.
#1 lore raw

[Bug 218546] xhci_hcd prevents hibernate/S4 suspend from working on several systems

https://bugzilla.kernel.org/show_bug.cgi?id=218546

--- Comment #1 from Todd Brandt ([email protected]) --- Created attachment 305941
--> https://bugzilla.kernel.org/attachment.cgi?id=305941&action=edit
otcpl-dell-7390-cmlu_disk.html

Signature · 4 lines
You may reply to this email to add a comment.

You are receiving this mail because:
You are watching the assignee of the bug.
#2 lore raw

[Bug 218546] xhci_hcd prevents hibernate/S4 suspend from working on several systems

In reply to [email protected]

https://bugzilla.kernel.org/show_bug.cgi?id=218546

--- Comment #2 from Todd Brandt ([email protected]) --- Created attachment 305942
--> https://bugzilla.kernel.org/attachment.cgi?id=305942&action=edit
otcpl-hp-spectre-tgl_disk.html

Signature · 4 lines
You may reply to this email to add a comment.

You are receiving this mail because:
You are watching the assignee of the bug.
#3 lore raw

[Bug 218546] xhci_hcd prevents hibernate/S4 suspend from working on several systems

In reply to [email protected]

https://bugzilla.kernel.org/show_bug.cgi?id=218546

--- Comment #3 from Todd Brandt ([email protected]) --- Created attachment 305943
--> https://bugzilla.kernel.org/attachment.cgi?id=305943&action=edit
issue.def

Signature · 4 lines
You may reply to this email to add a comment.

You are receiving this mail because:
You are watching the assignee of the bug.
#4 lore raw

[Bug 218546] xhci_hcd prevents hibernate/S4 suspend from working on several systems

In reply to [email protected]

https://bugzilla.kernel.org/show_bug.cgi?id=218546

--- Comment #4 from Todd Brandt ([email protected]) --- Created attachment 305977
--> https://bugzilla.kernel.org/attachment.cgi?id=305977&action=edit
callgraph-for-otcpl-hp-spectre-disk-usb3-xhci_hcd-fail.html

Includes a callgraph over the failing usb device showing what kernel source functions were called during the hibernate fail. Created with "sleepgraph -m disk-platform -rtcwake 60 -f". The dmesg error timestamp is 323.208. The ftrace time is the same and you can see the timestamps in the usb3 suspend callgraph. The error occurs around the "hrtimer_try_to_cancel" function.

Signature · 4 lines
You may reply to this email to add a comment.

You are receiving this mail because:
You are watching the assignee of the bug.
#5 lore raw

[Bug 218546] xhci_hcd prevents hibernate/S4 suspend from working on several systems

In reply to [email protected]

https://bugzilla.kernel.org/show_bug.cgi?id=218546

--- Comment #5 from Todd Brandt ([email protected]) --- Created attachment 305978
--> https://bugzilla.kernel.org/attachment.cgi?id=305978&action=edit
otcpl-hp-spectre-tgl_disk_dmesg.txt

dmesg log with dynamic debug enabled for xhci_hcd when the error occured.

Signature · 4 lines
You may reply to this email to add a comment.

You are receiving this mail because:
You are watching the assignee of the bug.
#6 lore raw

[Bug 218546] xhci_hcd prevents hibernate/S4 suspend from working on several systems

In reply to [email protected]

https://bugzilla.kernel.org/show_bug.cgi?id=218546

David McFarland ([email protected]) changed:

What |Removed |Added
----------------------------------------------------------------------------
CC| |[email protected]

--- Comment #6 from David McFarland ([email protected]) ---
I'm getting the same symbol on a Dell 7430, but I don't see the xhci_hcd errors you listed. I used dynamic debug 'module xhci_hcd +pflm'.

It started occurring with:

0c4cae1bc00d PM: hibernate: Avoid missing wakeup events during hibernation

However that's presumably just exposing the underlying problem.

Signature · 4 lines
You may reply to this email to add a comment.

You are receiving this mail because:
You are watching the assignee of the bug.
#8 lore raw

[Bug 218546] xhci_hcd prevents hibernate/S4 suspend from working on several systems

In reply to [email protected]

https://bugzilla.kernel.org/show_bug.cgi?id=218546

--- Comment #8 from David McFarland ([email protected]) --- I think I tracked mine down to this happening during hibernation:

[   37.511141] ACPI: PM: Waking up from system sleep state S4
[   37.529656] ACPI: button: The lid device is not compliant to SW_LID.
[   37.529657] ACPI: \_SB_.LID0: ACPI LID open

So it's probably unrelated.

Signature · 4 lines
You may reply to this email to add a comment.

You are receiving this mail because:
You are watching the assignee of the bug.