Commit 109a008b authored by Vikas Chaudhary's avatar Vikas Chaudhary Committed by James Bottomley

[SCSI] qla4xxx: Prevent MSI/MSI-X falling back to INTx for ISP82XX

For ISP82xx mixed interrupt mode is not supported.
Hence prevent MSI/MSI-x from falling back to INTx mode.
Signed-off-by: default avatarVikas Chaudhary <vikas.chaudhary@qlogic.com>
Signed-off-by: default avatarJames Bottomley <JBottomley@Parallels.com>
parent 39c95826
...@@ -1364,9 +1364,15 @@ int qla4xxx_request_irqs(struct scsi_qla_host *ha) ...@@ -1364,9 +1364,15 @@ int qla4xxx_request_irqs(struct scsi_qla_host *ha)
pci_disable_msi(ha->pdev); pci_disable_msi(ha->pdev);
} }
} }
ql4_printk(KERN_WARNING, ha,
"MSI: Falling back-to INTx mode -- %d.\n", ret);
/*
* Prevent interrupts from falling back to INTx mode in cases where
* interrupts cannot get acquired through MSI-X or MSI mode.
*/
if (is_qla8022(ha)) {
ql4_printk(KERN_WARNING, ha, "IRQ not attached -- %d.\n", ret);
goto irq_not_attached;
}
try_intx: try_intx:
/* Trying INTx */ /* Trying INTx */
ret = request_irq(ha->pdev->irq, ha->isp_ops->intr_handler, ret = request_irq(ha->pdev->irq, ha->isp_ops->intr_handler,
...@@ -1380,7 +1386,7 @@ int qla4xxx_request_irqs(struct scsi_qla_host *ha) ...@@ -1380,7 +1386,7 @@ int qla4xxx_request_irqs(struct scsi_qla_host *ha)
ql4_printk(KERN_WARNING, ha, ql4_printk(KERN_WARNING, ha,
"INTx: Failed to reserve interrupt %d already in" "INTx: Failed to reserve interrupt %d already in"
" use.\n", ha->pdev->irq); " use.\n", ha->pdev->irq);
return ret; goto irq_not_attached;
} }
irq_attached: irq_attached:
...@@ -1388,6 +1394,7 @@ int qla4xxx_request_irqs(struct scsi_qla_host *ha) ...@@ -1388,6 +1394,7 @@ int qla4xxx_request_irqs(struct scsi_qla_host *ha)
ha->host->irq = ha->pdev->irq; ha->host->irq = ha->pdev->irq;
ql4_printk(KERN_INFO, ha, "%s: irq %d attached\n", ql4_printk(KERN_INFO, ha, "%s: irq %d attached\n",
__func__, ha->pdev->irq); __func__, ha->pdev->irq);
irq_not_attached:
return ret; return ret;
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment