Skip to content
Permalink
Browse files
xhci: Reset controller on xhci shutdown
Fixes kexec boot. Without a hard reset, some USB chips will fail to
initialize in a kexec booted kernel.

Signed-off-by: Brian King <brking@linux.vnet.ibm.com>
Signed-off-by: Samuel Mendoza-Jonas <sam@mendozajonas.com>
Signed-off-by: Joel Stanley <joel@jms.id.au>
  • Loading branch information
bjking1 authored and shenki committed Jul 15, 2021
1 parent 43b0742 commit e986a047f6e95986db0f0c7eb5dfc07773ca91cb
Showing 1 changed file with 3 additions and 0 deletions.
@@ -793,6 +793,9 @@ void xhci_shutdown(struct usb_hcd *hcd)
xhci_dbg_trace(xhci, trace_xhci_dbg_init,
"xhci_shutdown completed - status = %x",
readl(&xhci->op_regs->status));

/* TI XHCI controllers do not come back after kexec without this hack */
pci_reset_function_locked(to_pci_dev(hcd->self.sysdev));
}
EXPORT_SYMBOL_GPL(xhci_shutdown);

0 comments on commit e986a04

Please sign in to comment.