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]

Reply via email to