Skip to content
Snippets Groups Projects
Commit ac166d2f authored by Vasu Dev's avatar Vasu Dev Committed by James Bottomley
Browse files

[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: default avatarVasu Dev <vasu.dev@intel.com>
Tested-by: default avatarMarcus Dennis <marcusx.e.dennis@intel.com>
Signed-off-by: default avatarRobert Love <robert.w.love@intel.com>
Signed-off-by: default avatarJames Bottomley <JBottomley@Parallels.com>
parent db95fc00
No related branches found
No related tags found
No related merge requests found
...@@ -1598,8 +1598,9 @@ static void fc_lport_timeout(struct work_struct *work) ...@@ -1598,8 +1598,9 @@ static void fc_lport_timeout(struct work_struct *work)
case LPORT_ST_RPA: case LPORT_ST_RPA:
case LPORT_ST_DHBA: case LPORT_ST_DHBA:
case LPORT_ST_DPRT: case LPORT_ST_DPRT:
fc_lport_enter_ms(lport, lport->state); FC_LPORT_DBG(lport, "Skipping lport state %s to SCR\n",
break; fc_lport_state(lport));
/* fall thru */
case LPORT_ST_SCR: case LPORT_ST_SCR:
fc_lport_enter_scr(lport); fc_lport_enter_scr(lport);
break; break;
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment