Hi Al, I faced an issue related to this and was about to send a patch myself but you beat me to it. On Tue, Jul 29, 2014 at 02:21:55PM -0400, Al Cooper wrote: > --- a/drivers/usb/host/xhci.c > +++ b/drivers/usb/host/xhci.c > @@ -871,6 +871,7 @@ int xhci_suspend(struct xhci_hcd *xhci) > xhci_dbg(xhci, "%s: stopping port polling.\n", __func__); > clear_bit(HCD_FLAG_POLL_RH, &hcd->flags); > del_timer_sync(&hcd->rh_timer); clear_bit(HCD_FLAG_POLL_RH, &hcd->shared_hcd->flags) also? > + del_timer_sync(&hcd->shared_hcd->rh_timer); What about at the end of xhci_resume(), does the polling timer of the secondary HCD need to be restarted as well? /* Don't poll the roothubs on bus suspend. */ xhci_dbg(xhci, "%s: starting port polling.\n", __func__); set_bit(HCD_FLAG_POLL_RH, &hcd->flags); usb_hcd_poll_rh_status(hcd); + set_bit(HCD_FLAG_POLL_RH, &xhci->shared_hcd->flags); + usb_hcd_poll_rh_status(xhci->shared_hcd); Thanks, Jack -- Employee of Qualcomm Innovation Center, Inc. The Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum, hosted by The Linux Foundation -- To unsubscribe from this list: send the line "unsubscribe linux-usb" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html