diff options
author | Lalit Chandivade <lalit.chandivade@qlogic.com> | 2009-07-31 18:09:27 -0400 |
---|---|---|
committer | James Bottomley <James.Bottomley@suse.de> | 2009-08-22 18:52:17 -0400 |
commit | 4b785241ad6d07176a692631dbda3605f4917a18 (patch) | |
tree | b485f37843e4bd10d13c209a59bb60c1a7ba5027 /drivers/scsi/qla2xxx | |
parent | faadc5e71cb69cff9c4517f7a4add97f92820120 (diff) |
[SCSI] qla2xxx: Process DPC requests within valid Fabric topologies.
If vports are created and topology is changed to Loop only, the
driver continuously gets a LIP reset occurred and keeps trying to
enable the vport. Only manage requests during F_Port.
Signed-off-by: Lalit Chandivade <lalit.chandivade@qlogic.com>
Signed-off-by: Giridhar Malavali <giridhar.malavali@qlogic.com>
Signed-off-by: James Bottomley <James.Bottomley@HansenPartnership.com>
Signed-off-by: James Bottomley <James.Bottomley@suse.de>
Diffstat (limited to 'drivers/scsi/qla2xxx')
-rw-r--r-- | drivers/scsi/qla2xxx/qla_mid.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/drivers/scsi/qla2xxx/qla_mid.c b/drivers/scsi/qla2xxx/qla_mid.c index cd78c501803a..6238be37d7bb 100644 --- a/drivers/scsi/qla2xxx/qla_mid.c +++ b/drivers/scsi/qla2xxx/qla_mid.c | |||
@@ -250,6 +250,9 @@ qla2x00_do_dpc_vp(scsi_qla_host_t *vha) | |||
250 | struct qla_hw_data *ha = vha->hw; | 250 | struct qla_hw_data *ha = vha->hw; |
251 | scsi_qla_host_t *base_vha = pci_get_drvdata(ha->pdev); | 251 | scsi_qla_host_t *base_vha = pci_get_drvdata(ha->pdev); |
252 | 252 | ||
253 | if (!(ha->current_topology & ISP_CFG_F)) | ||
254 | return 0; | ||
255 | |||
253 | if (test_and_clear_bit(VP_IDX_ACQUIRED, &vha->vp_flags)) { | 256 | if (test_and_clear_bit(VP_IDX_ACQUIRED, &vha->vp_flags)) { |
254 | /* VP acquired. complete port configuration */ | 257 | /* VP acquired. complete port configuration */ |
255 | if (atomic_read(&base_vha->loop_state) == LOOP_READY) { | 258 | if (atomic_read(&base_vha->loop_state) == LOOP_READY) { |