]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
Input: maple_keyb - use guard notation when acquiring mutex
authorDmitry Torokhov <dmitry.torokhov@gmail.com>
Mon, 28 Oct 2024 05:50:18 +0000 (22:50 -0700)
committerDmitry Torokhov <dmitry.torokhov@gmail.com>
Tue, 5 Nov 2024 22:17:32 +0000 (14:17 -0800)
Using guard notation makes the code more compact and error handling
more robust by ensuring that mutexes are released in all code paths
when control leaves critical section.

Link: https://lore.kernel.org/r/Zx8mGiWOw1Av28TX@google.com
Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
drivers/input/keyboard/maple_keyb.c

index 91a1d295810943792d1581a0e156a64d879784b9..1a8f1fa53fbb4e43f692e04b62edc0092a78d7eb 100644 (file)
@@ -132,14 +132,11 @@ static void dc_kbd_callback(struct mapleq *mq)
         * We should always get the lock because the only
         * time it may be locked is if the driver is in the cleanup phase.
         */
-       if (likely(mutex_trylock(&maple_keyb_mutex))) {
-
+       scoped_guard(mutex_try, &maple_keyb_mutex) {
                if (buf[1] == mapledev->function) {
                        memcpy(kbd->new, buf + 2, 8);
                        dc_scan_kbd(kbd);
                }
-
-               mutex_unlock(&maple_keyb_mutex);
        }
 }
 
@@ -211,14 +208,12 @@ static int remove_maple_kbd(struct device *dev)
        struct maple_device *mdev = to_maple_dev(dev);
        struct dc_kbd *kbd = maple_get_drvdata(mdev);
 
-       mutex_lock(&maple_keyb_mutex);
+       guard(mutex)(&maple_keyb_mutex);
 
        input_unregister_device(kbd->dev);
        kfree(kbd);
 
        maple_set_drvdata(mdev, NULL);
-
-       mutex_unlock(&maple_keyb_mutex);
        return 0;
 }