Re: [PATCH 7/8] qla2xxx: Fix device connect issues in P2P configuration

Ewan D. Milne
2019-11-05T15:21:15Z

On Tue, 2019-11-05 at 07:06 -0800, Himanshu Madhani wrote:
> From: Arun Easi <aeasi@marvell.com>
>
> P2P need to take the alternate plogi route.
>
> Signed-off-by: Arun Easi <aeasi@marvell.com>
> Signed-off-by: Himanshu Madhani <hmadhani@marvell.com>
> ---
> drivers/scsi/qla2xxx/qla_gbl.h | 1 +
> drivers/scsi/qla2xxx/qla_init.c | 9 +++++++++
> drivers/scsi/qla2xxx/qla_iocb.c | 5 ++---
> 3 files changed, 12 insertions(+), 3 deletions(-)
>
> diff --git a/drivers/scsi/qla2xxx/qla_gbl.h b/drivers/scsi/qla2xxx/qla_gbl.h
> index d11416dcee4e..5b163ad85c34 100644
> --- a/drivers/scsi/qla2xxx/qla_gbl.h
> +++ b/drivers/scsi/qla2xxx/qla_gbl.h
> @@ -917,4 +917,5 @@ int qla2x00_set_data_rate(scsi_qla_host_t *vha, uint16_t mode);
>
> /* nvme.c */
> void qla_nvme_unregister_remote_port(struct fc_port *fcport);
> +void qla_handle_els_plogi_done(scsi_qla_host_t *vha, struct event_arg *ea);
> #endif /* _QLA_GBL_H */
> diff --git a/drivers/scsi/qla2xxx/qla_init.c b/drivers/scsi/qla2xxx/qla_init.c
> index ff4528702b4e..6bb4ddd90b6e 100644
> --- a/drivers/scsi/qla2xxx/qla_init.c
> +++ b/drivers/scsi/qla2xxx/qla_init.c
> @@ -1717,6 +1717,15 @@ void qla24xx_handle_relogin_event(scsi_qla_host_t *vha,
> qla24xx_fcport_handle_login(vha, fcport);
> }
>
> +void qla_handle_els_plogi_done(scsi_qla_host_t *vha,
> + struct event_arg *ea)
> +{
> + ql_dbg(ql_dbg_disc, vha, 0x2118,
> + "%s %d %8phC post PRLI\n",
> + __func__, __LINE__, ea->fcport->port_name);
> + qla24xx_post_prli_work(vha, ea->fcport);
> +}
> +
> /*
> * RSCN(s) came in for this fcport, but the RSCN(s) was not able
> * to be consumed by the fcport
> diff --git a/drivers/scsi/qla2xxx/qla_iocb.c b/drivers/scsi/qla2xxx/qla_iocb.c
> index 2b675da34bda..b25f87ff8cde 100644
> --- a/drivers/scsi/qla2xxx/qla_iocb.c
> +++ b/drivers/scsi/qla2xxx/qla_iocb.c
> @@ -2760,9 +2760,8 @@ static void qla2x00_els_dcmd2_sp_done(srb_t *sp, int res)
> case CS_COMPLETE:
> memset(&ea, 0, sizeof(ea));
> ea.fcport = fcport;
> - ea.data[0] = MBS_COMMAND_COMPLETE;
> - ea.sp = sp;
> - qla24xx_handle_plogi_done_event(vha, &ea);
> + ea.rc = res;
> + qla_handle_els_plogi_done(vha, &ea);
> break;
>
> case CS_IOCB_ERROR:

Reviewed-by: Ewan D. Milne <emilne@redhat.com>