diff options
Diffstat (limited to 'drivers/usb/host/xhci-plat.c')
-rw-r--r-- | drivers/usb/host/xhci-plat.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/drivers/usb/host/xhci-plat.c b/drivers/usb/host/xhci-plat.c index 32b5574ad5c5..ef09cb06212f 100644 --- a/drivers/usb/host/xhci-plat.c +++ b/drivers/usb/host/xhci-plat.c | |||
@@ -362,14 +362,16 @@ static int xhci_plat_remove(struct platform_device *dev) | |||
362 | struct xhci_hcd *xhci = hcd_to_xhci(hcd); | 362 | struct xhci_hcd *xhci = hcd_to_xhci(hcd); |
363 | struct clk *clk = xhci->clk; | 363 | struct clk *clk = xhci->clk; |
364 | struct clk *reg_clk = xhci->reg_clk; | 364 | struct clk *reg_clk = xhci->reg_clk; |
365 | struct usb_hcd *shared_hcd = xhci->shared_hcd; | ||
365 | 366 | ||
366 | xhci->xhc_state |= XHCI_STATE_REMOVING; | 367 | xhci->xhc_state |= XHCI_STATE_REMOVING; |
367 | 368 | ||
368 | usb_remove_hcd(xhci->shared_hcd); | 369 | usb_remove_hcd(shared_hcd); |
370 | xhci->shared_hcd = NULL; | ||
369 | usb_phy_shutdown(hcd->usb_phy); | 371 | usb_phy_shutdown(hcd->usb_phy); |
370 | 372 | ||
371 | usb_remove_hcd(hcd); | 373 | usb_remove_hcd(hcd); |
372 | usb_put_hcd(xhci->shared_hcd); | 374 | usb_put_hcd(shared_hcd); |
373 | 375 | ||
374 | clk_disable_unprepare(clk); | 376 | clk_disable_unprepare(clk); |
375 | clk_disable_unprepare(reg_clk); | 377 | clk_disable_unprepare(reg_clk); |