mirror of
https://github.com/torvalds/linux.git
synced 2026-05-12 16:18:45 +02:00
iio: gyro: mpu3050: Fix out-of-sequence free_irq()
The triggered buffer is initialized before the IRQ is requested. The
removal path currently calls iio_triggered_buffer_cleanup() before
free_irq(). This violates the expected LIFO.
Place free_irq() in the correct location relative to
iio_triggered_buffer_cleanup().
Fixes: 3904b28efb ("iio: gyro: Add driver for the MPU-3050 gyroscope")
Suggested-by: Jonathan Cameron <jic23@kernel.org>
Reviewed-by: Linus Walleij <linusw@kernel.org>
Signed-off-by: Ethan Tidmore <ethantidmore06@gmail.com>
Reviewed-by: Andy Shevchenko <andriy.shevchenko@intel.com>
Cc: <Stable@vger.kernel.org>
Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
This commit is contained in:
parent
4c05799449
commit
d14116f652
|
|
@ -1278,9 +1278,9 @@ void mpu3050_common_remove(struct device *dev)
|
|||
pm_runtime_get_sync(dev);
|
||||
pm_runtime_put_noidle(dev);
|
||||
pm_runtime_disable(dev);
|
||||
iio_triggered_buffer_cleanup(indio_dev);
|
||||
if (mpu3050->irq)
|
||||
free_irq(mpu3050->irq, mpu3050->trig);
|
||||
iio_triggered_buffer_cleanup(indio_dev);
|
||||
mpu3050_power_down(mpu3050);
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user