summaryrefslogtreecommitdiffstats
path: root/drivers/usb/core/hcd-pci.c
diff options
context:
space:
mode:
authorGreg Kroah-Hartman <gregkh@linuxfoundation.org>2012-02-14 14:48:15 -0800
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2012-02-14 14:48:15 -0800
commit887aa58e482dbf6d35d24cfa7b3315c8f5543339 (patch)
treeb72ffb8b5cb63f433afb59e7af4da0b92b9a2c86 /drivers/usb/core/hcd-pci.c
parentb7bc5925a9aafae970c3db1f118c97a7d503114e (diff)
parent68d07f64b8a11a852d48d1b05b724c3e20c0d94b (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.c5
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));