diff options
author | Umang Jain <umang.jain@ideasonboard.com> | 2022-03-18 12:18:26 +0000 |
---|---|---|
committer | Mauro Carvalho Chehab <mchehab@kernel.org> | 2022-04-24 08:13:57 +0100 |
commit | dbdc7237ec71316e99c1905264cc00b88e277e57 (patch) | |
tree | 749c93a7ec6853fdc2fa890038eaf80253e44b23 /drivers/staging/media/ipu3/ipu3.c | |
parent | 1ad037645a81a0b446f9ea5a53e2d3abad33dc56 (diff) | |
download | linux-stable-dbdc7237ec71316e99c1905264cc00b88e277e57.tar.gz linux-stable-dbdc7237ec71316e99c1905264cc00b88e277e57.tar.bz2 linux-stable-dbdc7237ec71316e99c1905264cc00b88e277e57.zip |
media: staging/intel-ipu3: Cleanup dummy buffers via helper
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>
Diffstat (limited to 'drivers/staging/media/ipu3/ipu3.c')
-rw-r--r-- | drivers/staging/media/ipu3/ipu3.c | 25 |
1 files changed, 11 insertions, 14 deletions
diff --git a/drivers/staging/media/ipu3/ipu3.c b/drivers/staging/media/ipu3/ipu3.c index 8e1e9e46e604..0c453b37f8c4 100644 --- a/drivers/staging/media/ipu3/ipu3.c +++ b/drivers/staging/media/ipu3/ipu3.c @@ -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) |