lpfc_printf_vlog(vport, KERN_WARNING, LOG_TRACE_EVENT,
                                 "0150 FLOGI failure Status:x%x/x%x "
-                                "xri x%x TMO:x%x\n",
+                                "xri x%x TMO:x%x refcnt %d\n",
                                 irsp->ulpStatus, irsp->un.ulpWord[4],
-                                cmdiocb->sli4_xritag, irsp->ulpTimeout);
+                                cmdiocb->sli4_xritag, irsp->ulpTimeout,
+                                kref_read(&ndlp->kref));
 
                /* If this is not a loop open failure, bail out */
                if (!(irsp->ulpStatus == IOSTAT_LOCAL_REJECT &&
        /* FLOGI completes successfully */
        lpfc_printf_vlog(vport, KERN_INFO, LOG_ELS,
                         "0101 FLOGI completes successfully, I/O tag:x%x, "
-                        "xri x%x Data: x%x x%x x%x x%x x%x x%x x%x\n",
+                        "xri x%x Data: x%x x%x x%x x%x x%x x%x x%x %d\n",
                         cmdiocb->iotag, cmdiocb->sli4_xritag,
                         irsp->un.ulpWord[4], sp->cmn.e_d_tov,
                         sp->cmn.w2.r_a_tov, sp->cmn.edtovResolution,
                         vport->port_state, vport->fc_flag,
-                        sp->cmn.priority_tagging);
+                        sp->cmn.priority_tagging, kref_read(&ndlp->kref));
 
        if (sp->cmn.priority_tagging)
                vport->vmid_flag |= LPFC_VMID_ISSUE_QFPA;
        phba->fcf.fcf_flag &= ~FCF_DISCOVERY;
        spin_unlock_irq(&phba->hbalock);
 
-       if (!(ndlp->fc4_xpt_flags & (SCSI_XPT_REGD | NVME_XPT_REGD)))
-               lpfc_nlp_put(ndlp);
        if (!lpfc_error_lost_link(irsp)) {
                /* FLOGI failed, so just use loop map to make discovery list */
                lpfc_disc_list_loopmap(vport);
 
                fc_remote_port_rolechg(rport, rport_ids.roles);
 
        lpfc_printf_vlog(ndlp->vport, KERN_INFO, LOG_NODE,
-                        "3183 %s rport x%px DID x%x, role x%x\n",
-                        __func__, rport, rport->port_id, rport->roles);
+                        "3183 %s rport x%px DID x%x, role x%x refcnt %d\n",
+                        __func__, rport, rport->port_id, rport->roles,
+                        kref_read(&ndlp->kref));
 
        if ((rport->scsi_target_id != -1) &&
            (rport->scsi_target_id < LPFC_MAX_TARGET)) {
 
        lpfc_printf_vlog(vport, KERN_INFO, LOG_NODE,
                         "3184 rport unregister x%06x, rport x%px "
-                        "xptflg x%x\n",
-                        ndlp->nlp_DID, rport, ndlp->fc4_xpt_flags);
+                        "xptflg x%x refcnt %d\n",
+                        ndlp->nlp_DID, rport, ndlp->fc4_xpt_flags,
+                        kref_read(&ndlp->kref));
 
        fc_remote_port_delete(rport);
        lpfc_nlp_put(ndlp);
 
         * calling state machine to remove the node.
         */
        lpfc_printf_vlog(vport, KERN_INFO, LOG_NVME_DISC,
-                       "6146 remoteport delete of remoteport x%px\n",
-                       remoteport);
+                        "6146 remoteport delete of remoteport x%px, ndlp x%px "
+                        "DID x%x xflags x%x\n",
+                        remoteport, ndlp, ndlp->nlp_DID, ndlp->fc4_xpt_flags);
        spin_lock_irq(&ndlp->lock);
 
        /* The register rebind might have occurred before the delete