forked from luck/tmp_suning_uos_patched
[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: Vikas Chaudhary <vikas.chaudhary@qlogic.com> Signed-off-by: James Bottomley <JBottomley@Parallels.com>
This commit is contained in:
parent
39c9582601
commit
109a008bfe
@ -1364,9 +1364,15 @@ int qla4xxx_request_irqs(struct scsi_qla_host *ha)
|
||||
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:
|
||||
/* Trying INTx */
|
||||
ret = request_irq(ha->pdev->irq, ha->isp_ops->intr_handler,
|
||||
@ -1380,7 +1386,7 @@ int qla4xxx_request_irqs(struct scsi_qla_host *ha)
|
||||
ql4_printk(KERN_WARNING, ha,
|
||||
"INTx: Failed to reserve interrupt %d already in"
|
||||
" use.\n", ha->pdev->irq);
|
||||
return ret;
|
||||
goto irq_not_attached;
|
||||
}
|
||||
|
||||
irq_attached:
|
||||
@ -1388,6 +1394,7 @@ int qla4xxx_request_irqs(struct scsi_qla_host *ha)
|
||||
ha->host->irq = ha->pdev->irq;
|
||||
ql4_printk(KERN_INFO, ha, "%s: irq %d attached\n",
|
||||
__func__, ha->pdev->irq);
|
||||
irq_not_attached:
|
||||
return ret;
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user