[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>
This commit is contained in:
parent
db95fc004e
commit
ac166d2fbd
|
@ -1598,8 +1598,9 @@ static void fc_lport_timeout(struct work_struct *work)
|
|||
case LPORT_ST_RPA:
|
||||
case LPORT_ST_DHBA:
|
||||
case LPORT_ST_DPRT:
|
||||
fc_lport_enter_ms(lport, lport->state);
|
||||
break;
|
||||
FC_LPORT_DBG(lport, "Skipping lport state %s to SCR\n",
|
||||
fc_lport_state(lport));
|
||||
/* fall thru */
|
||||
case LPORT_ST_SCR:
|
||||
fc_lport_enter_scr(lport);
|
||||
break;
|
||||
|
|
Loading…
Reference in New Issue