]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
NTB/msi: Switch MSI descriptor locking to lock guard()
authorThomas Gleixner <tglx@linutronix.de>
Wed, 19 Mar 2025 10:56:45 +0000 (11:56 +0100)
committerThomas Gleixner <tglx@linutronix.de>
Wed, 9 Apr 2025 18:47:29 +0000 (20:47 +0200)
Convert the code to use the new guard(msi_descs_lock).

No functional change intended.

Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Reviewed-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
Reviewed-by: Logan Gunthorpe <logang@deltatee.com>
Acked-by: Dave Jiang <dave.jiang@intel.com>
Link: https://lore.kernel.org/all/20250319105506.263456735@linutronix.de
drivers/ntb/msi.c

index 6295e55ef85e234044c88b6a3e65ef57b0380567..368f6d894bba90bacde507c0a221732b24a0898b 100644 (file)
@@ -106,10 +106,10 @@ int ntb_msi_setup_mws(struct ntb_dev *ntb)
        if (!ntb->msi)
                return -EINVAL;
 
-       msi_lock_descs(&ntb->pdev->dev);
-       desc = msi_first_desc(&ntb->pdev->dev, MSI_DESC_ASSOCIATED);
-       addr = desc->msg.address_lo + ((uint64_t)desc->msg.address_hi << 32);
-       msi_unlock_descs(&ntb->pdev->dev);
+       scoped_guard (msi_descs_lock, &ntb->pdev->dev) {
+               desc = msi_first_desc(&ntb->pdev->dev, MSI_DESC_ASSOCIATED);
+               addr = desc->msg.address_lo + ((uint64_t)desc->msg.address_hi << 32);
+       }
 
        for (peer = 0; peer < ntb_peer_port_count(ntb); peer++) {
                peer_widx = ntb_peer_highest_mw_idx(ntb, peer);
@@ -289,7 +289,7 @@ int ntbm_msi_request_threaded_irq(struct ntb_dev *ntb, irq_handler_t handler,
        if (!ntb->msi)
                return -EINVAL;
 
-       msi_lock_descs(dev);
+       guard(msi_descs_lock)(dev);
        msi_for_each_desc(entry, dev, MSI_DESC_ASSOCIATED) {
                if (irq_has_action(entry->irq))
                        continue;
@@ -307,17 +307,11 @@ int ntbm_msi_request_threaded_irq(struct ntb_dev *ntb, irq_handler_t handler,
                ret = ntbm_msi_setup_callback(ntb, entry, msi_desc);
                if (ret) {
                        devm_free_irq(&ntb->dev, entry->irq, dev_id);
-                       goto unlock;
+                       return ret;
                }
-
-               ret = entry->irq;
-               goto unlock;
+               return entry->irq;
        }
-       ret = -ENODEV;
-
-unlock:
-       msi_unlock_descs(dev);
-       return ret;
+       return -ENODEV;
 }
 EXPORT_SYMBOL(ntbm_msi_request_threaded_irq);