diff options
author | Hans Verkuil <hverkuil-cisco@xs4all.nl> | 2018-11-28 03:37:46 -0500 |
---|---|---|
committer | Mauro Carvalho Chehab <mchehab+samsung@kernel.org> | 2018-12-03 15:02:53 -0500 |
commit | dde6bdcc975983c219ffe9b8f3a2942df0b7937d (patch) | |
tree | b763a057f909d88336b4daa6f033efede5fd8afc /drivers/media/common/videobuf2 | |
parent | 6093d3002eabd7c2913d97f1d1f4ce34b072acf9 (diff) | |
download | blackbird-op-linux-dde6bdcc975983c219ffe9b8f3a2942df0b7937d.tar.gz blackbird-op-linux-dde6bdcc975983c219ffe9b8f3a2942df0b7937d.zip |
media: vb2: don't unbind/put the object when going to state QUEUED
When a buffer is returned to state QUEUED (that happens when
start_streaming fails), then do not unbind and put the object
from the request. Nothing has changed yet, so just keep it as
is.
Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl>
Acked-by: Sakari Ailus <sakari.ailus@linux.intel.com>
Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab+samsung@kernel.org>
Diffstat (limited to 'drivers/media/common/videobuf2')
-rw-r--r-- | drivers/media/common/videobuf2/videobuf2-core.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/media/common/videobuf2/videobuf2-core.c b/drivers/media/common/videobuf2/videobuf2-core.c index a6dfb0860558..8ff8722cb6b1 100644 --- a/drivers/media/common/videobuf2/videobuf2-core.c +++ b/drivers/media/common/videobuf2/videobuf2-core.c @@ -947,7 +947,7 @@ void vb2_buffer_done(struct vb2_buffer *vb, enum vb2_buffer_state state) } atomic_dec(&q->owned_by_drv_count); - if (vb->req_obj.req) { + if (state != VB2_BUF_STATE_QUEUED && vb->req_obj.req) { /* This is not supported at the moment */ WARN_ON(state == VB2_BUF_STATE_REQUEUEING); media_request_object_unbind(&vb->req_obj); |