diff mbox series

[Bug,216470,Regression] xhci_hcd 0000:08:00.2: xHC error in resume, USBSTS 0x401, Reinit

Message ID bug-216470-208809-r6jGsV27VS@https.bugzilla.kernel.org/ (mailing list archive)
State New, archived
Headers show
Series [Bug,216470,Regression] xhci_hcd 0000:08:00.2: xHC error in resume, USBSTS 0x401, Reinit | expand

Commit Message

bugzilla-daemon@kernel.org Sept. 12, 2022, 8:12 p.m. UTC
https://bugzilla.kernel.org/show_bug.cgi?id=216470

Mario Limonciello (AMD) (mario.limonciello@amd.com) changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|NEW                         |ASSIGNED
                 CC|                            |mario.limonciello@amd.com

--- Comment #3 from Mario Limonciello (AMD) (mario.limonciello@amd.com) ---
It's a new message as of 5.17-rc6 or later.

https://github.com/torvalds/linux/commit/8b328f8002bcf29ef517ee4bf234e09aabec4d2e

The behavior however is not new; it's due to this quirk introduced a few years
back for your model.

https://github.com/torvalds/linux/commit/a7d57abcc8a5bdeb53bbf8e87558e8e0a2c2a29d

I don't think we should be doing anything functionally here.  The only think
that might make sense IMO is downgrading the message to INFO or not showing it
instead of WARN when `xhci->broken_suspend` is set.

Something like this:


        if (reinit_xhc) {
diff mbox series

Patch

diff --git a/drivers/usb/host/xhci.c b/drivers/usb/host/xhci.c
index 38649284ff88..a7ef675f00fd 100644
--- a/drivers/usb/host/xhci.c
+++ b/drivers/usb/host/xhci.c
@@ -1183,7 +1183,8 @@  int xhci_resume(struct xhci_hcd *xhci, bool hibernated)
        /* re-initialize the HC on Restore Error, or Host Controller Error */
        if (temp & (STS_SRE | STS_HCE)) {
                reinit_xhc = true;
-               xhci_warn(xhci, "xHC error in resume, USBSTS 0x%x, Reinit\n",
temp);
+               if (!xhci->broken_suspend)
+                       xhci_warn(xhci, "xHC error in resume, USBSTS 0x%x,
Reinit\n", temp);
        }