All of lore.kernel.org
 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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.