summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAndrew Vasquez2009-06-03 18:55:21 +0200
committerJames Bottomley2009-06-08 21:46:47 +0200
commitf4658b6ccc9d54b28b89004accc989db185b6a2e (patch)
treeb9c465a7439200031d13d5f6631281fb480e2b81
parent[SCSI] qla2xxx: Check status of qla2x00_get_fw_version() call. (diff)
downloadkernel-qcow2-linux-f4658b6ccc9d54b28b89004accc989db185b6a2e.tar.gz
kernel-qcow2-linux-f4658b6ccc9d54b28b89004accc989db185b6a2e.tar.xz
kernel-qcow2-linux-f4658b6ccc9d54b28b89004accc989db185b6a2e.zip
[SCSI] qla2xxx: Mark a port's state as needing-rediscovery during link disruptions.
With RSCN states not being kept across qla2x00_configure_loop() invocations, loop-resync distruptions during fabric-discovery may cause ports to remain in a lost state. Force state renegotiation during a follow-on configure-loop iteration. Signed-off-by: Andrew Vasquez <andrew.vasquez@qlogic.com> Signed-off-by: James Bottomley <James.Bottomley@HansenPartnership.com>
-rw-r--r--drivers/scsi/qla2xxx/qla_init.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/drivers/scsi/qla2xxx/qla_init.c b/drivers/scsi/qla2xxx/qla_init.c
index 415fbf60de11..d145de0d2c2a 100644
--- a/drivers/scsi/qla2xxx/qla_init.c
+++ b/drivers/scsi/qla2xxx/qla_init.c
@@ -2064,8 +2064,10 @@ qla2x00_configure_loop(scsi_qla_host_t *vha)
if (test_bit(LOOP_RESYNC_NEEDED, &vha->dpc_flags)) {
if (test_bit(LOCAL_LOOP_UPDATE, &save_flags))
set_bit(LOCAL_LOOP_UPDATE, &vha->dpc_flags);
- if (test_bit(RSCN_UPDATE, &save_flags))
+ if (test_bit(RSCN_UPDATE, &save_flags)) {
set_bit(RSCN_UPDATE, &vha->dpc_flags);
+ vha->flags.rscn_queue_overflow = 1;
+ }
}
return (rval);