scsi: lpfc: Replace hbalock with ndlp lock in lpfc_nvme_unregister_port()
authorJustin Tee <justin.tee@broadcom.com>
Tue, 5 Mar 2024 20:04:56 +0000 (12:04 -0800)
committerMartin K. Petersen <martin.petersen@oracle.com>
Sun, 10 Mar 2024 22:56:43 +0000 (18:56 -0400)
The ndlp object update in lpfc_nvme_unregister_port() should be protected
by the ndlp lock rather than hbalock.

Signed-off-by: Justin Tee <justin.tee@broadcom.com>
Link: https://lore.kernel.org/r/20240305200503.57317-6-justintee8345@gmail.com
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
drivers/scsi/lpfc/lpfc_nvme.c

index 09c53b85bcb8d6a11128f0cb2c1545afa5cab800..c5792eaf3f64cbd750c43e3dded87b29168c8fac 100644 (file)
@@ -2616,9 +2616,9 @@ lpfc_nvme_unregister_port(struct lpfc_vport *vport, struct lpfc_nodelist *ndlp)
                /* No concern about the role change on the nvme remoteport.
                 * The transport will update it.
                 */
-               spin_lock_irq(&vport->phba->hbalock);
+               spin_lock_irq(&ndlp->lock);
                ndlp->fc4_xpt_flags |= NVME_XPT_UNREG_WAIT;
-               spin_unlock_irq(&vport->phba->hbalock);
+               spin_unlock_irq(&ndlp->lock);
 
                /* Don't let the host nvme transport keep sending keep-alives
                 * on this remoteport. Vport is unloading, no recovery. The