On Fri, Aug 01, 2014 at 11:00:08AM +0800, Wang, Yu wrote: > From: "Wang, Yu" <yu.y.wang@xxxxxxxxx> > > By current xhci ISR request/release flow, the IRQ request be done by > xhci driver(xhci_run) whatever it is legacy irq or MSI. But the IRQ > release flow is a little mess, MSI release be handled by xhci > driver(xhci_stop), and legacy IRQ release be handled by USB core when > hcd is removing(usb_remove_hcd). > > There have one bug if XHCI_BROKEN_MSI quirk be set and meet STS_SRE > error during xhci resuming(xhci_resume), it will cause the xhci ISR be > requested more times. > > The reason is xhci driver will try to re-initialize all registers and > related structures to rescue the restore operation failure. And it will > call xhci_cleanup_msix to release the ISR and call xhci_run to > re-request it. In this flow, hcd will not be remove so USB core will not > to free the legacy xhci ISR. For MSI case, it should be fine due to they > will be free in xhci_cleanup_msix. But if XHCI_BROKEN_MSI quirk be set, > the xhci will use legacy irq then reproduce this issue. > > This patch will unify the xhci irq request/release flow in xhci driver > to avoid involve USB core. > > Change-Id: I85d589b9c7849c471595da89e5b63347bc3a2939 Why is this line here? Please don't do that... -- 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