OSDN Git Service

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)
committerMartin K. Petersen <martin.petersen@oracle.com>
Thu, 13 Dec 2018 01:38:13 +0000 (20:38 -0500)
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>
drivers/scsi/qla2xxx/qla_attr.c
drivers/scsi/qla2xxx/qla_init.c

index 0bb9ac6..00444dc 100644 (file)
@@ -2712,6 +2712,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 6fe20c2..d403b56 100644 (file)
@@ -237,15 +237,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 "