aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLalit Chandivade <lalit.chandivade@qlogic.com>2009-07-31 18:09:27 -0400
committerJames Bottomley <James.Bottomley@suse.de>2009-08-22 18:52:17 -0400
commit4b785241ad6d07176a692631dbda3605f4917a18 (patch)
treeb485f37843e4bd10d13c209a59bb60c1a7ba5027
parentfaadc5e71cb69cff9c4517f7a4add97f92820120 (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>
-rw-r--r--drivers/scsi/qla2xxx/qla_mid.c3
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) {