On Fri, Mar 01, 2013 at 09:52:54AM +0100, Hannes Reinecke wrote: >xhci might run with MSI/MSI-X only, with no support for legacy >interrupts. On these devices the request_irq() call in usb_add_hcd() >will fail, causing the entire device to fail. >For xhci this is especially painful as the driver will enable >interrupts during xhci_run(), so the initial call to request_irq() >is not required anyway. > >This patch adds a flag 'msix_supported' to struct usb_hcd, which >will cause usb_add_hcd() to skip interrupt setup. This flag is >set in xhci-pci, so the registration will skip the first request_irq() >and can proceed. > >Cc: Bjorn Helgaas <bhelgaas@xxxxxxxxxx> >Cc: Oliver Neukum <oneukum@xxxxxxx> >Cc: Thomas Renninger <trenn@xxxxxxx> >Cc: Yinghai Lu <yinghai@xxxxxxxxxx> >Cc: Frederik Himpe <fhimpe@xxxxxxxxx> >Cc: David Haerdeman <david@xxxxxxxxxxx> >Signed-off-by: Hannes Reinecke <hare@xxxxxxx> It doesn't seem to work. I just tried applying the patch to the 3.8 kernel in Debian experimental and this was the result during boot: [ 1.203390] xhci_hcd 0000:00:14.0: can't derive routing for PCI INT A [ 1.203393] xhci_hcd 0000:00:14.0: PCI INT A: no GSI [ 1.203419] xhci_hcd 0000:00:14.0: setting latency timer to 64 [ 1.203423] xhci_hcd 0000:00:14.0: xHCI Host Controller [ 1.203429] xhci_hcd 0000:00:14.0: new USB bus registered, assigned bus number 1 [ 1.203533] xhci_hcd 0000:00:14.0: cache line size of 64 is not supported [ 1.203535] xhci_hcd 0000:00:14.0: request interrupt 255 failed [ 1.203580] xhci_hcd 0000:00:14.0: USB bus 1 deregistered [ 1.203598] xhci_hcd 0000:00:14.0: can't derive routing for PCI INT A [ 1.203600] xhci_hcd 0000:00:14.0: init 0000:00:14.0 fail, -22 [ 1.203643] xhci_hcd: probe of 0000:00:14.0 failed with error -22 Regards, David -- 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