if (atomic_read(&fcport->state) == FCS_ONLINE)
                return;
 
-       qla2x00_set_fcport_state(fcport, FCS_ONLINE);
-
        rport_ids.node_name = wwn_to_u64(fcport->node_name);
        rport_ids.port_name = wwn_to_u64(fcport->port_name);
        rport_ids.port_id = fcport->d_id.b.domain << 16 |
                qla2x00_reg_remote_port(vha, fcport);
                break;
        case MODE_TARGET:
-               qla2x00_set_fcport_state(fcport, FCS_ONLINE);
                if (!vha->vha_tgt.qla_tgt->tgt_stop &&
                        !vha->vha_tgt.qla_tgt->tgt_stopped)
                        qlt_fc_port_added(vha, fcport);
        if (NVME_TARGET(vha->hw, fcport))
                qla_nvme_register_remote(vha, fcport);
 
+       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;
 
                (fcport->nvme_flag & NVME_FLAG_REGISTERED))
                return 0;
 
-       if (atomic_read(&fcport->state) == FCS_ONLINE)
-               return 0;
-
-       qla2x00_set_fcport_state(fcport, FCS_ONLINE);
-
        fcport->nvme_flag &= ~NVME_FLAG_RESETTING;
 
        memset(&req, 0, sizeof(struct nvme_fc_port_info));