Alex,Shi wrote: > On Thu, 2012-02-16 at 10:36 +0800, Alex,Shi wrote: >>>> +/* msi irq handler should be here, if driver has */ >>>> +irqreturn_t hcd_msi_irq(int irq, struct usb_hcd *hcd) >>>> +{ >>>> + return hcd->driver->irq(hcd); >>>> +} >>> >>> This works for now, but it isn't going to work in the future. We need >>> the USB core to provide us with the irq number so we can map the MSI-X >>> interrupt to the event ring that generated the interrupt, whenever we >>> get around to adding multiple event rings. >> >> Do you mean to add 2 new vectors for MSI/MSIX in hc_driver? > > + irqreturn_t (*msi_irq) (struct usb_hcd *hcd); > + irqreturn_t (*msix_irq) (struct usb_hcd *hcd); The controller driver will need to know which of the multiple MSI-X interrupts has been raised: irqreturn_t (*msix_irq)(struct usb_hcd *hcd, unsigned int nr_or_index); Regards, Clemens -- 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