]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
media: nxp: imx8-isi: Clean up already-initialized pipes on probe failure
authorXiaolei Wang <xiaolei.wang@windriver.com>
Thu, 7 May 2026 04:13:18 +0000 (12:13 +0800)
committerHans Verkuil <hverkuil+cisco@kernel.org>
Thu, 21 May 2026 05:41:32 +0000 (07:41 +0200)
When mxc_isi_pipe_init() fails partway through the channel loop or
when mxc_isi_v4l2_init() fails, the already initialized pipes are
not cleaned up.

Fix this by calling mxc_isi_pipe_cleanup() for each already-initialized
pipe in the err_xbar error path.

Fixes: cf21f328fcaf ("media: nxp: Add i.MX8 ISI driver")
Cc: stable@vger.kernel.org
Signed-off-by: Xiaolei Wang <xiaolei.wang@windriver.com>
Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Reviewed-by: Frank Li <Frank.Li@nxp.com>
Link: https://patch.msgid.link/20260507041318.491594-5-xiaolei.wang@windriver.com
Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Signed-off-by: Hans Verkuil <hverkuil+cisco@kernel.org>
drivers/media/platform/nxp/imx8-isi/imx8-isi-core.c

index 2d639b7899105ca69ea6f57f7d0f1e37950e0080..e8545761b5ff96d21af3410dfaff0f3bf3035a45 100644 (file)
@@ -538,6 +538,8 @@ static int mxc_isi_probe(struct platform_device *pdev)
        return 0;
 
 err_xbar:
+       while (i--)
+               mxc_isi_pipe_cleanup(&isi->pipes[i]);
        mxc_isi_crossbar_cleanup(&isi->crossbar);
 
        return ret;