[SCSI] qla2xxx: Limit rport-flaps during link-disruptions.
authorGiridhar Malavali <giridhar.malavali@qlogic.com>
Fri, 28 May 2010 22:08:20 +0000 (15:08 -0700)
committerJames Bottomley <James.Bottomley@suse.de>
Tue, 27 Jul 2010 17:01:22 +0000 (12:01 -0500)
Signed-off-by: Andrew Vasquez <andrew.vasquez@qlogic.com>
Signed-off-by: Giridhar Malavali <giridhar.malavali@qlogic.com>
Signed-off-by: James Bottomley <James.Bottomley@suse.de>
drivers/scsi/qla2xxx/qla_init.c

index cc73525..9d969b5 100644 (file)
@@ -2651,7 +2651,8 @@ qla2x00_configure_loop(scsi_qla_host_t *vha)
                        set_bit(LOCAL_LOOP_UPDATE, &vha->dpc_flags);
                if (test_bit(RSCN_UPDATE, &save_flags)) {
                        set_bit(RSCN_UPDATE, &vha->dpc_flags);
-                       vha->flags.rscn_queue_overflow = 1;
+                       if (!IS_ALOGIO_CAPABLE(ha))
+                               vha->flags.rscn_queue_overflow = 1;
                }
        }
 
@@ -3209,8 +3210,9 @@ qla2x00_find_all_fabric_devs(scsi_qla_host_t *vha,
                if (qla2x00_is_reserved_id(vha, loop_id))
                        continue;
 
-               if (atomic_read(&vha->loop_down_timer) ||
-                   LOOP_TRANSITION(vha)) {
+               if (ha->current_topology == ISP_CFG_FL &&
+                   (atomic_read(&vha->loop_down_timer) ||
+                    LOOP_TRANSITION(vha))) {
                        atomic_set(&vha->loop_down_timer, 0);
                        set_bit(LOOP_RESYNC_NEEDED, &vha->dpc_flags);
                        set_bit(LOCAL_LOOP_UPDATE, &vha->dpc_flags);