Re:Re: [PATCH] iio: gyro: bmg160: reject duplicate event disable

From: jiale yao

Date: Fri Sep 25 2026 - 10:40:00 EST


At 2026-09-25 22:18:05, "Andy Shevchenko" <andriy.shevchenko@xxxxxxxxx> wrote:
>On Fri, Sep 25, 2026 at 10:09:54PM +0800, Jiale Yao wrote:
>> The IIO core does not filter duplicate writes to the event enable
>> attribute.
>
>Can it be done there once for all?

I don't think the core can safely do this generically, since it doesn't own
the per-event state and read_event_config() may reflect shared hardware state.

The runtime PM accounting is driver-specific, so handling duplicate writes in
the driver seems safer. gp2ap002 does the same in commit 579c049b4cb6,
refer https://lore.kernel.org/all/20260720193911.74919-2-nikhilgtr@xxxxxxxxx/

>
>> bmg160_write_event_config() already ignores repeated enable
>> requests, but a repeated disable request still calls
>> bmg160_set_power_state(data, false), dropping a runtime PM reference
>> that was not acquired for this request. This can underflow the runtime
>> PM usage count and trigger a "Runtime PM usage count underflow" warning.
>>
>> Return early when the requested state already matches ev_enable_state.
>
>--
>With Best Regards,
>Andy Shevchenko
>