summaryrefslogtreecommitdiffstats
path: root/drivers/media/v4l2-core
diff options
context:
space:
mode:
authorHans Verkuil <hans.verkuil@cisco.com>2013-12-13 17:13:43 +0100
committerMauro Carvalho Chehab <m.chehab@samsung.com>2014-01-07 10:13:18 +0100
commitc108e660f9196a4cebea79fbd650ed6850934fcc (patch)
tree91fcda44ecc636262e06282bc0cfac1d8ac565c1 /drivers/media/v4l2-core
parent[media] vb2: retry start_streaming in case of insufficient buffers (diff)
downloadlinux-c108e660f9196a4cebea79fbd650ed6850934fcc.tar.xz
linux-c108e660f9196a4cebea79fbd650ed6850934fcc.zip
[media] vb2: don't set index, don't start streaming for write()
Two fixes: - there is no need to set the index when calling dqbuf: dqbuf will overwrite it. - __vb2_init_fileio already starts streaming for write(), so there is no need to do it again in __vb2_perform_fileio. It can never have worked anyway: either __vb2_init_fileio succeeds in starting streaming or it is never going to happen. Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com> Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
Diffstat (limited to 'drivers/media/v4l2-core')
-rw-r--r--drivers/media/v4l2-core/videobuf2-core.c10
1 files changed, 0 insertions, 10 deletions
diff --git a/drivers/media/v4l2-core/videobuf2-core.c b/drivers/media/v4l2-core/videobuf2-core.c
index 0d5b84f3b570..2552c4626826 100644
--- a/drivers/media/v4l2-core/videobuf2-core.c
+++ b/drivers/media/v4l2-core/videobuf2-core.c
@@ -2445,7 +2445,6 @@ static size_t __vb2_perform_fileio(struct vb2_queue *q, char __user *data, size_
memset(&fileio->b, 0, sizeof(fileio->b));
fileio->b.type = q->type;
fileio->b.memory = q->memory;
- fileio->b.index = index;
ret = vb2_internal_dqbuf(q, &fileio->b, nonblock);
dprintk(5, "file io: vb2_dqbuf result: %d\n", ret);
if (ret)
@@ -2527,15 +2526,6 @@ static size_t __vb2_perform_fileio(struct vb2_queue *q, char __user *data, size_
* Switch to the next buffer
*/
fileio->index = (index + 1) % q->num_buffers;
-
- /*
- * Start streaming if required.
- */
- if (!read && !q->streaming) {
- ret = vb2_internal_streamon(q, q->type);
- if (ret)
- return ret;
- }
}
/*