summaryrefslogtreecommitdiffstats
path: root/include/scsi
diff options
context:
space:
mode:
authorJoe Eykholt <jeykholt@cisco.com>2010-06-12 01:44:57 +0200
committerJames Bottomley <James.Bottomley@suse.de>2010-07-27 19:01:53 +0200
commitf034260db330bb3ffc815fcb682b1c84aca09591 (patch)
tree4570860e30b7dfcaedceff905eeb1ab244b1a504 /include/scsi
parent[SCSI] libfc: Fix remote port restart problem (diff)
downloadlinux-f034260db330bb3ffc815fcb682b1c84aca09591.tar.xz
linux-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.h2
1 files changed, 2 insertions, 0 deletions
diff --git a/include/scsi/libfc.h b/include/scsi/libfc.h
index db54c4a2d14b..6d78df77dab6 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;