diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2009-05-22 10:33:49 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2009-05-22 10:33:49 -0400 |
commit | 1e787d139f89eb5f7080035625649ce4ce290037 (patch) | |
tree | 20dc621d9f73ff0944b89b7891c0e4006efa46a6 /arch | |
parent | 66a26a8fa7694cdfa418d1527416c4ea079309f4 (diff) | |
parent | 6eb0ac03899a1363ba176abe0830a9e6698c0503 (diff) |
Merge branch 'merge' of git://git.kernel.org/pub/scm/linux/kernel/git/benh/powerpc
* 'merge' of git://git.kernel.org/pub/scm/linux/kernel/git/benh/powerpc:
powerpc/maple: Add a quirk to disable MSI for IPR on Bimini
Diffstat (limited to 'arch')
-rw-r--r-- | arch/powerpc/platforms/maple/pci.c | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/arch/powerpc/platforms/maple/pci.c b/arch/powerpc/platforms/maple/pci.c index 301855263b81..04296ffff8bf 100644 --- a/arch/powerpc/platforms/maple/pci.c +++ b/arch/powerpc/platforms/maple/pci.c | |||
@@ -592,3 +592,17 @@ int maple_pci_get_legacy_ide_irq(struct pci_dev *pdev, int channel) | |||
592 | } | 592 | } |
593 | return irq; | 593 | return irq; |
594 | } | 594 | } |
595 | |||
596 | static void __devinit quirk_ipr_msi(struct pci_dev *dev) | ||
597 | { | ||
598 | /* Something prevents MSIs from the IPR from working on Bimini, | ||
599 | * and the driver has no smarts to recover. So disable MSI | ||
600 | * on it for now. */ | ||
601 | |||
602 | if (machine_is(maple)) { | ||
603 | dev->no_msi = 1; | ||
604 | dev_info(&dev->dev, "Quirk disabled MSI\n"); | ||
605 | } | ||
606 | } | ||
607 | DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_IBM, PCI_DEVICE_ID_IBM_OBSIDIAN, | ||
608 | quirk_ipr_msi); | ||