diff mbox series

media: videobuf2: num_buffers should record the number of all buffers

Message ID 20210329005917.2201436-1-dianlong_lee@163.com
State New
Headers show
Series media: videobuf2: num_buffers should record the number of all buffers | expand

Commit Message

Dianlong Li March 29, 2021, 12:59 a.m. UTC
The variable q->num_buffers records the number of buffers previously
applied for, and the variable allocated_buffers records the number of
buffers applied for this time, so the total number should be the sum
of these two buffers.

Signed-off-by: Dianlong Li <dianlong_lee@163.com>
---
 drivers/media/common/videobuf2/videobuf2-core.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

Comments

Hans Verkuil April 6, 2021, 8:42 a.m. UTC | #1
On 29/03/2021 02:59, Dianlong Li wrote:
> The variable q->num_buffers records the number of buffers previously

> applied for, and the variable allocated_buffers records the number of

> buffers applied for this time, so the total number should be the sum

> of these two buffers.

> 

> Signed-off-by: Dianlong Li <dianlong_lee@163.com>

> ---

>  drivers/media/common/videobuf2/videobuf2-core.c | 2 +-

>  1 file changed, 1 insertion(+), 1 deletion(-)

> 

> diff --git a/drivers/media/common/videobuf2/videobuf2-core.c b/drivers/media/common/videobuf2/videobuf2-core.c

> index 4eab6d81cce1..2716c4138655 100644

> --- a/drivers/media/common/videobuf2/videobuf2-core.c

> +++ b/drivers/media/common/videobuf2/videobuf2-core.c

> @@ -836,7 +836,7 @@ int vb2_core_reqbufs(struct vb2_queue *q, enum vb2_memory memory,

>  	}

>  

>  	mutex_lock(&q->mmap_lock);

> -	q->num_buffers = allocated_buffers;

> +	q->num_buffers += allocated_buffers;

>  

>  	if (ret < 0) {

>  		/*

> 


Nacked-by: Hans Verkuil <hverkuil-cisco@xs4all.nl>


The VIDIOC_REQBUFS ioctl releases all existing buffers (if any) and allocates new buffers.
So the existing code is correct.

Regards,

	Hans
diff mbox series

Patch

diff --git a/drivers/media/common/videobuf2/videobuf2-core.c b/drivers/media/common/videobuf2/videobuf2-core.c
index 4eab6d81cce1..2716c4138655 100644
--- a/drivers/media/common/videobuf2/videobuf2-core.c
+++ b/drivers/media/common/videobuf2/videobuf2-core.c
@@ -836,7 +836,7 @@  int vb2_core_reqbufs(struct vb2_queue *q, enum vb2_memory memory,
 	}
 
 	mutex_lock(&q->mmap_lock);
-	q->num_buffers = allocated_buffers;
+	q->num_buffers += allocated_buffers;
 
 	if (ret < 0) {
 		/*