On Thu, 20 Jun 2013, Roger Quadros wrote: > > runtime_resume(dev) > > { > > ... > > > > if (omap->flags & OMAP_EHCI_IRQ_PENDING) { > > process_pending_irqs(omap); > > OK, thanks. > > But I'm not sure if the generic ehci_irq handler is able to > run in a process context. Maybe if we replace spin_lock(&ehci->lock); > with spin_lock_irqsave() there, it will work. > > Alan is this a doable option? ehci_irq() will work okay in process context, provided the caller disables interrupts. But maybe none of this will be needed after Roger redesigns the controller suspend to work at the right time. Or if it is, we could adopt a simpler alternative: the controller's resume routine could always call usb_hcd_resume_root_hub(). After all, about the only reason for doing a runtime resume of the controller is because the root hub needs to do something. 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