@@ -117,13 +117,6 @@ static int cx18_queue_setup(struct vb2_queue *vq,
else
szimage = cx->cxhdl.height * 720 * 2;
- /*
- * Let's request at least three buffers: two for the
- * DMA engine and one for userspace.
- */
- if (vq->num_buffers + *nbuffers < 3)
- *nbuffers = 3 - vq->num_buffers;
-
if (*nplanes) {
if (*nplanes != 1 || sizes[0] < szimage)
return -EINVAL;
@@ -286,7 +279,11 @@ static int cx18_stream_init(struct cx18 *cx, int type)
s->vidq.ops = &cx18_vb2_qops;
s->vidq.mem_ops = &vb2_vmalloc_memops;
s->vidq.timestamp_flags = V4L2_BUF_FLAG_TIMESTAMP_MONOTONIC;
- s->vidq.min_buffers_needed = 2;
+ /*
+ * Let's request at least three buffers: two for the
+ * DMA engine and one for userspace.
+ */
+ s->vidq.min_buffers_needed = 3;
s->vidq.gfp_flags = GFP_DMA32;
s->vidq.dev = &cx->pci_dev->dev;
s->vidq.lock = &cx->serialize_lock;
Set queue min_buffers_needed field to 3 and remove the useless check. Signed-off-by: Benjamin Gaignard <benjamin.gaignard@collabora.com> CC: Andy Walls <awalls@md.metrocast.net> --- drivers/media/pci/cx18/cx18-streams.c | 13 +++++-------- 1 file changed, 5 insertions(+), 8 deletions(-)