diff options
author | Seokmann Ju <seokmann.ju@qlogic.com> | 2009-03-24 12:08:18 -0400 |
---|---|---|
committer | James Bottomley <James.Bottomley@HansenPartnership.com> | 2009-04-03 10:22:53 -0400 |
commit | b9b12f73dff15915914f51bbff7620f5dd49b3de (patch) | |
tree | 870f134a8d3c2bfe35dc112be6f1d43b2e32d8e6 /drivers/scsi/qla2xxx/qla_mbx.c | |
parent | 6749ce362d38b47bd4669ccc0cafcc0014bff6e9 (diff) |
[SCSI] qla2xxx: Correct several PCI-EEH issues.
In addition to checking for potentially unnecessary iomem
readX()/writeX() operations, a pci_channel_io_perm_failure should
not trigger a full internal removal. Found during additional
testing with pSeries blade systems.
Signed-off-by: Seokmann Ju <seokmann.ju@qlogic.com>
Signed-off-by: Andrew Vasquez <andrew.vasquez@qlogic.com>
Signed-off-by: James Bottomley <James.Bottomley@HansenPartnership.com>
Diffstat (limited to 'drivers/scsi/qla2xxx/qla_mbx.c')
-rw-r--r-- | drivers/scsi/qla2xxx/qla_mbx.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/drivers/scsi/qla2xxx/qla_mbx.c b/drivers/scsi/qla2xxx/qla_mbx.c index 951537e30294..e67c1660bf46 100644 --- a/drivers/scsi/qla2xxx/qla_mbx.c +++ b/drivers/scsi/qla2xxx/qla_mbx.c | |||
@@ -45,6 +45,9 @@ qla2x00_mailbox_command(scsi_qla_host_t *vha, mbx_cmd_t *mcp) | |||
45 | struct qla_hw_data *ha = vha->hw; | 45 | struct qla_hw_data *ha = vha->hw; |
46 | scsi_qla_host_t *base_vha = pci_get_drvdata(ha->pdev); | 46 | scsi_qla_host_t *base_vha = pci_get_drvdata(ha->pdev); |
47 | 47 | ||
48 | if (ha->pdev->error_state > pci_channel_io_frozen) | ||
49 | return QLA_FUNCTION_TIMEOUT; | ||
50 | |||
48 | reg = ha->iobase; | 51 | reg = ha->iobase; |
49 | io_lock_on = base_vha->flags.init_done; | 52 | io_lock_on = base_vha->flags.init_done; |
50 | 53 | ||