[SCSI] qla2xxx: Process DPC requests within valid Fabric topologies.
authorLalit Chandivade <lalit.chandivade@qlogic.com>
Fri, 31 Jul 2009 22:09:27 +0000 (15:09 -0700)
committerJames Bottomley <James.Bottomley@suse.de>
Sat, 22 Aug 2009 22:52:17 +0000 (17:52 -0500)
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>
drivers/scsi/qla2xxx/qla_mid.c

index cd78c501803a733759f768e049860f6acdd68f21..6238be37d7bb2e7a9bd100c442ed75d0aaba6b1b 100644 (file)
@@ -250,6 +250,9 @@ qla2x00_do_dpc_vp(scsi_qla_host_t *vha)
        struct qla_hw_data *ha = vha->hw;
        scsi_qla_host_t *base_vha = pci_get_drvdata(ha->pdev);
 
+       if (!(ha->current_topology & ISP_CFG_F))
+               return 0;
+
        if (test_and_clear_bit(VP_IDX_ACQUIRED, &vha->vp_flags)) {
                /* VP acquired. complete port configuration */
                if (atomic_read(&base_vha->loop_state) == LOOP_READY) {