Re: [PATCH v2] media: atmel: atmel-isc: Fix PM disable depth imbalance in atmel_isc_probe

From: Hans Verkuil
Date: Mon Mar 07 2022 - 02:39:04 EST




On 3/1/22 08:18, Miaoqian Lin wrote:
> The pm_runtime_enable will increase power disable depth.
> If the probe fails, we should use pm_runtime_disable() to balance
> pm_runtime_enable().
>
> Fixes: 0a0e265 ("media: atmel: atmel-isc: split driver into driver base and isc")
> Signed-off-by: Miaoqian Lin <linmq006@xxxxxxxxx>
> ---
> changes in v2:
> - remove unused label.
> ---
> drivers/media/platform/atmel/atmel-sama5d2-isc.c | 2 ++
> 1 file changed, 2 insertions(+)
>
> diff --git a/drivers/media/platform/atmel/atmel-sama5d2-isc.c b/drivers/media/platform/atmel/atmel-sama5d2-isc.c
> index 1b2063cce0f7..7f1ebbb25437 100644
> --- a/drivers/media/platform/atmel/atmel-sama5d2-isc.c
> +++ b/drivers/media/platform/atmel/atmel-sama5d2-isc.c
> @@ -559,6 +559,8 @@ static int atmel_isc_probe(struct platform_device *pdev)
> cleanup_subdev:
> isc_subdev_cleanup(isc);
>
> + pm_runtime_disable(dev);

Same issue as with the st-delta patch: there is one 'goto cleanup_subdev'
that is called before the pm_runtime_enable, so this patch just introduces
another imbalance. You need an additional goto label here and rework it a
little bit to get this right.

Regards,

Hans

> +
> unregister_v4l2_device:
> v4l2_device_unregister(&isc->v4l2_dev);
>