Commit b1c090d0 authored by Lad, Prabhakar's avatar Lad, Prabhakar Committed by Mauro Carvalho Chehab
Browse files

[media] media: davinci: vpbe: release buffers in case start_streaming call back fails



this patch adds support to release the buffer by calling
vb2_buffer_done(), with state marked as VB2_BUF_STATE_QUEUED
if start_streaming() call back fails.

Signed-off-by: default avatarLad, Prabhakar <prabhakar.csengg@gmail.com>
Signed-off-by: default avatarHans Verkuil <hans.verkuil@cisco.com>
Signed-off-by: default avatarMauro Carvalho Chehab <m.chehab@samsung.com>
parent e21c94e7
Loading
Loading
Loading
Loading
+10 −1
Original line number Diff line number Diff line
@@ -355,8 +355,17 @@ static int vpbe_start_streaming(struct vb2_queue *vq, unsigned int count)

	/* Set parameters in OSD and VENC */
	ret = vpbe_set_osd_display_params(fh->disp_dev, layer);
	if (ret < 0)
	if (ret < 0) {
		struct vpbe_disp_buffer *buf, *tmp;

		vb2_buffer_done(&layer->cur_frm->vb, VB2_BUF_STATE_QUEUED);
		list_for_each_entry_safe(buf, tmp, &layer->dma_queue, list) {
			list_del(&buf->list);
			vb2_buffer_done(&buf->vb, VB2_BUF_STATE_QUEUED);
		}

		return ret;
	}

	/*
	 * if request format is yuv420 semiplanar, need to