diff options
author | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2012-02-14 14:48:15 -0800 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2012-02-14 14:48:15 -0800 |
commit | 887aa58e482dbf6d35d24cfa7b3315c8f5543339 (patch) | |
tree | b72ffb8b5cb63f433afb59e7af4da0b92b9a2c86 /drivers/usb/core/hcd-pci.c | |
parent | b7bc5925a9aafae970c3db1f118c97a7d503114e (diff) | |
parent | 68d07f64b8a11a852d48d1b05b724c3e20c0d94b (diff) |
Merge tag 'for-usb-linus-2012-02-14' of git://git.kernel.org/pub/scm/linux/kernel/git/sarah/xhci into usb-linus
xHCI bug fix for broken BIOS on some Intel systems.
Happy Valentine's Day! Your present is a working xHCI driver under some
Intel systems with buggy BIOSes that don't provide a legacy PCI IRQ line
for the USB 3.0 host.
Please queue for 3.3 and stable to share the love!
Diffstat (limited to 'drivers/usb/core/hcd-pci.c')
-rw-r--r-- | drivers/usb/core/hcd-pci.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/drivers/usb/core/hcd-pci.c b/drivers/usb/core/hcd-pci.c index d136b8f4c8a..81e2c0d9c17 100644 --- a/drivers/usb/core/hcd-pci.c +++ b/drivers/usb/core/hcd-pci.c @@ -187,7 +187,10 @@ int usb_hcd_pci_probe(struct pci_dev *dev, const struct pci_device_id *id) return -ENODEV; dev->current_state = PCI_D0; - if (!dev->irq) { + /* The xHCI driver supports MSI and MSI-X, + * so don't fail if the BIOS doesn't provide a legacy IRQ. + */ + if (!dev->irq && (driver->flags & HCD_MASK) != HCD_USB3) { dev_err(&dev->dev, "Found HC with no IRQ. Check BIOS/PCI %s setup!\n", pci_name(dev)); |