aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/scsi/ipr.c
diff options
context:
space:
mode:
authorWayne Boyer <wayneb@linux.vnet.ibm.com>2009-01-23 12:17:35 -0500
committerJames Bottomley <James.Bottomley@HansenPartnership.com>2009-03-12 13:57:58 -0400
commit5a9ef25b14d39b8413364df12cb8d9bb7a673a32 (patch)
treea63917edbeaf1eda156015b013b4bb683c94d459 /drivers/scsi/ipr.c
parent951948a397e3ddc96658efd648b9d66622965b19 (diff)
[SCSI] ipr: add MSI support
Enable MSI if available/supported. Signed-off-by: Wayne Boyer <wayneb@linux.vnet.ibm.com> Acked-by: Brian King <brking@linux.vnet.ibm.com> Signed-off-by: James Bottomley <James.Bottomley@HansenPartnership.com>
Diffstat (limited to 'drivers/scsi/ipr.c')
-rw-r--r--drivers/scsi/ipr.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/drivers/scsi/ipr.c b/drivers/scsi/ipr.c
index 07829009a8be..3f47cd1c46e7 100644
--- a/drivers/scsi/ipr.c
+++ b/drivers/scsi/ipr.c
@@ -7147,6 +7147,7 @@ static void ipr_free_all_resources(struct ipr_ioa_cfg *ioa_cfg)
7147 7147
7148 ENTER; 7148 ENTER;
7149 free_irq(pdev->irq, ioa_cfg); 7149 free_irq(pdev->irq, ioa_cfg);
7150 pci_disable_msi(pdev);
7150 iounmap(ioa_cfg->hdw_dma_regs); 7151 iounmap(ioa_cfg->hdw_dma_regs);
7151 pci_release_regions(pdev); 7152 pci_release_regions(pdev);
7152 ipr_free_mem(ioa_cfg); 7153 ipr_free_mem(ioa_cfg);
@@ -7432,6 +7433,11 @@ static int __devinit ipr_probe_ioa(struct pci_dev *pdev,
7432 goto out; 7433 goto out;
7433 } 7434 }
7434 7435
7436 if (!(rc = pci_enable_msi(pdev)))
7437 dev_info(&pdev->dev, "MSI enabled\n");
7438 else if (ipr_debug)
7439 dev_info(&pdev->dev, "Cannot enable MSI\n");
7440
7435 dev_info(&pdev->dev, "Found IOA with IRQ: %d\n", pdev->irq); 7441 dev_info(&pdev->dev, "Found IOA with IRQ: %d\n", pdev->irq);
7436 7442
7437 host = scsi_host_alloc(&driver_template, sizeof(*ioa_cfg)); 7443 host = scsi_host_alloc(&driver_template, sizeof(*ioa_cfg));
@@ -7574,6 +7580,7 @@ out_release_regions:
7574out_scsi_host_put: 7580out_scsi_host_put:
7575 scsi_host_put(host); 7581 scsi_host_put(host);
7576out_disable: 7582out_disable:
7583 pci_disable_msi(pdev);
7577 pci_disable_device(pdev); 7584 pci_disable_device(pdev);
7578 goto out; 7585 goto out;
7579} 7586}