> > On 5/12/2020 8:05 AM, Peter Chen wrote: > > Cc: Baolin Wang <baolin.wang@xxxxxxxxxx> > > Cc: Mathias Nyman <mathias.nyman@xxxxxxxxxxxxxxx> > > Cc: <stable@xxxxxxxxxxxxxxx> > > Fixes: b0c69b4bace3 ("usb: host: plat: Enable xHCI plat runtime PM") > > Reviewed-by: Peter Chen <peter.chen@xxxxxxx> > > Signed-off-by: Li Jun <jun.li@xxxxxxx> > > --- > > drivers/usb/host/xhci-plat.c | 1 + > > 1 file changed, 1 insertion(+) > > > > diff --git a/drivers/usb/host/xhci-plat.c > > b/drivers/usb/host/xhci-plat.c index 1d4f6f85f0fe..f38d53528c96 100644 > > --- a/drivers/usb/host/xhci-plat.c > > +++ b/drivers/usb/host/xhci-plat.c > > @@ -362,6 +362,7 @@ static int 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); > Where is corresponding _put() call? > At the end of this function, there is a pm_runtime_set_suspended(&dev->dev). Calling pm_runtime_put_sync(&dev->dev) will cause xhci_plat_runtime_suspend is called which is not expected. Peter