Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

usb: host: xhci-plat: Set XHCI_STATE_REMOVING before resuming XHCI HC

There are situations during the xhci_resume() sequence, which allows for
re-initializing of the XHCI HC. However, in case the HCD is being removed,
these operations may not be needed. Set the removal state before issuing
the runtime PM get on the XHCI device, so that the XHCI resume routine will
know when to bypass the re-init logic.

Signed-off-by: Wesley Cheng <quic_wcheng@quicinc.com>
Message-ID: <20230531222719.14143-3-quic_wcheng@quicinc.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

authored by

Wesley Cheng and committed by
Greg Kroah-Hartman
18af4b5c fb2ce178

+1 -1
+1 -1
drivers/usb/host/xhci-plat.c
··· 398 398 struct clk *reg_clk = xhci->reg_clk; 399 399 struct usb_hcd *shared_hcd = xhci->shared_hcd; 400 400 401 - pm_runtime_get_sync(&dev->dev); 402 401 xhci->xhc_state |= XHCI_STATE_REMOVING; 402 + pm_runtime_get_sync(&dev->dev); 403 403 404 404 if (shared_hcd) { 405 405 usb_remove_hcd(shared_hcd);