]> www.infradead.org Git - users/hch/misc.git/commitdiff
PCI: switchtec: Replace manual locks with guard
authorErick Karanja <karanja99erick@gmail.com>
Thu, 28 Aug 2025 09:35:55 +0000 (12:35 +0300)
committerBjorn Helgaas <bhelgaas@google.com>
Thu, 28 Aug 2025 15:39:54 +0000 (10:39 -0500)
Replace lock/unlock pairs with guards to simplify and tidy up the code.

Generated-by: Coccinelle SmPL
Signed-off-by: Erick Karanja <karanja99erick@gmail.com>
Signed-off-by: Bjorn Helgaas <bhelgaas@google.com>
Reviewed-by: Logan Gunthorpe <logang@deltatee.com>
Link: https://patch.msgid.link/20250828093556.810911-1-karanja99erick@gmail.com
drivers/pci/switch/switchtec.c

index b14dfab04d846ceae180c4d3f56b2d261919d06a..5ff84fb8fb0f454b84ac0eba65a4f3836f3bf9a9 100644 (file)
@@ -269,10 +269,9 @@ static void mrpc_event_work(struct work_struct *work)
 
        dev_dbg(&stdev->dev, "%s\n", __func__);
 
-       mutex_lock(&stdev->mrpc_mutex);
+       guard(mutex)(&stdev->mrpc_mutex);
        cancel_delayed_work(&stdev->mrpc_timeout);
        mrpc_complete_cmd(stdev);
-       mutex_unlock(&stdev->mrpc_mutex);
 }
 
 static void mrpc_error_complete_cmd(struct switchtec_dev *stdev)
@@ -1322,18 +1321,18 @@ static void stdev_kill(struct switchtec_dev *stdev)
        cancel_delayed_work_sync(&stdev->mrpc_timeout);
 
        /* Mark the hardware as unavailable and complete all completions */
-       mutex_lock(&stdev->mrpc_mutex);
-       stdev->alive = false;
-
-       /* Wake up and kill any users waiting on an MRPC request */
-       list_for_each_entry_safe(stuser, tmpuser, &stdev->mrpc_queue, list) {
-               stuser->cmd_done = true;
-               wake_up_interruptible(&stuser->cmd_comp);
-               list_del_init(&stuser->list);
-               stuser_put(stuser);
-       }
+       scoped_guard (mutex, &stdev->mrpc_mutex) {
+               stdev->alive = false;
+
+               /* Wake up and kill any users waiting on an MRPC request */
+               list_for_each_entry_safe(stuser, tmpuser, &stdev->mrpc_queue, list) {
+                       stuser->cmd_done = true;
+                       wake_up_interruptible(&stuser->cmd_comp);
+                       list_del_init(&stuser->list);
+                       stuser_put(stuser);
+               }
 
-       mutex_unlock(&stdev->mrpc_mutex);
+       }
 
        /* Wake up any users waiting on event_wq */
        wake_up_interruptible(&stdev->event_wq);