]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
iio: adc: ade9000: move mutex init before IRQ registration
authorAntoniu Miclaus <antoniu.miclaus@analog.com>
Fri, 27 Feb 2026 13:33:30 +0000 (15:33 +0200)
committerJonathan Cameron <Jonathan.Cameron@huawei.com>
Sun, 1 Mar 2026 11:20:10 +0000 (11:20 +0000)
Move devm_mutex_init() before ade9000_request_irq() calls so that
st->lock is initialized before any handler that depends on it can run.

Fixes: 81de7b4619fc ("iio: adc: add ade9000 support")
Signed-off-by: Antoniu Miclaus <antoniu.miclaus@analog.com>
Reviewed-by: Andy Shevchenko <andriy.shevchenko@intel.com>
Cc: <Stable@vger.kernel.org>
Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
drivers/iio/adc/ade9000.c

index db085dc5e526618ebe2c70797225f33295f0695b..c62c6480dd0a908100042f862295fc656b1581a1 100644 (file)
@@ -1706,19 +1706,19 @@ static int ade9000_probe(struct spi_device *spi)
 
        init_completion(&st->reset_completion);
 
-       ret = ade9000_request_irq(dev, "irq0", ade9000_irq0_thread, indio_dev);
+       ret = devm_mutex_init(dev, &st->lock);
        if (ret)
                return ret;
 
-       ret = ade9000_request_irq(dev, "irq1", ade9000_irq1_thread, indio_dev);
+       ret = ade9000_request_irq(dev, "irq0", ade9000_irq0_thread, indio_dev);
        if (ret)
                return ret;
 
-       ret = ade9000_request_irq(dev, "dready", ade9000_dready_thread, indio_dev);
+       ret = ade9000_request_irq(dev, "irq1", ade9000_irq1_thread, indio_dev);
        if (ret)
                return ret;
 
-       ret = devm_mutex_init(dev, &st->lock);
+       ret = ade9000_request_irq(dev, "dready", ade9000_dready_thread, indio_dev);
        if (ret)
                return ret;