|
|
3c6e85 |
From b338d44a8648a0e015780d73fc806dedbc78b59f Mon Sep 17 00:00:00 2001
|
|
|
3c6e85 |
From: Himanshu Madhani <hmadhani@redhat.com>
|
|
|
3c6e85 |
Date: Thu, 21 Nov 2019 16:36:59 -0500
|
|
|
3c6e85 |
Subject: [PATCH 149/155] [scsi] scsi: qla2xxx: Fix device connect issues in
|
|
|
3c6e85 |
P2P configuration
|
|
|
3c6e85 |
|
|
|
3c6e85 |
Message-id: <20191121163701.43688-25-hmadhani@redhat.com>
|
|
|
3c6e85 |
Patchwork-id: 287856
|
|
|
3c6e85 |
O-Subject: [RHLE 7.8 e-stor PATCH v3 24/26] scsi: qla2xxx: Fix device connect issues in P2P configuration
|
|
|
3c6e85 |
Bugzilla: 1731581
|
|
|
3c6e85 |
RH-Acked-by: Jarod Wilson <jarod@redhat.com>
|
|
|
3c6e85 |
RH-Acked-by: Ewan Milne <emilne@redhat.com>
|
|
|
3c6e85 |
RH-Acked-by: Tony Camuso <tcamuso@redhat.com>
|
|
|
3c6e85 |
|
|
|
3c6e85 |
From: Arun Easi <aeasi@marvell.com>
|
|
|
3c6e85 |
|
|
|
3c6e85 |
Bugzilla 1731581
|
|
|
3c6e85 |
|
|
|
3c6e85 |
P2P needs to take the alternate plogi route.
|
|
|
3c6e85 |
|
|
|
3c6e85 |
Link: https://lore.kernel.org/r/20191105150657.8092-8-hmadhani@marvell.com
|
|
|
3c6e85 |
Reviewed-by: Ewan D. Milne <emilne@redhat.com>
|
|
|
3c6e85 |
Signed-off-by: Arun Easi <aeasi@marvell.com>
|
|
|
3c6e85 |
Signed-off-by: Himanshu Madhani <hmadhani@marvell.com>
|
|
|
3c6e85 |
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
|
|
|
3c6e85 |
(cherry picked from commit 65e9200938052ce90f24421bb057e1be1d6147c7)
|
|
|
3c6e85 |
Signed-off-by: Himanshu Madhani <hmadhani@redhat.com>
|
|
|
3c6e85 |
Signed-off-by: Jan Stancek <jstancek@redhat.com>
|
|
|
3c6e85 |
---
|
|
|
3c6e85 |
drivers/scsi/qla2xxx/qla_gbl.h | 1 +
|
|
|
3c6e85 |
drivers/scsi/qla2xxx/qla_init.c | 9 +++++++++
|
|
|
3c6e85 |
drivers/scsi/qla2xxx/qla_iocb.c | 5 ++---
|
|
|
3c6e85 |
3 files changed, 12 insertions(+), 3 deletions(-)
|
|
|
3c6e85 |
|
|
|
3c6e85 |
diff --git a/drivers/scsi/qla2xxx/qla_gbl.h b/drivers/scsi/qla2xxx/qla_gbl.h
|
|
|
3c6e85 |
index 6d46518f4e9a..69faea46da73 100644
|
|
|
3c6e85 |
--- a/drivers/scsi/qla2xxx/qla_gbl.h
|
|
|
3c6e85 |
+++ b/drivers/scsi/qla2xxx/qla_gbl.h
|
|
|
3c6e85 |
@@ -912,4 +912,5 @@ int qla2x00_set_data_rate(scsi_qla_host_t *vha, uint16_t mode);
|
|
|
3c6e85 |
|
|
|
3c6e85 |
/* nvme.c */
|
|
|
3c6e85 |
void qla_nvme_unregister_remote_port(struct fc_port *fcport);
|
|
|
3c6e85 |
+void qla_handle_els_plogi_done(scsi_qla_host_t *vha, struct event_arg *ea);
|
|
|
3c6e85 |
#endif /* _QLA_GBL_H */
|
|
|
3c6e85 |
diff --git a/drivers/scsi/qla2xxx/qla_init.c b/drivers/scsi/qla2xxx/qla_init.c
|
|
|
3c6e85 |
index 3344f149e1c2..c327139a9ced 100644
|
|
|
3c6e85 |
--- a/drivers/scsi/qla2xxx/qla_init.c
|
|
|
3c6e85 |
+++ b/drivers/scsi/qla2xxx/qla_init.c
|
|
|
3c6e85 |
@@ -1732,6 +1732,15 @@ void qla24xx_handle_relogin_event(scsi_qla_host_t *vha,
|
|
|
3c6e85 |
qla24xx_fcport_handle_login(vha, fcport);
|
|
|
3c6e85 |
}
|
|
|
3c6e85 |
|
|
|
3c6e85 |
+void qla_handle_els_plogi_done(scsi_qla_host_t *vha,
|
|
|
3c6e85 |
+ struct event_arg *ea)
|
|
|
3c6e85 |
+{
|
|
|
3c6e85 |
+ ql_dbg(ql_dbg_disc, vha, 0x2118,
|
|
|
3c6e85 |
+ "%s %d %8phC post PRLI\n",
|
|
|
3c6e85 |
+ __func__, __LINE__, ea->fcport->port_name);
|
|
|
3c6e85 |
+ qla24xx_post_prli_work(vha, ea->fcport);
|
|
|
3c6e85 |
+}
|
|
|
3c6e85 |
+
|
|
|
3c6e85 |
/*
|
|
|
3c6e85 |
* RSCN(s) came in for this fcport, but the RSCN(s) was not able
|
|
|
3c6e85 |
* to be consumed by the fcport
|
|
|
3c6e85 |
diff --git a/drivers/scsi/qla2xxx/qla_iocb.c b/drivers/scsi/qla2xxx/qla_iocb.c
|
|
|
3c6e85 |
index 918b18d53599..337fcd555ae5 100644
|
|
|
3c6e85 |
--- a/drivers/scsi/qla2xxx/qla_iocb.c
|
|
|
3c6e85 |
+++ b/drivers/scsi/qla2xxx/qla_iocb.c
|
|
|
3c6e85 |
@@ -2868,9 +2868,8 @@ qla2x00_els_dcmd2_sp_done(void *ptr, int res)
|
|
|
3c6e85 |
case CS_COMPLETE:
|
|
|
3c6e85 |
memset(&ea, 0, sizeof(ea));
|
|
|
3c6e85 |
ea.fcport = fcport;
|
|
|
3c6e85 |
- ea.data[0] = MBS_COMMAND_COMPLETE;
|
|
|
3c6e85 |
- ea.sp = sp;
|
|
|
3c6e85 |
- qla24xx_handle_plogi_done_event(vha, &ea);
|
|
|
3c6e85 |
+ ea.rc = res;
|
|
|
3c6e85 |
+ qla_handle_els_plogi_done(vha, &ea);
|
|
|
3c6e85 |
break;
|
|
|
3c6e85 |
|
|
|
3c6e85 |
case CS_IOCB_ERROR:
|
|
|
3c6e85 |
--
|
|
|
3c6e85 |
2.13.6
|
|
|
3c6e85 |
|