diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2009-05-22 18:33:49 +0400 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2009-05-22 18:33:49 +0400 |
commit | 1e787d139f89eb5f7080035625649ce4ce290037 (patch) | |
tree | 20dc621d9f73ff0944b89b7891c0e4006efa46a6 | |
parent | 66a26a8fa7694cdfa418d1527416c4ea079309f4 (diff) | |
parent | 6eb0ac03899a1363ba176abe0830a9e6698c0503 (diff) | |
download | linux-1e787d139f89eb5f7080035625649ce4ce290037.tar.xz |
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
-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) } return irq; } + +static void __devinit quirk_ipr_msi(struct pci_dev *dev) +{ + /* Something prevents MSIs from the IPR from working on Bimini, + * and the driver has no smarts to recover. So disable MSI + * on it for now. */ + + if (machine_is(maple)) { + dev->no_msi = 1; + dev_info(&dev->dev, "Quirk disabled MSI\n"); + } +} +DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_IBM, PCI_DEVICE_ID_IBM_OBSIDIAN, + quirk_ipr_msi); |