Linux IIO development
 help / color / mirror / Atom feed
* [PATCH 0/4] iio: fix PM-enable leak on probe error path across 4 drivers
@ 2026-05-29 10:44 Stepan Ionichev
  2026-05-29 10:44 ` [PATCH 1/4] iio: light: isl29028: use devm_pm_runtime_enable() to fix probe error path Stepan Ionichev
                   ` (4 more replies)
  0 siblings, 5 replies; 6+ messages in thread
From: Stepan Ionichev @ 2026-05-29 10:44 UTC (permalink / raw)
  To: jic23; +Cc: dlechner, nuno.sa, andy, linux-iio, linux-kernel

This series fixes a class of runtime PM enable_count leaks on probe error
paths across drivers/iio/.

Each affected driver calls pm_runtime_enable() in probe and then a non-devm
registration function (typically iio_device_register()).  When the
registration fails the probe returns directly without calling
pm_runtime_disable(); on subsequent probe/rebind the runtime PM tracking
complains about an unbalanced enable.

The fix is the same in each driver: replace pm_runtime_enable() with
devm_pm_runtime_enable() and drop the now-redundant pm_runtime_disable()
and pm_runtime_set_suspended() calls in the .remove() callback.  The devm
action runs after .remove() and handles the teardown.

drivers/iio/adc/ti-ads1015.c was posted as a standalone patch earlier:
https://lore.kernel.org/all/20260529101011.3030-1-sozdayvek@gmail.com/

A separate follow-up will cover four more drivers (apds9960, mma8452,
pa12203001, us5182d) where the same leak exists but the probe error
path needs a goto to the existing manual cleanup label rather than a
plain return.

Stepan Ionichev (4):
  iio: light: isl29028: use devm_pm_runtime_enable() to fix probe error
    path
  iio: light: tsl2583: use devm_pm_runtime_enable() to fix probe error
    path
  iio: temperature: mlx90614: use devm_pm_runtime_enable() to fix probe
    error path
  iio: accel: bmi088-accel: use devm_pm_runtime_enable() to fix probe
    error path

 drivers/iio/accel/bmi088-accel-core.c | 6 +++---
 drivers/iio/light/isl29028.c          | 7 +++----
 drivers/iio/light/tsl2583.c           | 6 +++---
 drivers/iio/temperature/mlx90614.c    | 6 +++---
 4 files changed, 12 insertions(+), 13 deletions(-)


base-commit: 7cb1c5b32a2bfde961fff8d5204526b609bcb30a
-- 
2.43.0


^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2026-05-29 11:11 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-05-29 10:44 [PATCH 0/4] iio: fix PM-enable leak on probe error path across 4 drivers Stepan Ionichev
2026-05-29 10:44 ` [PATCH 1/4] iio: light: isl29028: use devm_pm_runtime_enable() to fix probe error path Stepan Ionichev
2026-05-29 10:44 ` [PATCH 2/4] iio: light: tsl2583: " Stepan Ionichev
2026-05-29 10:44 ` [PATCH 3/4] iio: temperature: mlx90614: " Stepan Ionichev
2026-05-29 10:44 ` [PATCH 4/4] iio: accel: bmi088-accel: " Stepan Ionichev
2026-05-29 11:11 ` [PATCH 0/4] iio: fix PM-enable leak on probe error path across 4 drivers Joshua Crofts

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox