diff options
author | Andrew Vasquez <andrew.vasquez@qlogic.com> | 2010-02-18 13:07:27 -0500 |
---|---|---|
committer | James Bottomley <James.Bottomley@suse.de> | 2010-02-19 11:46:45 -0500 |
commit | bb2d52b2fd8b19355957e34271f79917f69e4059 (patch) | |
tree | cfb0c47a045507c1cc34b7934d388697ae7d069d /drivers/scsi | |
parent | 715848ca6fffeb6362a50887d9c26245bd5dfba9 (diff) |
[SCSI] qla2xxx: Correct loop-resync issues during SNS scans.
Original code could inadvertently skip the post processing of
port information returned from the SNS scan, if any link-flopping
asynchronous-events were received (noticed in FCAL topologies).
Cc: stable@kernel.org
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')
-rw-r--r-- | drivers/scsi/qla2xxx/qla_init.c | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/drivers/scsi/qla2xxx/qla_init.c b/drivers/scsi/qla2xxx/qla_init.c index 1128c8d5771b..96a609ba25fb 100644 --- a/drivers/scsi/qla2xxx/qla_init.c +++ b/drivers/scsi/qla2xxx/qla_init.c | |||
@@ -2910,8 +2910,13 @@ qla2x00_find_all_fabric_devs(scsi_qla_host_t *vha, | |||
2910 | if (qla2x00_is_reserved_id(vha, loop_id)) | 2910 | if (qla2x00_is_reserved_id(vha, loop_id)) |
2911 | continue; | 2911 | continue; |
2912 | 2912 | ||
2913 | if (atomic_read(&vha->loop_down_timer) || LOOP_TRANSITION(vha)) | 2913 | if (atomic_read(&vha->loop_down_timer) || |
2914 | LOOP_TRANSITION(vha)) { | ||
2915 | atomic_set(&vha->loop_down_timer, 0); | ||
2916 | set_bit(LOOP_RESYNC_NEEDED, &vha->dpc_flags); | ||
2917 | set_bit(LOCAL_LOOP_UPDATE, &vha->dpc_flags); | ||
2914 | break; | 2918 | break; |
2919 | } | ||
2915 | 2920 | ||
2916 | if (swl != NULL) { | 2921 | if (swl != NULL) { |
2917 | if (last_dev) { | 2922 | if (last_dev) { |