media: staging/intel-ipu3: Cleanup dummy buffers via helper
authorUmang Jain <umang.jain@ideasonboard.com>
Fri, 18 Mar 2022 12:18:26 +0000 (12:18 +0000)
committerMauro Carvalho Chehab <mchehab@kernel.org>
Sun, 24 Apr 2022 07:13:57 +0000 (08:13 +0100)
Use an existing helper imgu_video_nodes_exit() on imgu-video-node
initialization failure path to cleanup dummy buffers.

Signed-off-by: Umang Jain <umang.jain@ideasonboard.com>
Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Signed-off-by: Sakari Ailus <sakari.ailus@linux.intel.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@kernel.org>
drivers/staging/media/ipu3/ipu3.c

index 8e1e9e46e60452ab2e7e51bb33a67823ab292656..0c453b37f8c4ba5fdbac86915477fa32469edc6b 100644 (file)
@@ -440,6 +440,16 @@ fail_start_streaming:
        return r;
 }
 
+static void imgu_video_nodes_exit(struct imgu_device *imgu)
+{
+       int i;
+
+       for (i = 0; i < IMGU_MAX_PIPE_NUM; i++)
+               imgu_dummybufs_cleanup(imgu, i);
+
+       imgu_v4l2_unregister(imgu);
+}
+
 static int imgu_video_nodes_init(struct imgu_device *imgu)
 {
        struct v4l2_pix_format_mplane *fmts[IPU3_CSS_QUEUES] = { NULL };
@@ -489,24 +499,11 @@ static int imgu_video_nodes_init(struct imgu_device *imgu)
        return 0;
 
 out_cleanup:
-       for (j = 0; j < IMGU_MAX_PIPE_NUM; j++)
-               imgu_dummybufs_cleanup(imgu, j);
-
-       imgu_v4l2_unregister(imgu);
+       imgu_video_nodes_exit(imgu);
 
        return r;
 }
 
-static void imgu_video_nodes_exit(struct imgu_device *imgu)
-{
-       int i;
-
-       for (i = 0; i < IMGU_MAX_PIPE_NUM; i++)
-               imgu_dummybufs_cleanup(imgu, i);
-
-       imgu_v4l2_unregister(imgu);
-}
-
 /**************** PCI interface ****************/
 
 static irqreturn_t imgu_isr_threaded(int irq, void *imgu_ptr)