On Thu May 7 12:13:17 2026 +0800, Xiaolei Wang wrote:
> After v4l2_subdev_init_finalize() succeeds in mxc_isi_pipe_init(), if
> platform_get_irq() or devm_request_irq() fails, the error path jumps to
> a label that only calls media_entity_cleanup() and mutex_destroy(),
> missing the v4l2_subdev_cleanup() call needed to free the subdev active
> state allocated by v4l2_subdev_init_finalize().
> 
> Add an error_subdev label that calls v4l2_subdev_cleanup() before
> falling through to the existing error cleanup.
> 
> Fixes: cf21f328fcaf ("media: nxp: Add i.MX8 ISI driver")
> Cc: [email protected]
> Signed-off-by: Xiaolei Wang <[email protected]>
> Reviewed-by: Laurent Pinchart <[email protected]>
> Link: 
> https://patch.msgid.link/[email protected]
> Signed-off-by: Laurent Pinchart <[email protected]>
> Signed-off-by: Hans Verkuil <[email protected]>

Patch committed.

Thanks,
Hans Verkuil

 drivers/media/platform/nxp/imx8-isi/imx8-isi-pipe.c | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

---

diff --git a/drivers/media/platform/nxp/imx8-isi/imx8-isi-pipe.c 
b/drivers/media/platform/nxp/imx8-isi/imx8-isi-pipe.c
index cb50af2270f6..a59b9456b590 100644
--- a/drivers/media/platform/nxp/imx8-isi/imx8-isi-pipe.c
+++ b/drivers/media/platform/nxp/imx8-isi/imx8-isi-pipe.c
@@ -796,18 +796,20 @@ int mxc_isi_pipe_init(struct mxc_isi_dev *isi, unsigned 
int id)
        irq = platform_get_irq(to_platform_device(isi->dev), id);
        if (irq < 0) {
                ret = irq;
-               goto error;
+               goto error_subdev;
        }
 
        ret = devm_request_irq(isi->dev, irq, mxc_isi_pipe_irq_handler,
                               0, dev_name(isi->dev), pipe);
        if (ret < 0) {
                dev_err(isi->dev, "failed to request IRQ (%d)\n", ret);
-               goto error;
+               goto error_subdev;
        }
 
        return 0;
 
+error_subdev:
+       v4l2_subdev_cleanup(sd);
 error:
        media_entity_cleanup(&sd->entity);
        mutex_destroy(&pipe->lock);
_______________________________________________
linuxtv-commits mailing list -- [email protected]
To unsubscribe send an email to [email protected]

Reply via email to