xhci: re-initialize the HC during resume if HCE was set
Subsystems (3)
PATCH v4 1/1 xhci: re-initialize the HC during resume if HCE was set
When HCE(Host Controller Error) is set, it means an internal error condition has been detected. Software needs to re-initialize the HC, so add this check in xhci resume.
---
v2: Follow Sergey Shtylyov <[email protected]>'s comment.
v3: Add [email protected] for stable release.
v4: Refine the commit message.
drivers/usb/host/xhci.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-)
drivers/usb/host/xhci.c +2 -2
@@ -1146,8 +1146,8 @@ int xhci_resume(struct xhci_hcd *xhci, bool hibernated) temp =readl (&xhci->op_regs->status); } -/* If restore operation fails, re-initialize the HC during resume */ -if ((temp &STS_SRE ) || hibernated) { +/* If restore operation fails or HC error is detected, re-initialize the HC during resume */ +if ((temp & (STS_SRE |STS_HCE )) || hibernated) {if ((xhci->quirks &XHCI_COMP_MODE_QUIRK ) && !(xhci_all_ports_seen_u0 (xhci))) {
Signature · 1 line
2.34.1.703.g22d0c6ccf7-goog
Quoted 19 lines · Puma Hsu
When HCE(Host Controller Error) is set, it means an internal error condition has been detected. Software needs to re-initialize the HC, so add this check in xhci resume.
Signed-off-by Puma Hsu <[email protected]>---
v2: Follow Sergey Shtylyov <[email protected]>'s comment.
v3: Add [email protected] for stable release.
v4: Refine the commit message.drivers/usb/host/xhci.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-)drivers/usb/host/xhci.c +0
-0
drivers/usb/host/xhci.c int xhci_resume(struct xhci_hcd *xhci, bool hibernated) · line 1150
Quoted 7 lines
drivers/usb/host/xhci.c +2
-2@@ -1146,8 +1146,8 @@ int xhci_resume(struct xhci_hcd *xhci, bool hibernated) temp =readl (&xhci->op_regs->status); } -/* If restore operation fails, re-initialize the HC during resume */ -if ((temp &STS_SRE ) || hibernated) { +/* If restore operation fails or HC error is detected, re-initialize the HC during resume */ +if ((temp & (STS_SRE |STS_HCE )) || hibernated) {
Add a debug message in case we reset due to HCE
-Mathias