> I've got a minor update to this patch. Could you please test it? This > is the version I want to submit. > Ok. Now patched into a 3.8.2 kernel. A number of suspend/resume cycles have been run and no problems have so far been encountered. Will run with it and report any issues. Adrian Bassett > Index: 3.8/drivers/usb/host/ehci-hcd.c > =================================================================== > --- 3.8.orig/drivers/usb/host/ehci-hcd.c > +++ 3.8/drivers/usb/host/ehci-hcd.c > @@ -302,6 +302,7 @@ static void ehci_quiesce (struct ehci_hc > > static void end_unlink_async(struct ehci_hcd *ehci); > static void unlink_empty_async(struct ehci_hcd *ehci); > +static void unlink_empty_async_suspended(struct ehci_hcd *ehci); > static void ehci_work(struct ehci_hcd *ehci); > static void start_unlink_intr(struct ehci_hcd *ehci, struct ehci_qh *qh); > static void end_unlink_intr(struct ehci_hcd *ehci, struct ehci_qh *qh); > Index: 3.8/drivers/usb/host/ehci-hub.c > =================================================================== > --- 3.8.orig/drivers/usb/host/ehci-hub.c > +++ 3.8/drivers/usb/host/ehci-hub.c > @@ -328,7 +328,7 @@ static int ehci_bus_suspend (struct usb_ > ehci->rh_state = EHCI_RH_SUSPENDED; > > end_unlink_async(ehci); > - unlink_empty_async(ehci); > + unlink_empty_async_suspended(ehci); > ehci_handle_intr_unlinks(ehci); > end_free_itds(ehci); > > Index: 3.8/drivers/usb/host/ehci-q.c > =================================================================== > --- 3.8.orig/drivers/usb/host/ehci-q.c > +++ 3.8/drivers/usb/host/ehci-q.c > @@ -1316,6 +1316,19 @@ static void unlink_empty_async(struct eh > } > } > > +/* The root hub is suspended; unlink all the async QHs */ > +static void unlink_empty_async_suspended(struct ehci_hcd *ehci) > +{ > + struct ehci_qh *qh; > + > + while (ehci->async->qh_next.qh) { > + qh = ehci->async->qh_next.qh; > + WARN_ON(!list_empty(&qh->qtd_list)); > + single_unlink_async(ehci, qh); > + } > + start_iaa_cycle(ehci, false); > +} > + > /* makes sure the async qh will become idle */ > /* caller must own ehci->lock */ > > -- 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