diff options
author | Joe Eykholt <jeykholt@cisco.com> | 2010-06-11 16:44:57 -0700 |
---|---|---|
committer | James Bottomley <James.Bottomley@suse.de> | 2010-07-27 12:01:53 -0500 |
commit | f034260db330bb3ffc815fcb682b1c84aca09591 (patch) | |
tree | 4570860e30b7dfcaedceff905eeb1ab244b1a504 /include/scsi | |
parent | 4b2164d4d212e437c9f080023a67f8f9356d2c4c (diff) | |
download | linux-3.10-f034260db330bb3ffc815fcb682b1c84aca09591.tar.gz linux-3.10-f034260db330bb3ffc815fcb682b1c84aca09591.tar.bz2 linux-3.10-f034260db330bb3ffc815fcb682b1c84aca09591.zip |
[SCSI] libfc: fix indefinite rport restart
Remote ports were restarting indefinitely after getting
rejects in PRLI.
Fix by adding a counter of restarts and limiting that with
the port login retry limit as well.
Signed-off-by: Joe Eykholt <jeykholt@cisco.com>
Signed-off-by: Robert Love <robert.w.love@intel.com>
Signed-off-by: James Bottomley <James.Bottomley@suse.de>
Diffstat (limited to 'include/scsi')
-rw-r--r-- | include/scsi/libfc.h | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/include/scsi/libfc.h b/include/scsi/libfc.h index db54c4a2d14..6d78df77dab 100644 --- a/include/scsi/libfc.h +++ b/include/scsi/libfc.h @@ -189,6 +189,7 @@ struct fc_rport_libfc_priv { * @disc_id: The discovery identifier * @maxframe_size: The maximum frame size * @retries: The retry count for the current state + * @major_retries: The retry count for the entire PLOGI/PRLI state machine * @e_d_tov: Error detect timeout value (in msec) * @r_a_tov: Resource allocation timeout value (in msec) * @rp_mutex: The mutex that protects the remote port @@ -206,6 +207,7 @@ struct fc_rport_priv { u16 disc_id; u16 maxframe_size; unsigned int retries; + unsigned int major_retries; unsigned int e_d_tov; unsigned int r_a_tov; struct mutex rp_mutex; |