From 561d3a9c1ac1a47a39da40782cb497fe36632fe0 Mon Sep 17 00:00:00 2001 From: Andrew Vasquez Date: Mon, 7 May 2007 07:43:02 -0700 Subject: [PATCH] --- yaml --- r: 55238 b: refs/heads/master c: cbedb601868821c9bfdcf1e9194be160deceeecb h: refs/heads/master v: v3 --- [refs] | 2 +- trunk/drivers/scsi/qla2xxx/qla_isr.c | 15 ++++++++++++++- 2 files changed, 15 insertions(+), 2 deletions(-) diff --git a/[refs] b/[refs] index 0b68e8227fb7..f57419eb2477 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: a157b1014f9eaf7f80f9105defed2117c5f6653c +refs/heads/master: cbedb601868821c9bfdcf1e9194be160deceeecb diff --git a/trunk/drivers/scsi/qla2xxx/qla_isr.c b/trunk/drivers/scsi/qla2xxx/qla_isr.c index d4885616cd39..ca463469063d 100644 --- a/trunk/drivers/scsi/qla2xxx/qla_isr.c +++ b/trunk/drivers/scsi/qla2xxx/qla_isr.c @@ -1726,6 +1726,17 @@ qla2x00_request_irqs(scsi_qla_host_t *ha) qla_printk(KERN_WARNING, ha, "MSI-X: Falling back-to INTa mode -- %d.\n", ret); skip_msix: + + if (!IS_QLA24XX(ha)) + goto skip_msi; + + ret = pci_enable_msi(ha->pdev); + if (!ret) { + DEBUG2(qla_printk(KERN_INFO, ha, "MSI: Enabled.\n")); + ha->flags.msi_enabled = 1; + } +skip_msi: + ret = request_irq(ha->pdev->irq, ha->isp_ops.intr_handler, IRQF_DISABLED|IRQF_SHARED, QLA2XXX_DRIVER_NAME, ha); if (!ret) { @@ -1746,6 +1757,8 @@ qla2x00_free_irqs(scsi_qla_host_t *ha) if (ha->flags.msix_enabled) qla24xx_disable_msix(ha); - else if (ha->flags.inta_enabled) + else if (ha->flags.inta_enabled) { free_irq(ha->host->irq, ha); + pci_disable_msi(ha->pdev); + } }