* [PATCH] media: i2c: ov2735: fix power cleanup on remove
@ 2026-09-15 8:50 Guangshuo Li
2026-09-15 11:06 ` Krzysztof Kozlowski
0 siblings, 1 reply; 2+ messages in thread
From: Guangshuo Li @ 2026-09-15 8:50 UTC (permalink / raw)
To: Hardevsinh Palaniya, Himanshu Bhavani, Sakari Ailus,
Mauro Carvalho Chehab, Hans Verkuil, linux-media, linux-kernel
Cc: Guangshuo Li, stable
ov2735_probe() explicitly powers on the sensor before enabling runtime
PM. The probe failure paths call ov2735_power_off(), but the remove path
does not perform the corresponding power-off operation.
The managed runtime PM helpers only clean up the runtime PM state.
devm_pm_runtime_set_active_enabled() disables runtime PM and restores
the suspended state during device resource release, while
devm_pm_runtime_get_noresume() drops the runtime PM usage reference.
Neither helper invokes ov2735_power_off().
As a result, removing the driver after a successful probe can leave the
sensor clock and regulators enabled and the GPIOs in the powered state.
Call ov2735_power_off() from ov2735_remove() to match the successful
ov2735_power_on() performed during probe.
This issue was found by manual code inspection.
Fixes: fa9e6df636fb ("media: i2c: add ov2735 image sensor driver")
Cc: stable@vger.kernel.org
Signed-off-by: Guangshuo Li <lgs201920130244@gmail.com>
---
drivers/media/i2c/ov2735.c | 1 +
1 file changed, 1 insertion(+)
diff --git a/drivers/media/i2c/ov2735.c b/drivers/media/i2c/ov2735.c
index dcb1add1fd9f..2defcaa8b795 100644
--- a/drivers/media/i2c/ov2735.c
+++ b/drivers/media/i2c/ov2735.c
@@ -1081,6 +1081,7 @@ static void ov2735_remove(struct i2c_client *client)
v4l2_subdev_cleanup(&ov2735->sd);
media_entity_cleanup(&sd->entity);
v4l2_ctrl_handler_free(ov2735->sd.ctrl_handler);
+ ov2735_power_off(ov2735->dev);
}
static DEFINE_RUNTIME_DEV_PM_OPS(ov2735_pm_ops,
--
2.43.0
^ permalink raw reply [flat|nested] 2+ messages in thread* Re: [PATCH] media: i2c: ov2735: fix power cleanup on remove
2026-09-15 8:50 [PATCH] media: i2c: ov2735: fix power cleanup on remove Guangshuo Li
@ 2026-09-15 11:06 ` Krzysztof Kozlowski
0 siblings, 0 replies; 2+ messages in thread
From: Krzysztof Kozlowski @ 2026-09-15 11:06 UTC (permalink / raw)
To: Guangshuo Li, Hardevsinh Palaniya, Himanshu Bhavani,
Sakari Ailus, Mauro Carvalho Chehab, Hans Verkuil, linux-media,
linux-kernel
Cc: stable
On 15/09/2026 10:50, Guangshuo Li wrote:
> ov2735_probe() explicitly powers on the sensor before enabling runtime
> PM. The probe failure paths call ov2735_power_off(), but the remove path
> does not perform the corresponding power-off operation.
>
> The managed runtime PM helpers only clean up the runtime PM state.
> devm_pm_runtime_set_active_enabled() disables runtime PM and restores
> the suspended state during device resource release, while
> devm_pm_runtime_get_noresume() drops the runtime PM usage reference.
> Neither helper invokes ov2735_power_off().
AGAIN, you send patch by one, instead of grouping them in a patchset.
I already asked you to stop this and fix your workflow.
Please read submitting patches document.
Best regards,
Krzysztof
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2026-09-15 11:06 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2026-09-15 8:50 [PATCH] media: i2c: ov2735: fix power cleanup on remove Guangshuo Li
2026-09-15 11:06 ` Krzysztof Kozlowski
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
all inboxes | Powered by JetHome®