From: Ricardo Ribalda Date: Wed, 8 Jan 2014 08:01:33 +0000 (-0300) Subject: upstream: [media] vb2: Check if there are buffers before streamon X-Git-Tag: submit/tizen/20141121.110247~1496 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=02b986f5b1157bf06a5e7df033627f085be443bf;p=platform%2Fkernel%2Flinux-3.10.git upstream: [media] vb2: Check if there are buffers before streamon This patch adds a test preventing streamon() if there is no buffer ready. Without this patch, a user could call streamon() before preparing any buffer. This leads to a situation where if he calls close() before calling streamoff() the device is kept streaming. Signed-off-by: Ricardo Ribalda Delgado Reviewed-by: Marek Szyprowski Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab --- diff --git a/drivers/media/v4l2-core/videobuf2-core.c b/drivers/media/v4l2-core/videobuf2-core.c index 17c0b1c..06faea4 100644 --- a/drivers/media/v4l2-core/videobuf2-core.c +++ b/drivers/media/v4l2-core/videobuf2-core.c @@ -1779,6 +1779,11 @@ static int vb2_internal_streamon(struct vb2_queue *q, enum v4l2_buf_type type) return 0; } + if (!q->num_buffers) { + dprintk(1, "streamon: no buffers have been allocated\n"); + return -EINVAL; + } + /* * If any buffers were queued before streamon, * we can now pass them to driver for processing.