]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
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)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Fri, 17 May 2024 10:14:36 +0000 (12:14 +0200)
[ Upstream commit d11272be497e48a8e8f980470eb6b70e92eed0ce ]

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>
Signed-off-by: Sasha Levin <sashal@kernel.org>
drivers/scsi/lpfc/lpfc_nvme.c

index 128fc1bab58653dc4b7f428c0a9ce58f687455d4..47218cf4d110db3414359b91cee5e8195960c026 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