On 7/24/24 6:16 PM, Dan Carpenter wrote:
On Wed, Jul 24, 2024 at 02:19:38AM +0200, Marek Vasut wrote:
diff --git a/drivers/staging/media/imx/imx-media-dev.c 
b/drivers/staging/media/imx/imx-media-dev.c
index be54dca11465d..a841fdb4c2394 100644
--- a/drivers/staging/media/imx/imx-media-dev.c
+++ b/drivers/staging/media/imx/imx-media-dev.c
@@ -57,7 +57,52 @@ static int imx6_media_probe_complete(struct 
v4l2_async_notifier *notifier)
                goto unlock;
        }
+ imxmd->m2m_vdic[0] = imx_media_mem2mem_vdic_init(imxmd, 0);
+       if (IS_ERR(imxmd->m2m_vdic[0])) {
+               ret = PTR_ERR(imxmd->m2m_vdic[0]);
+               imxmd->m2m_vdic[0] = NULL;
+               goto unlock;
+       }
+
+       /* MX6S/DL has one IPUv3, init second VDI only on MX6Q/QP */
+       if (imxmd->ipu[1]) {
+               imxmd->m2m_vdic[1] = imx_media_mem2mem_vdic_init(imxmd, 1);
+               if (IS_ERR(imxmd->m2m_vdic[1])) {
+                       ret = PTR_ERR(imxmd->m2m_vdic[1]);
+                       imxmd->m2m_vdic[1] = NULL;
+                       goto uninit_vdi0;
+               }
+       }
+
        ret = imx_media_csc_scaler_device_register(imxmd->m2m_vdev);
+       if (ret)
+               goto uninit_vdi1;
+
+       ret = imx_media_mem2mem_vdic_register(imxmd->m2m_vdic[0]);
+       if (ret)
+               goto unreg_csc;
+
+       /* MX6S/DL has one IPUv3, init second VDI only on MX6Q/QP */
+       if (imxmd->ipu[1]) {
+               ret = imx_media_mem2mem_vdic_register(imxmd->m2m_vdic[1]);
+               if (ret)
+                       goto unreg_vdic;
+       }
+
+       mutex_unlock(&imxmd->mutex);
+       return ret;

Since it looks like you're going to do another version of this, could
you change this to return 0;

Fixed up both for V3, thanks .

Reply via email to