scsi: qla2xxx: Fix for FC-NVMe discovery for NPIV port
authorGiridhar Malavali <gmalavali@marvell.com>
Mon, 10 Dec 2018 20:36:24 +0000 (12:36 -0800)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 5 Dec 2019 08:20:03 +0000 (09:20 +0100)
[ Upstream commit 835aa4f2691e4ed4ed16de81f3cabf17a87a164f ]

This patch fixes NVMe discovery by setting SKIP_PRLI flag, so that PRLI is
driven by driver and is retried when the NPIV port is detected to have NVMe
capability.

Signed-off-by: Giridhar Malavali <gmalavali@marvell.com>
Signed-off-by: Himanshu Madhani <hmadhani@marvell.com>
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
drivers/scsi/qla2xxx/qla_attr.c
drivers/scsi/qla2xxx/qla_init.c

index 15d493f..3e9c49b 100644 (file)
@@ -2161,6 +2161,8 @@ qla24xx_vport_delete(struct fc_vport *fc_vport)
            test_bit(FCPORT_UPDATE_NEEDED, &vha->dpc_flags))
                msleep(1000);
 
+       qla_nvme_delete(vha);
+
        qla24xx_disable_vp(vha);
        qla2x00_wait_for_sess_deletion(vha);
 
index 653d535..f7dd289 100644 (file)
@@ -242,15 +242,13 @@ qla2x00_async_login(struct scsi_qla_host *vha, fc_port_t *fcport,
        qla2x00_init_timer(sp, qla2x00_get_async_timeout(vha) + 2);
 
        sp->done = qla2x00_async_login_sp_done;
-       if (N2N_TOPO(fcport->vha->hw) && fcport_is_bigger(fcport)) {
+       if (N2N_TOPO(fcport->vha->hw) && fcport_is_bigger(fcport))
                lio->u.logio.flags |= SRB_LOGIN_PRLI_ONLY;
-       } else {
+       else
                lio->u.logio.flags |= SRB_LOGIN_COND_PLOGI;
 
-               if (fcport->fc4f_nvme)
-                       lio->u.logio.flags |= SRB_LOGIN_SKIP_PRLI;
-
-       }
+       if (fcport->fc4f_nvme)
+               lio->u.logio.flags |= SRB_LOGIN_SKIP_PRLI;
 
        ql_dbg(ql_dbg_disc, vha, 0x2072,
            "Async-login - %8phC hdl=%x, loopid=%x portid=%02x%02x%02x "