mirror of
https://github.com/torvalds/linux
synced 2024-11-05 18:23:50 +00:00
[SCSI] qla2xxx: Disable MSI on qla24xx chips other than QLA2432.
On specific platforms, MSI is unreliable on some of the QLA24xx chips, resulting in fatal I/O errors under load, as reported in <http://bugs.debian.org/572322> and by some RHEL customers. Signed-off-by: Giridhar Malavali <giridhar.malavali@qlogic.com> Signed-off-by: James Bottomley <James.Bottomley@suse.de>
This commit is contained in:
parent
d84a47c2e8
commit
6377a7ae1a
1 changed files with 13 additions and 15 deletions
|
@ -2271,30 +2271,28 @@ qla2x00_request_irqs(struct qla_hw_data *ha, struct rsp_que *rsp)
|
|||
|
||||
/* If possible, enable MSI-X. */
|
||||
if (!IS_QLA2432(ha) && !IS_QLA2532(ha) &&
|
||||
!IS_QLA8432(ha) && !IS_QLA8001(ha))
|
||||
goto skip_msix;
|
||||
!IS_QLA8432(ha) && !IS_QLA8001(ha))
|
||||
goto skip_msi;
|
||||
|
||||
if (ha->pdev->subsystem_vendor == PCI_VENDOR_ID_HP &&
|
||||
(ha->pdev->subsystem_device == 0x7040 ||
|
||||
ha->pdev->subsystem_device == 0x7041 ||
|
||||
ha->pdev->subsystem_device == 0x1705)) {
|
||||
DEBUG2(qla_printk(KERN_WARNING, ha,
|
||||
"MSI-X: Unsupported ISP2432 SSVID/SSDID (0x%X,0x%X).\n",
|
||||
ha->pdev->subsystem_vendor,
|
||||
ha->pdev->subsystem_device));
|
||||
goto skip_msi;
|
||||
}
|
||||
|
||||
if (IS_QLA2432(ha) && (ha->pdev->revision < QLA_MSIX_CHIP_REV_24XX ||
|
||||
!QLA_MSIX_FW_MODE_1(ha->fw_attributes))) {
|
||||
DEBUG2(qla_printk(KERN_WARNING, ha,
|
||||
"MSI-X: Unsupported ISP2432 (0x%X, 0x%X).\n",
|
||||
ha->pdev->revision, ha->fw_attributes));
|
||||
|
||||
goto skip_msix;
|
||||
}
|
||||
|
||||
if (ha->pdev->subsystem_vendor == PCI_VENDOR_ID_HP &&
|
||||
(ha->pdev->subsystem_device == 0x7040 ||
|
||||
ha->pdev->subsystem_device == 0x7041 ||
|
||||
ha->pdev->subsystem_device == 0x1705)) {
|
||||
DEBUG2(qla_printk(KERN_WARNING, ha,
|
||||
"MSI-X: Unsupported ISP2432 SSVID/SSDID (0x%X, 0x%X).\n",
|
||||
ha->pdev->subsystem_vendor,
|
||||
ha->pdev->subsystem_device));
|
||||
|
||||
goto skip_msi;
|
||||
}
|
||||
|
||||
ret = qla24xx_enable_msix(ha, rsp);
|
||||
if (!ret) {
|
||||
DEBUG2(qla_printk(KERN_INFO, ha,
|
||||
|
|
Loading…
Reference in a new issue