aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/scsi/qla2xxx/qla_init.c
diff options
context:
space:
mode:
authorGiridhar Malavali <giridhar.malavali@qlogic.com>2010-05-28 18:08:20 -0400
committerJames Bottomley <James.Bottomley@suse.de>2010-07-27 13:01:22 -0400
commit3a6478df74c271cb3be5895b39fddf75e9cef89c (patch)
tree0fef501388a4f89be1fc89ec5fe18c50f76beb72 /drivers/scsi/qla2xxx/qla_init.c
parent6ac5260850841eb4055811a68ff47d658ebe9a59 (diff)
[SCSI] qla2xxx: Limit rport-flaps during link-disruptions.
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>
Diffstat (limited to 'drivers/scsi/qla2xxx/qla_init.c')
-rw-r--r--drivers/scsi/qla2xxx/qla_init.c8
1 files changed, 5 insertions, 3 deletions
diff --git a/drivers/scsi/qla2xxx/qla_init.c b/drivers/scsi/qla2xxx/qla_init.c
index cc7352545081..9d969b596b14 100644
--- a/drivers/scsi/qla2xxx/qla_init.c
+++ b/drivers/scsi/qla2xxx/qla_init.c
@@ -2651,7 +2651,8 @@ qla2x00_configure_loop(scsi_qla_host_t *vha)
2651 set_bit(LOCAL_LOOP_UPDATE, &vha->dpc_flags); 2651 set_bit(LOCAL_LOOP_UPDATE, &vha->dpc_flags);
2652 if (test_bit(RSCN_UPDATE, &save_flags)) { 2652 if (test_bit(RSCN_UPDATE, &save_flags)) {
2653 set_bit(RSCN_UPDATE, &vha->dpc_flags); 2653 set_bit(RSCN_UPDATE, &vha->dpc_flags);
2654 vha->flags.rscn_queue_overflow = 1; 2654 if (!IS_ALOGIO_CAPABLE(ha))
2655 vha->flags.rscn_queue_overflow = 1;
2655 } 2656 }
2656 } 2657 }
2657 2658
@@ -3209,8 +3210,9 @@ qla2x00_find_all_fabric_devs(scsi_qla_host_t *vha,
3209 if (qla2x00_is_reserved_id(vha, loop_id)) 3210 if (qla2x00_is_reserved_id(vha, loop_id))
3210 continue; 3211 continue;
3211 3212
3212 if (atomic_read(&vha->loop_down_timer) || 3213 if (ha->current_topology == ISP_CFG_FL &&
3213 LOOP_TRANSITION(vha)) { 3214 (atomic_read(&vha->loop_down_timer) ||
3215 LOOP_TRANSITION(vha))) {
3214 atomic_set(&vha->loop_down_timer, 0); 3216 atomic_set(&vha->loop_down_timer, 0);
3215 set_bit(LOOP_RESYNC_NEEDED, &vha->dpc_flags); 3217 set_bit(LOOP_RESYNC_NEEDED, &vha->dpc_flags);
3216 set_bit(LOCAL_LOOP_UPDATE, &vha->dpc_flags); 3218 set_bit(LOCAL_LOOP_UPDATE, &vha->dpc_flags);