diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2010-04-05 18:37:12 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2010-04-05 18:37:12 -0400 |
commit | 7da23b86e14b77c094b11a9fa5ef5b3758fc9193 (patch) | |
tree | 3da1b6c3c105daf61f1fe1c785821213ab6a9dde /drivers/scsi/qla2xxx/qla_isr.c | |
parent | 749d229761ff0135cc4e16b8a28b41ae2f6b2c35 (diff) | |
parent | 421e33d0045ac0aa119c033b78742e0fbf4c3b21 (diff) |
Merge git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi-rc-fixes-2.6
* git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi-rc-fixes-2.6:
[SCSI] qla1280: retain firmware for error recovery
[SCSI] attirbute_container: Initialize sysfs attributes with sysfs_attr_init
[SCSI] advansys: fix regression with request_firmware change
[SCSI] qla2xxx: Updated version number to 8.03.02-k2.
[SCSI] qla2xxx: Prevent sending mbx commands from sysfs during isp reset.
[SCSI] qla2xxx: Disable MSI on qla24xx chips other than QLA2432.
[SCSI] qla2xxx: Check to make sure multique and CPU affinity support is not enabled at the same time.
[SCSI] qla2xxx: Correct vp_idx checking during PORT_UPDATE processing.
[SCSI] qla2xxx: Honour "Extended BB credits" bit for CNAs.
[SCSI] scsi_transport_fc: Make sure commands are completed when rport is offline
[SCSI] libiscsi: Fix recovery slowdown regression
Diffstat (limited to 'drivers/scsi/qla2xxx/qla_isr.c')
-rw-r--r-- | drivers/scsi/qla2xxx/qla_isr.c | 37 |
1 files changed, 17 insertions, 20 deletions
diff --git a/drivers/scsi/qla2xxx/qla_isr.c b/drivers/scsi/qla2xxx/qla_isr.c index 875adb45e75..db539b0c3da 100644 --- a/drivers/scsi/qla2xxx/qla_isr.c +++ b/drivers/scsi/qla2xxx/qla_isr.c | |||
@@ -621,11 +621,10 @@ skip_rio: | |||
621 | * vp_idx does not match | 621 | * vp_idx does not match |
622 | * Event is not global, vp_idx does not match | 622 | * Event is not global, vp_idx does not match |
623 | */ | 623 | */ |
624 | if ((mb[1] == 0xffff && (mb[3] & 0xff) != 0xff) | 624 | if (IS_QLA2XXX_MIDTYPE(ha) && |
625 | || (mb[1] != 0xffff)) { | 625 | ((mb[1] == 0xffff && (mb[3] & 0xff) != 0xff) || |
626 | if (vha->vp_idx != (mb[3] & 0xff)) | 626 | (mb[1] != 0xffff)) && vha->vp_idx != (mb[3] & 0xff)) |
627 | break; | 627 | break; |
628 | } | ||
629 | 628 | ||
630 | /* Global event -- port logout or port unavailable. */ | 629 | /* Global event -- port logout or port unavailable. */ |
631 | if (mb[1] == 0xffff && mb[2] == 0x7) { | 630 | if (mb[1] == 0xffff && mb[2] == 0x7) { |
@@ -2273,30 +2272,28 @@ qla2x00_request_irqs(struct qla_hw_data *ha, struct rsp_que *rsp) | |||
2273 | 2272 | ||
2274 | /* If possible, enable MSI-X. */ | 2273 | /* If possible, enable MSI-X. */ |
2275 | if (!IS_QLA2432(ha) && !IS_QLA2532(ha) && | 2274 | if (!IS_QLA2432(ha) && !IS_QLA2532(ha) && |
2276 | !IS_QLA8432(ha) && !IS_QLA8001(ha)) | 2275 | !IS_QLA8432(ha) && !IS_QLA8001(ha)) |
2277 | goto skip_msix; | 2276 | goto skip_msi; |
2277 | |||
2278 | if (ha->pdev->subsystem_vendor == PCI_VENDOR_ID_HP && | ||
2279 | (ha->pdev->subsystem_device == 0x7040 || | ||
2280 | ha->pdev->subsystem_device == 0x7041 || | ||
2281 | ha->pdev->subsystem_device == 0x1705)) { | ||
2282 | DEBUG2(qla_printk(KERN_WARNING, ha, | ||
2283 | "MSI-X: Unsupported ISP2432 SSVID/SSDID (0x%X,0x%X).\n", | ||
2284 | ha->pdev->subsystem_vendor, | ||
2285 | ha->pdev->subsystem_device)); | ||
2286 | goto skip_msi; | ||
2287 | } | ||
2278 | 2288 | ||
2279 | if (IS_QLA2432(ha) && (ha->pdev->revision < QLA_MSIX_CHIP_REV_24XX || | 2289 | if (IS_QLA2432(ha) && (ha->pdev->revision < QLA_MSIX_CHIP_REV_24XX || |
2280 | !QLA_MSIX_FW_MODE_1(ha->fw_attributes))) { | 2290 | !QLA_MSIX_FW_MODE_1(ha->fw_attributes))) { |
2281 | DEBUG2(qla_printk(KERN_WARNING, ha, | 2291 | DEBUG2(qla_printk(KERN_WARNING, ha, |
2282 | "MSI-X: Unsupported ISP2432 (0x%X, 0x%X).\n", | 2292 | "MSI-X: Unsupported ISP2432 (0x%X, 0x%X).\n", |
2283 | ha->pdev->revision, ha->fw_attributes)); | 2293 | ha->pdev->revision, ha->fw_attributes)); |
2284 | |||
2285 | goto skip_msix; | 2294 | goto skip_msix; |
2286 | } | 2295 | } |
2287 | 2296 | ||
2288 | if (ha->pdev->subsystem_vendor == PCI_VENDOR_ID_HP && | ||
2289 | (ha->pdev->subsystem_device == 0x7040 || | ||
2290 | ha->pdev->subsystem_device == 0x7041 || | ||
2291 | ha->pdev->subsystem_device == 0x1705)) { | ||
2292 | DEBUG2(qla_printk(KERN_WARNING, ha, | ||
2293 | "MSI-X: Unsupported ISP2432 SSVID/SSDID (0x%X, 0x%X).\n", | ||
2294 | ha->pdev->subsystem_vendor, | ||
2295 | ha->pdev->subsystem_device)); | ||
2296 | |||
2297 | goto skip_msi; | ||
2298 | } | ||
2299 | |||
2300 | ret = qla24xx_enable_msix(ha, rsp); | 2297 | ret = qla24xx_enable_msix(ha, rsp); |
2301 | if (!ret) { | 2298 | if (!ret) { |
2302 | DEBUG2(qla_printk(KERN_INFO, ha, | 2299 | DEBUG2(qla_printk(KERN_INFO, ha, |