* [PATCH 0/2] libfc: Move to PLOGI state on RJT and retry exhaustion.
@ 2020-03-27 6:02 Saurav Kashyap
2020-03-27 6:02 ` [PATCH 1/2] libfc: If PRLI rejected, move rport to PLOGI state Saurav Kashyap
` (2 more replies)
0 siblings, 3 replies; 4+ messages in thread
From: Saurav Kashyap @ 2020-03-27 6:02 UTC (permalink / raw)
To: martin.petersen; +Cc: GR-QLogic-Storage-Upstream, linux-scsi, jhasan
Hi Martin,
Kindly apply this series to scsi tree at your earliest convenience.
Thanks,
~Saurav
Javed Hasan (2):
libfc: If PRLI rejected, move rport to PLOGI state.
libfc: rport state move to PLOGI if all PRLI retry exhausted.
drivers/scsi/libfc/fc_rport.c | 10 +++++++++-
1 file changed, 9 insertions(+), 1 deletion(-)
--
1.8.3.1
^ permalink raw reply [flat|nested] 4+ messages in thread
* [PATCH 1/2] libfc: If PRLI rejected, move rport to PLOGI state.
2020-03-27 6:02 [PATCH 0/2] libfc: Move to PLOGI state on RJT and retry exhaustion Saurav Kashyap
@ 2020-03-27 6:02 ` Saurav Kashyap
2020-03-27 6:02 ` [PATCH 2/2] libfc: rport state move to PLOGI if all PRLI retry exhausted Saurav Kashyap
2020-03-27 20:51 ` [PATCH 0/2] libfc: Move to PLOGI state on RJT and retry exhaustion Martin K. Petersen
2 siblings, 0 replies; 4+ messages in thread
From: Saurav Kashyap @ 2020-03-27 6:02 UTC (permalink / raw)
To: martin.petersen; +Cc: GR-QLogic-Storage-Upstream, linux-scsi, jhasan
From: Javed Hasan <jhasan@marvell.com>
-If PRLI reject code indicates "rejected status",
move rport state machine back to PLOGI state.
Signed-off-by: Javed Hasan <jhasan@marvell.com>
Signed-off-by: Saurav Kashyap <skashyap@marvell.com>
---
drivers/scsi/libfc/fc_rport.c | 8 +++++++-
1 file changed, 7 insertions(+), 1 deletion(-)
diff --git a/drivers/scsi/libfc/fc_rport.c b/drivers/scsi/libfc/fc_rport.c
index da6e97d..6bb8917 100644
--- a/drivers/scsi/libfc/fc_rport.c
+++ b/drivers/scsi/libfc/fc_rport.c
@@ -1208,9 +1208,15 @@ static void fc_rport_prli_resp(struct fc_seq *sp, struct fc_frame *fp,
rjt = fc_frame_payload_get(fp, sizeof(*rjt));
if (!rjt)
FC_RPORT_DBG(rdata, "PRLI bad response\n");
- else
+ else {
FC_RPORT_DBG(rdata, "PRLI ELS rejected, reason %x expl %x\n",
rjt->er_reason, rjt->er_explan);
+ if (rjt->er_reason == ELS_RJT_UNAB &&
+ rjt->er_explan == ELS_EXPL_PLOGI_REQD) {
+ fc_rport_enter_plogi(rdata);
+ goto out;
+ }
+ }
fc_rport_error_retry(rdata, FC_EX_ELS_RJT);
}
--
1.8.3.1
^ permalink raw reply related [flat|nested] 4+ messages in thread
* [PATCH 2/2] libfc: rport state move to PLOGI if all PRLI retry exhausted.
2020-03-27 6:02 [PATCH 0/2] libfc: Move to PLOGI state on RJT and retry exhaustion Saurav Kashyap
2020-03-27 6:02 ` [PATCH 1/2] libfc: If PRLI rejected, move rport to PLOGI state Saurav Kashyap
@ 2020-03-27 6:02 ` Saurav Kashyap
2020-03-27 20:51 ` [PATCH 0/2] libfc: Move to PLOGI state on RJT and retry exhaustion Martin K. Petersen
2 siblings, 0 replies; 4+ messages in thread
From: Saurav Kashyap @ 2020-03-27 6:02 UTC (permalink / raw)
To: martin.petersen; +Cc: GR-QLogic-Storage-Upstream, linux-scsi, jhasan
From: Javed Hasan <jhasan@marvell.com>
-After all PRLI retries are exhausted, move rport state machine
back to PLOGI state.
Signed-off-by: Javed Hasan <jhasan@marvell.com>
Signed-off-by: Saurav Kashyap <skashyap@marvell.com>
---
drivers/scsi/libfc/fc_rport.c | 2 ++
1 file changed, 2 insertions(+)
diff --git a/drivers/scsi/libfc/fc_rport.c b/drivers/scsi/libfc/fc_rport.c
index 6bb8917..773c45a 100644
--- a/drivers/scsi/libfc/fc_rport.c
+++ b/drivers/scsi/libfc/fc_rport.c
@@ -632,6 +632,8 @@ static void fc_rport_error(struct fc_rport_priv *rdata, int err)
fc_rport_enter_ready(rdata);
break;
case RPORT_ST_PRLI:
+ fc_rport_enter_plogi(rdata);
+ break;
case RPORT_ST_ADISC:
fc_rport_enter_logo(rdata);
break;
--
1.8.3.1
^ permalink raw reply related [flat|nested] 4+ messages in thread
* Re: [PATCH 0/2] libfc: Move to PLOGI state on RJT and retry exhaustion.
2020-03-27 6:02 [PATCH 0/2] libfc: Move to PLOGI state on RJT and retry exhaustion Saurav Kashyap
2020-03-27 6:02 ` [PATCH 1/2] libfc: If PRLI rejected, move rport to PLOGI state Saurav Kashyap
2020-03-27 6:02 ` [PATCH 2/2] libfc: rport state move to PLOGI if all PRLI retry exhausted Saurav Kashyap
@ 2020-03-27 20:51 ` Martin K. Petersen
2 siblings, 0 replies; 4+ messages in thread
From: Martin K. Petersen @ 2020-03-27 20:51 UTC (permalink / raw)
To: Saurav Kashyap
Cc: martin.petersen, GR-QLogic-Storage-Upstream, linux-scsi, jhasan
Saurav,
> Kindly apply this series to scsi tree at your earliest convenience.
Applied to 5.7/scsi-queue, thanks!
--
Martin K. Petersen Oracle Linux Engineering
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2020-03-27 20:52 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-03-27 6:02 [PATCH 0/2] libfc: Move to PLOGI state on RJT and retry exhaustion Saurav Kashyap
2020-03-27 6:02 ` [PATCH 1/2] libfc: If PRLI rejected, move rport to PLOGI state Saurav Kashyap
2020-03-27 6:02 ` [PATCH 2/2] libfc: rport state move to PLOGI if all PRLI retry exhausted Saurav Kashyap
2020-03-27 20:51 ` [PATCH 0/2] libfc: Move to PLOGI state on RJT and retry exhaustion Martin K. Petersen
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.