diff options
author | Hans Verkuil <hans.verkuil@cisco.com> | 2013-12-13 17:13:43 +0100 |
---|---|---|
committer | Mauro Carvalho Chehab <m.chehab@samsung.com> | 2014-01-07 10:13:18 +0100 |
commit | c108e660f9196a4cebea79fbd650ed6850934fcc (patch) | |
tree | 91fcda44ecc636262e06282bc0cfac1d8ac565c1 /drivers/media/v4l2-core | |
parent | [media] vb2: retry start_streaming in case of insufficient buffers (diff) | |
download | linux-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.c | 10 |
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; - } } /* |