Hi Umang, Thank you for the patch. On Fri, Mar 18, 2022 at 05:48:26PM +0530, Umang Jain via libcamera-devel wrote: > 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@xxxxxxxxxxxxxxxx> Reviewed-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> > --- > drivers/staging/media/ipu3/ipu3.c | 25 +++++++++++-------------- > 1 file 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 @@ int imgu_s_stream(struct imgu_device *imgu, int enable) > 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) -- Regards, Laurent Pinchart