diff --git a/drivers/block/cciss.c b/drivers/block/cciss.c index b73116e..cd1ab17 100644 --- a/drivers/block/cciss.c +++ b/drivers/block/cciss.c @@ -3091,7 +3091,6 @@ static int find_PCI_BAR_index(struct pci_dev *pdev, unsigned long pci_bar_addr) static void __devinit cciss_interrupt_mode(ctlr_info_t *c, struct pci_dev *pdev, __u32 board_id) { -#ifdef CONFIG_PCI_MSI int err; struct msix_entry cciss_msix_entries[4] = { {0, 0}, {0, 1}, {0, 2}, {0, 3} @@ -3103,35 +3102,31 @@ static void __devinit cciss_interrupt_mode(ctlr_info_t *c, (board_id == 0x40820E11) || (board_id == 0x40830E11)) goto default_int_mode; - if (pci_find_capability(pdev, PCI_CAP_ID_MSIX)) { - err = pci_enable_msix(pdev, cciss_msix_entries, 4); - if (!err) { - c->intr[0] = cciss_msix_entries[0].vector; - c->intr[1] = cciss_msix_entries[1].vector; - c->intr[2] = cciss_msix_entries[2].vector; - c->intr[3] = cciss_msix_entries[3].vector; - c->msix_vector = 1; - return; - } - if (err > 0) { - printk(KERN_WARNING "cciss: only %d MSI-X vectors " - "available\n", err); - goto default_int_mode; - } else { - printk(KERN_WARNING "cciss: MSI-X init failed %d\n", - err); - goto default_int_mode; - } - } - if (pci_find_capability(pdev, PCI_CAP_ID_MSI)) { - if (!pci_enable_msi(pdev)) { - c->msi_vector = 1; - } else { - printk(KERN_WARNING "cciss: MSI init failed\n"); - } + err = pci_enable_msix(pdev, cciss_msix_entries, 4); + if (!err) { + c->intr[0] = cciss_msix_entries[0].vector; + c->intr[1] = cciss_msix_entries[1].vector; + c->intr[2] = cciss_msix_entries[2].vector; + c->intr[3] = cciss_msix_entries[3].vector; + c->msix_vector = 1; + return; + } else if (err > 0) { + printk(KERN_WARNING "cciss: only %d MSI-X vectors " + "available\n", err); + goto default_int_mode; + } else { + printk(KERN_WARNING "cciss: MSI-X init failed %d\n", + err); + goto default_int_mode; } + + err = pci_enable_msi(pdev); + if (!err) + c->msi_vector = 1; + else + printk(KERN_WARNING "cciss: MSI init failed\n"); + default_int_mode: -#endif /* CONFIG_PCI_MSI */ /* if we get here we're going to use the default interrupt mode */ c->intr[SIMPLE_MODE_INT] = pdev->irq; return; @@ -3620,12 +3615,10 @@ static void __devexit cciss_remove_one(struct pci_dev *pdev) cciss_shutdown(pdev); -#ifdef CONFIG_PCI_MSI if (hba[i]->msix_vector) pci_disable_msix(hba[i]->pdev); else if (hba[i]->msi_vector) pci_disable_msi(hba[i]->pdev); -#endif /* CONFIG_PCI_MSI */ iounmap(hba[i]->vaddr);