scsi: qla2xxx: Fix NVMe | FCP personality change
authorQuinn Tran <qutran@marvell.com>
Tue, 17 Aug 2021 05:13:10 +0000 (22:13 -0700)
committerMartin K. Petersen <martin.petersen@oracle.com>
Tue, 24 Aug 2021 02:36:53 +0000 (22:36 -0400)
Currently driver saves the personality type (FCP|NVMe) at the start of
first discovery of the remote device. If the remote device personality do
change over time, then qla driver needs to present that to user to decide.

Link: https://lore.kernel.org/r/20210817051315.2477-8-njavali@marvell.com
Signed-off-by: Quinn Tran <qutran@marvell.com>
Signed-off-by: Nilesh Javali <njavali@marvell.com>
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
drivers/scsi/qla2xxx/qla_gs.c
drivers/scsi/qla2xxx/qla_init.c

index 11401cfc35a13c01982f53e1ae1b045e394e4558..df6e3ef52e2c903334603389e3598edb873a3585 100644 (file)
@@ -3502,6 +3502,7 @@ void qla24xx_async_gnnft_done(scsi_qla_host_t *vha, srb_t *sp)
                                continue;
                        fcport->scan_state = QLA_FCPORT_FOUND;
                        fcport->last_rscn_gen = fcport->rscn_gen;
+                       fcport->fc4_type = rp->fc4type;
                        found = true;
                        /*
                         * If device was not a fabric device before.
index 7e6fb4ad4255ac5cc9cf2e9fad7acd2b74b75391..a70c68bb1d2db6a4f94181dd5a5608f71b7bd945 100644 (file)
@@ -1610,11 +1610,12 @@ int qla24xx_fcport_handle_login(struct scsi_qla_host *vha, fc_port_t *fcport)
        u16 sec;
 
        ql_dbg(ql_dbg_disc, vha, 0x20d8,
-           "%s %8phC DS %d LS %d P %d fl %x confl %p rscn %d|%d login %d lid %d scan %d\n",
+           "%s %8phC DS %d LS %d P %d fl %x confl %p rscn %d|%d login %d lid %d scan %d fc4type %x\n",
            __func__, fcport->port_name, fcport->disc_state,
            fcport->fw_login_state, fcport->login_pause, fcport->flags,
            fcport->conflict, fcport->last_rscn_gen, fcport->rscn_gen,
-           fcport->login_gen, fcport->loop_id, fcport->scan_state);
+           fcport->login_gen, fcport->loop_id, fcport->scan_state,
+           fcport->fc4_type);
 
        if (fcport->scan_state != QLA_FCPORT_FOUND)
                return 0;