Daniel Wagner 5bd4a2
From: Quinn Tran <qutran@marvell.com>
Daniel Wagner 5bd4a2
Date: Mon, 16 Aug 2021 22:13:10 -0700
Daniel Wagner 5bd4a2
Subject: scsi: qla2xxx: Fix NVMe | FCP personality change
Daniel Wagner 5bd4a2
Patch-mainline: v5.15-rc1
Daniel Wagner 5bd4a2
Git-commit: f6e327fc09e48271c103efb3b69fc4ccda3f408b
Daniel Wagner 5bd4a2
References: bsc#1190941
Daniel Wagner 5bd4a2
Daniel Wagner 5bd4a2
Currently driver saves the personality type (FCP|NVMe) at the start of
Daniel Wagner 5bd4a2
first discovery of the remote device. If the remote device personality do
Daniel Wagner 5bd4a2
change over time, then qla driver needs to present that to user to decide.
Daniel Wagner 5bd4a2
Daniel Wagner 5bd4a2
Link: https://lore.kernel.org/r/20210817051315.2477-8-njavali@marvell.com
Daniel Wagner 5bd4a2
Signed-off-by: Quinn Tran <qutran@marvell.com>
Daniel Wagner 5bd4a2
Signed-off-by: Nilesh Javali <njavali@marvell.com>
Daniel Wagner 5bd4a2
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
Daniel Wagner 5bd4a2
Acked-by: Daniel Wagner <dwagner@suse.de>
Daniel Wagner 5bd4a2
---
Daniel Wagner 5bd4a2
 drivers/scsi/qla2xxx/qla_gs.c   |    1 +
Daniel Wagner 5bd4a2
 drivers/scsi/qla2xxx/qla_init.c |    5 +++--
Daniel Wagner 5bd4a2
 2 files changed, 4 insertions(+), 2 deletions(-)
Daniel Wagner 5bd4a2
Daniel Wagner 5bd4a2
--- a/drivers/scsi/qla2xxx/qla_gs.c
Daniel Wagner 5bd4a2
+++ b/drivers/scsi/qla2xxx/qla_gs.c
Daniel Wagner 5bd4a2
@@ -3502,6 +3502,7 @@ void qla24xx_async_gnnft_done(scsi_qla_h
Daniel Wagner 5bd4a2
 				continue;
Daniel Wagner 5bd4a2
 			fcport->scan_state = QLA_FCPORT_FOUND;
Daniel Wagner 5bd4a2
 			fcport->last_rscn_gen = fcport->rscn_gen;
Daniel Wagner 5bd4a2
+			fcport->fc4_type = rp->fc4type;
Daniel Wagner 5bd4a2
 			found = true;
Daniel Wagner 5bd4a2
 			/*
Daniel Wagner 5bd4a2
 			 * If device was not a fabric device before.
Daniel Wagner 5bd4a2
--- a/drivers/scsi/qla2xxx/qla_init.c
Daniel Wagner 5bd4a2
+++ b/drivers/scsi/qla2xxx/qla_init.c
Daniel Wagner 5bd4a2
@@ -1610,11 +1610,12 @@ int qla24xx_fcport_handle_login(struct s
Daniel Wagner 5bd4a2
 	u16 sec;
Daniel Wagner 5bd4a2
 
Daniel Wagner 5bd4a2
 	ql_dbg(ql_dbg_disc, vha, 0x20d8,
Daniel Wagner 5bd4a2
-	    "%s %8phC DS %d LS %d P %d fl %x confl %p rscn %d|%d login %d lid %d scan %d\n",
Daniel Wagner 5bd4a2
+	    "%s %8phC DS %d LS %d P %d fl %x confl %p rscn %d|%d login %d lid %d scan %d fc4type %x\n",
Daniel Wagner 5bd4a2
 	    __func__, fcport->port_name, fcport->disc_state,
Daniel Wagner 5bd4a2
 	    fcport->fw_login_state, fcport->login_pause, fcport->flags,
Daniel Wagner 5bd4a2
 	    fcport->conflict, fcport->last_rscn_gen, fcport->rscn_gen,
Daniel Wagner 5bd4a2
-	    fcport->login_gen, fcport->loop_id, fcport->scan_state);
Daniel Wagner 5bd4a2
+	    fcport->login_gen, fcport->loop_id, fcport->scan_state,
Daniel Wagner 5bd4a2
+	    fcport->fc4_type);
Daniel Wagner 5bd4a2
 
Daniel Wagner 5bd4a2
 	if (fcport->scan_state != QLA_FCPORT_FOUND)
Daniel Wagner 5bd4a2
 		return 0;