Hi André, Thanks for the update. On Fri, Dec 20, 2024 at 02:26:11PM +0100, André Apitzsch via B4 Relay wrote: > From: André Apitzsch <git@xxxxxxxxxxx> > > The driver should disable or unprepare the clock on probe error and on > removing the module. > > Remove regulator_bulk_disable(), because it is called by > imx214_power_off(). > > Acked-by: Ricardo Ribalda <ribalda@xxxxxxxxxxxx> > Signed-off-by: André Apitzsch <git@xxxxxxxxxxx> This and the next one appear to be bugfixes. I think it'd be reasonable to backport them. Any idea where this got broken, for the Fixes: tag? The bug fixed by the last patch was probably introduced with the driver? > --- > drivers/media/i2c/imx214.c | 4 +++- > 1 file changed, 3 insertions(+), 1 deletion(-) > > diff --git a/drivers/media/i2c/imx214.c b/drivers/media/i2c/imx214.c > index 96d05acfeb66480770bb6291027dd023fdccb649..e8d35f8b0f8b57d64f03ff6f5ed9eac51a671e8e 100644 > --- a/drivers/media/i2c/imx214.c > +++ b/drivers/media/i2c/imx214.c > @@ -1340,7 +1340,7 @@ static int imx214_probe(struct i2c_client *client) > v4l2_ctrl_handler_free(&imx214->ctrls); > error_power_off: > pm_runtime_disable(imx214->dev); > - regulator_bulk_disable(IMX214_NUM_SUPPLIES, imx214->supplies); > + imx214_power_off(dev); > > return ret; > } > @@ -1356,6 +1356,8 @@ static void imx214_remove(struct i2c_client *client) > v4l2_ctrl_handler_free(&imx214->ctrls); > > pm_runtime_disable(&client->dev); > + if (!pm_runtime_status_suspended(&client->dev)) > + imx214_power_off(&client->dev); > pm_runtime_set_suspended(&client->dev); > } > > -- Regards, Sakari Ailus