Re: [PATCH] iio: gyro: mpu3050: Fix runtime PM leak on trigger errors
From: Andy Shevchenko
Date: Mon Aug 17 2026 - 03:34:21 EST
On Fri, Aug 14, 2026 at 09:41:11PM +0800, Ruoyu Wang wrote:
> The first user of the MPU-3050 data-ready trigger takes a runtime PM
> reference before configuring the FIFO, sample engine and interrupt. If
> any of those operations fails, iio_trigger_attach_poll_func() tears down
> its IRQ resources without calling set_trigger_state(false). The buffer
> error path then releases only its preenable reference, leaving the
> trigger's reference held and preventing runtime suspend.
>
> Use pm_runtime_resume_and_get() so a resume failure does not leave a
> usage count behind. Route later setup failures through a common unwind
> that clears hw_irq_trigger and drops the trigger's reference. Successful
> enable and disable behavior is unchanged.
>
> This issue was found by a static analysis checker and confirmed by
> manual source review.
Why not using the respective PM_RUNTIME_ACQUIRE*() macros?
--
With Best Regards,
Andy Shevchenko