On Thu, 5 May 2011, Manuel Lauss wrote: > Hello Alan, > > Your commit 9b37596a2e860404503a3f2a6513db60c296bfdc > ("USB: move usbcore away from hcd->state", as1451) > broke suspend/resume on ehci-au1xxx: on resume, controller > is dead with "au1xxx-ehci au1xxx-ehci.0: HC died; cleaning up" > message in the logs (usb_hc_died() is called from within usb_hcd_irq()) > > Reverting the above mentioned commit on top of current -git > fixes it. Let me know how I can help debugging this! The best way to start is by posting a dmesg log with CONFIG_USB_DEBUG enabled. The only way usb_hc_died() gets called is if hcd->state is HC_STATE_HALT, and it gets set to that value when ehci_reset() is called. At the end of ehci_hcd_au1xxx_drv_resume(), hcd->state is set to HC_STATE_SUSPENDED. Is it possible that an interrupt arrives between those two assignments? (But I don't see how the commit would have affected that...) Alan Stern -- 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