]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
scsi: mpi3mr: Add missing spin_lock_init() for mrioc->trigger_lock
authorShin'ichiro Kawasaki <shinichiro.kawasaki@wdc.com>
Sat, 10 Aug 2024 04:27:00 +0000 (13:27 +0900)
committerMartin K. Petersen <martin.petersen@oracle.com>
Mon, 12 Aug 2024 22:22:04 +0000 (18:22 -0400)
Commit fc4444941140 ("scsi: mpi3mr: HDB allocation and posting for hardware
and firmware buffers") added the spinlock trigger_lock to the struct
mpi3mr_ioc. However, spin_lock_init() call was not added for it, then the
lock does not work as expected. Also, the kernel reports the message below
when lockdep is enabled.

    INFO: trying to register non-static key.
    The code is fine but needs lockdep annotation, or maybe
    you didn't initialize this object before use?

To fix the issue and to avoid the INFO message, add the missing
spin_lock_init() call.

Fixes: fc4444941140 ("scsi: mpi3mr: HDB allocation and posting for hardware and firmware buffers")
Signed-off-by: Shin'ichiro Kawasaki <shinichiro.kawasaki@wdc.com>
Link: https://lore.kernel.org/r/20240810042701.661841-2-shinichiro.kawasaki@wdc.com
Acked-by: Sathya Prakash Veerichetty <sathya.prakash@broadcom.com>
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
drivers/scsi/mpi3mr/mpi3mr_os.c

index ca8f132e03aee26017b686bd5a72673c413144e0..616894571c6abe6758ef3cc648555d852941f058 100644 (file)
@@ -5234,6 +5234,7 @@ mpi3mr_probe(struct pci_dev *pdev, const struct pci_device_id *id)
        spin_lock_init(&mrioc->watchdog_lock);
        spin_lock_init(&mrioc->chain_buf_lock);
        spin_lock_init(&mrioc->sas_node_lock);
+       spin_lock_init(&mrioc->trigger_lock);
 
        INIT_LIST_HEAD(&mrioc->fwevt_list);
        INIT_LIST_HEAD(&mrioc->tgtdev_list);