scsi: qla2xxx: Fix Remote port registration
authorQuinn Tran <quinn.tran@cavium.com>
Tue, 4 Sep 2018 21:19:18 +0000 (14:19 -0700)
committerMartin K. Petersen <martin.petersen@oracle.com>
Wed, 12 Sep 2018 00:28:08 +0000 (20:28 -0400)
Signed-off-by: Quinn Tran <quinn.tran@cavium.com>
Signed-off-by: Himanshu Madhani <himanshu.madhani@cavium.com>
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
drivers/scsi/qla2xxx/qla_init.c

index 3fdd433..e7de6f1 100644 (file)
@@ -5291,8 +5291,6 @@ qla2x00_update_fcport(scsi_qla_host_t *vha, fc_port_t *fcport)
        fcport->login_retry = vha->hw->login_retry_count;
        fcport->n2n_chip_reset = fcport->n2n_link_reset_cnt = 0;
 
-       qla2x00_iidma_fcport(vha, fcport);
-
        switch (vha->hw->current_topology) {
        case ISP_CFG_N:
        case ISP_CFG_NL:
@@ -5302,6 +5300,8 @@ qla2x00_update_fcport(scsi_qla_host_t *vha, fc_port_t *fcport)
                break;
        }
 
+       qla2x00_iidma_fcport(vha, fcport);
+
        if (fcport->fc4f_nvme) {
                qla_nvme_register_remote(vha, fcport);
                fcport->disc_state = DSC_LOGIN_COMPLETE;
@@ -5330,6 +5330,8 @@ qla2x00_update_fcport(scsi_qla_host_t *vha, fc_port_t *fcport)
                break;
        }
 
+       qla2x00_set_fcport_state(fcport, FCS_ONLINE);
+
        if (IS_IIDMA_CAPABLE(vha->hw) && vha->hw->flags.gpsc_supported) {
                if (fcport->id_changed) {
                        fcport->id_changed = 0;
@@ -5346,7 +5348,6 @@ qla2x00_update_fcport(scsi_qla_host_t *vha, fc_port_t *fcport)
                        qla24xx_post_gpsc_work(vha, fcport);
                }
        }
-       qla2x00_set_fcport_state(fcport, FCS_ONLINE);
 
        fcport->disc_state = DSC_LOGIN_COMPLETE;
 }