diff options
-rw-r--r-- | drivers/media/v4l2-core/videobuf2-core.c | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/drivers/media/v4l2-core/videobuf2-core.c b/drivers/media/v4l2-core/videobuf2-core.c index f8fe1d9c7b4f..d853cd47c86a 100644 --- a/drivers/media/v4l2-core/videobuf2-core.c +++ b/drivers/media/v4l2-core/videobuf2-core.c | |||
@@ -2125,14 +2125,14 @@ static int vb2_internal_streamoff(struct vb2_queue *q, enum v4l2_buf_type type) | |||
2125 | return -EINVAL; | 2125 | return -EINVAL; |
2126 | } | 2126 | } |
2127 | 2127 | ||
2128 | if (!q->streaming) { | ||
2129 | dprintk(3, "streamoff successful: not streaming\n"); | ||
2130 | return 0; | ||
2131 | } | ||
2132 | |||
2133 | /* | 2128 | /* |
2134 | * Cancel will pause streaming and remove all buffers from the driver | 2129 | * Cancel will pause streaming and remove all buffers from the driver |
2135 | * and videobuf, effectively returning control over them to userspace. | 2130 | * and videobuf, effectively returning control over them to userspace. |
2131 | * | ||
2132 | * Note that we do this even if q->streaming == 0: if you prepare or | ||
2133 | * queue buffers, and then call streamoff without ever having called | ||
2134 | * streamon, you would still expect those buffers to be returned to | ||
2135 | * their normal dequeued state. | ||
2136 | */ | 2136 | */ |
2137 | __vb2_queue_cancel(q); | 2137 | __vb2_queue_cancel(q); |
2138 | 2138 | ||