Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
BACKPORT: xhci: Keep interrupt disabled in initialization until host …
…is running. irq is disabled in xhci_quiesce(called by xhci_halt, with bit:2 cleared in USBCMD register), but xhci_run(called by usb_add_hcd) re-enable it. It's possible that you will receive thousands of interrupt requests after initialization for 2.0 roothub. And you will get a lot of warning like, "xHCI dying, ignoring interrupt. Shouldn't IRQs be disabled?". This amount of interrupt requests will cause the entire system to freeze. This problem was first found on a device with ASM2142 host controller on it. [tidy up old code while moving it, reword header -Mathias] Cc: stable@kernel.org Signed-off-by: Hongyu Xie <xiehongyu1@kylinos.cn> Signed-off-by: Mathias Nyman <mathias.nyman@linux.intel.com> Link: https://lore.kernel.org/r/20220623111945.1557702-2-mathias.nyman@linux.intel.com Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> Bug: 300061677 (cherry picked from commit a808925075fb750804a60ff0710614466c396db4) [prashk: Resolved minor conflict in drivers/usb/host/xhci.c] Signed-off-by: Prashanth K <quic_prashk@quicinc.com> Change-Id: Ieb0091c45fc4bdf440deed19a5edc482372d39da
- Loading branch information