diff options
author | Vasu Dev <vasu.dev@intel.com> | 2012-07-06 13:40:15 -0400 |
---|---|---|
committer | James Bottomley <JBottomley@Parallels.com> | 2012-07-20 03:58:56 -0400 |
commit | ac166d2fbd2d0c295454bcee7b3c930cb96e72cc (patch) | |
tree | 24f6afbd1e88f2d0b32fb77a667a0f89e740af49 /drivers | |
parent | db95fc004ea50f661a98c9f25585c0a734b5c238 (diff) |
[SCSI] libfc: fix retries with FDMI lport states
The FC-GS-3 sepc requires to wait for least 3 times R_A_TOV per
sec 4.6.1 "If the Requesting_CT does not receive a Response
CT_IU from the Responding_CT within three times R_A_TOV,
it shall consider this to be a protocol error."
This means added four new states with management server
could add significant delay with multiple retries
on default 12 second timeout(3 * R_A_TOV), so instead
just skip these states on very first timeout on any of
these states to not stuck with states for such longer
period.
Signed-off-by: Vasu Dev <vasu.dev@intel.com>
Tested-by: Marcus Dennis <marcusx.e.dennis@intel.com>
Signed-off-by: Robert Love <robert.w.love@intel.com>
Signed-off-by: James Bottomley <JBottomley@Parallels.com>
Diffstat (limited to 'drivers')
-rw-r--r-- | drivers/scsi/libfc/fc_lport.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/drivers/scsi/libfc/fc_lport.c b/drivers/scsi/libfc/fc_lport.c index d385d1147889..f04d15c67df3 100644 --- a/drivers/scsi/libfc/fc_lport.c +++ b/drivers/scsi/libfc/fc_lport.c | |||
@@ -1598,8 +1598,9 @@ static void fc_lport_timeout(struct work_struct *work) | |||
1598 | case LPORT_ST_RPA: | 1598 | case LPORT_ST_RPA: |
1599 | case LPORT_ST_DHBA: | 1599 | case LPORT_ST_DHBA: |
1600 | case LPORT_ST_DPRT: | 1600 | case LPORT_ST_DPRT: |
1601 | fc_lport_enter_ms(lport, lport->state); | 1601 | FC_LPORT_DBG(lport, "Skipping lport state %s to SCR\n", |
1602 | break; | 1602 | fc_lport_state(lport)); |
1603 | /* fall thru */ | ||
1603 | case LPORT_ST_SCR: | 1604 | case LPORT_ST_SCR: |
1604 | fc_lport_enter_scr(lport); | 1605 | fc_lport_enter_scr(lport); |
1605 | break; | 1606 | break; |