On Sun Apr 26 21:43:49 2026 +0900, Myeonghun Pak wrote:
> dcmi_graph_init() registers the async notifier before dcmi_probe() toggles
> the reset line. If reset_control_assert() or reset_control_deassert()
> fails afterwards, probe returns through err_cleanup and the driver core
> will not call dcmi_remove().
>
> Unregister the notifier before cleaning it up on that error path,
> matching the successful remove path and the V4L2 async notifier lifetime
> rules.
>
> Signed-off-by: Myeonghun Pak <[email protected]>
> Signed-off-by: Hans Verkuil <[email protected]>
> Fixes: d079f94c9046 ("media: platform: Switch to
> v4l2_async_notifier_add_subdev")
> Cc: [email protected]
> [hverkuil: added Fixes tag]
Patch committed.
Thanks,
Hans Verkuil
drivers/media/platform/st/stm32/stm32-dcmi.c | 1 +
1 file changed, 1 insertion(+)
---
diff --git a/drivers/media/platform/st/stm32/stm32-dcmi.c
b/drivers/media/platform/st/stm32/stm32-dcmi.c
index e5663fbe6422..eeb0199864dd 100644
--- a/drivers/media/platform/st/stm32/stm32-dcmi.c
+++ b/drivers/media/platform/st/stm32/stm32-dcmi.c
@@ -2195,6 +2195,7 @@ static int dcmi_probe(struct platform_device *pdev)
return 0;
err_cleanup:
+ v4l2_async_nf_unregister(&dcmi->notifier);
v4l2_async_nf_cleanup(&dcmi->notifier);
err_media_entity_cleanup:
media_entity_cleanup(&dcmi->vdev->entity);
_______________________________________________
linuxtv-commits mailing list -- [email protected]
To unsubscribe send an email to [email protected]