On 08/06/2014 09:05 PM, Al Cooper wrote: > V2 - Restart polling (which will restart the timer) for the shared > HCD in xhci_resume(). > > xhci_suspend() will stop the primary HCD's root hub timer, but leaves > the shared HCD's timer running. This change adds stopping of the > shared HCD timer. > > Signed-off-by: Al Cooper <alcooperx@xxxxxxxxx> > --- > drivers/usb/host/xhci.c | 4 ++++ > 1 file changed, 4 insertions(+) > > diff --git a/drivers/usb/host/xhci.c b/drivers/usb/host/xhci.c > index b6f2117..1557d4f 100644 > --- a/drivers/usb/host/xhci.c > +++ b/drivers/usb/host/xhci.c > @@ -871,6 +871,8 @@ 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, &xhci->shared_hcd->flags); > + del_timer_sync(&xhci->shared_hcd->rh_timer); > > spin_lock_irq(&xhci->lock); > 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__); > 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); > > return retval; > } > Looks good, thanks. Added to my for-usb-next branch in git://git.kernel.org/pub/scm/linux/kernel/git/mnyman/xhci.git Will send it forward once 3.17-rc1 is out -Mathias -- 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