]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
iio: accel: adxl372: convert to guard(mutex)
authorRajveer Chaudhari <rajveer.chaudhari.linux@gmail.com>
Sat, 7 Mar 2026 11:49:12 +0000 (17:19 +0530)
committerJonathan Cameron <Jonathan.Cameron@huawei.com>
Sat, 14 Mar 2026 12:10:22 +0000 (12:10 +0000)
Replace manual mutex_lock/mutex_unlock pair with guard(mutex) in
adxl372_write_threshold_value(). This ensures the mutex is released
on all return paths and allows returning directly without a goto label.

Signed-off-by: Rajveer Chaudhari <rajveer.chaudhari.linux@gmail.com>
Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
drivers/iio/accel/adxl372.c

index 28a8793a53b6f11fd10c42f6c7f5b9381f7a0d35..6763f8ed9f7f1c393db1e5b64b8da9e886ef7bb0 100644 (file)
@@ -7,6 +7,7 @@
 
 #include <linux/bitfield.h>
 #include <linux/bitops.h>
+#include <linux/cleanup.h>
 #include <linux/interrupt.h>
 #include <linux/irq.h>
 #include <linux/module.h>
@@ -336,18 +337,14 @@ static ssize_t adxl372_write_threshold_value(struct iio_dev *indio_dev, unsigned
        struct adxl372_state *st = iio_priv(indio_dev);
        int ret;
 
-       mutex_lock(&st->threshold_m);
+       guard(mutex)(&st->threshold_m);
+
        ret = regmap_write(st->regmap, addr, ADXL372_THRESH_VAL_H_SEL(threshold));
        if (ret < 0)
-               goto unlock;
-
-       ret = regmap_update_bits(st->regmap, addr + 1, GENMASK(7, 5),
-                                ADXL372_THRESH_VAL_L_SEL(threshold) << 5);
-
-unlock:
-       mutex_unlock(&st->threshold_m);
+               return ret;
 
-       return ret;
+       return regmap_update_bits(st->regmap, addr + 1, GENMASK(7, 5),
+                                 ADXL372_THRESH_VAL_L_SEL(threshold) << 5);
 }
 
 static int adxl372_read_axis(struct adxl372_state *st, u8 addr)