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

This is the goto-variant follow-up to the standalone ti-ads1015 patch and
the 4-patch series for the simple drivers.  In these four drivers probe
calls pm_runtime_enable() but the existing register-failure path jumps to
a manual cleanup label (out_err / buffer_cleanup / error_power_down)
rather than returning directly.  None of those cleanup labels call
pm_runtime_disable(), so the runtime PM enable_count leaks on probe
failure and on subsequent rebind.

The conversion is the same as in the rest of the class: replace
pm_runtime_enable() with devm_pm_runtime_enable() and drop the
pm_runtime_disable() / pm_runtime_set_suspended() calls in .remove().
On the new error path from devm_pm_runtime_enable() each patch jumps to
the same existing cleanup label that iio_device_register() uses, so the
manual unwind for the non-devm resources held earlier in probe still
runs.  In apds9960 nothing is powered or registered at that point so a
plain return is used.

Standalone precedent already on the list:
  iio: adc: ti-ads1015 -
  https://lore.kernel.org/all/20260529101011.3030-1-sozdayvek@gmail.com/

Companion 4-patch series for the simple-return drivers (isl29028,
tsl2583, mlx90614, bmi088-accel) was posted alongside this one.

Stepan Ionichev (4):
  iio: light: pa12203001: use devm_pm_runtime_enable() to fix probe
    error path
  iio: light: us5182d: use devm_pm_runtime_enable() to fix probe error
    path
  iio: light: apds9960: use devm_pm_runtime_enable() to fix probe error
    path
  iio: accel: mma8452: use devm_pm_runtime_enable() to fix probe error
    path

 drivers/iio/accel/mma8452.c    | 7 +++----
 drivers/iio/light/apds9960.c   | 6 +++---
 drivers/iio/light/pa12203001.c | 7 +++----
 drivers/iio/light/us5182d.c    | 7 +++----
 4 files changed, 12 insertions(+), 15 deletions(-)


base-commit: 7cb1c5b32a2bfde961fff8d5204526b609bcb30a
-- 
2.43.0


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

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

Thread overview: 10+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-05-29 10:45 [PATCH 0/4] iio: PM-enable leak on probe error path (goto-variant drivers) Stepan Ionichev
2026-05-29 10:45 ` [PATCH 1/4] iio: light: pa12203001: use devm_pm_runtime_enable() to fix probe error path Stepan Ionichev
2026-05-29 17:19   ` Jonathan Cameron
2026-05-29 10:45 ` [PATCH 2/4] iio: light: us5182d: " Stepan Ionichev
2026-05-29 17:20   ` Jonathan Cameron
2026-05-29 10:45 ` [PATCH 3/4] iio: light: apds9960: " Stepan Ionichev
2026-05-29 17:22   ` Jonathan Cameron
2026-05-29 10:45 ` [PATCH 4/4] iio: accel: mma8452: " Stepan Ionichev
2026-05-29 17:23   ` Jonathan Cameron
2026-05-29 13:08 ` [PATCH 0/4] iio: PM-enable leak on probe error path (goto-variant drivers) Jonathan Cameron

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