From: Wesley Cheng Date: Wed, 31 May 2023 22:27:19 +0000 (-0700) Subject: usb: host: xhci-plat: Set XHCI_STATE_REMOVING before resuming XHCI HC X-Git-Tag: v6.5-rc1~73^2 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=18af4b5c97915a6daef9de28a30ae1d3786bc2ac;p=thirdparty%2Fkernel%2Flinux.git 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 Message-ID: <20230531222719.14143-3-quic_wcheng@quicinc.com> Signed-off-by: Greg Kroah-Hartman --- diff --git a/drivers/usb/host/xhci-plat.c b/drivers/usb/host/xhci-plat.c index 1d902d1513bc7..b26ea7cb4357b 100644 --- a/drivers/usb/host/xhci-plat.c +++ b/drivers/usb/host/xhci-plat.c @@ -398,8 +398,8 @@ void xhci_plat_remove(struct platform_device *dev) struct clk *reg_clk = xhci->reg_clk; struct usb_hcd *shared_hcd = xhci->shared_hcd; - pm_runtime_get_sync(&dev->dev); xhci->xhc_state |= XHCI_STATE_REMOVING; + pm_runtime_get_sync(&dev->dev); if (shared_hcd) { usb_remove_hcd(shared_hcd);