|
@@ -871,6 +871,8 @@ int xhci_suspend(struct xhci_hcd *xhci)
|
|
xhci_dbg(xhci, "%s: stopping port polling.\n", __func__);
|
|
xhci_dbg(xhci, "%s: stopping port polling.\n", __func__);
|
|
clear_bit(HCD_FLAG_POLL_RH, &hcd->flags);
|
|
clear_bit(HCD_FLAG_POLL_RH, &hcd->flags);
|
|
del_timer_sync(&hcd->rh_timer);
|
|
del_timer_sync(&hcd->rh_timer);
|
|
|
|
+ clear_bit(HCD_FLAG_POLL_RH, &xhci->shared_hcd->flags);
|
|
|
|
+ del_timer_sync(&xhci->shared_hcd->rh_timer);
|
|
|
|
|
|
spin_lock_irq(&xhci->lock);
|
|
spin_lock_irq(&xhci->lock);
|
|
clear_bit(HCD_FLAG_HW_ACCESSIBLE, &hcd->flags);
|
|
clear_bit(HCD_FLAG_HW_ACCESSIBLE, &hcd->flags);
|
|
@@ -1075,6 +1077,8 @@ int xhci_resume(struct xhci_hcd *xhci, bool hibernated)
|
|
xhci_dbg(xhci, "%s: starting port polling.\n", __func__);
|
|
xhci_dbg(xhci, "%s: starting port polling.\n", __func__);
|
|
set_bit(HCD_FLAG_POLL_RH, &hcd->flags);
|
|
set_bit(HCD_FLAG_POLL_RH, &hcd->flags);
|
|
usb_hcd_poll_rh_status(hcd);
|
|
usb_hcd_poll_rh_status(hcd);
|
|
|
|
+ set_bit(HCD_FLAG_POLL_RH, &xhci->shared_hcd->flags);
|
|
|
|
+ usb_hcd_poll_rh_status(xhci->shared_hcd);
|
|
|
|
|
|
return retval;
|
|
return retval;
|
|
}
|
|
}
|