[PATCH 1/2] media: rockchip: rga: fix field in OUTPUT buffers

Hans Verkuil hverkuil at xs4all.nl
Thu May 30 05:47:48 PDT 2024


On 28/05/2024 16:05, Michael Tretter wrote:
> Returned buffers shouldn't contain V4L2_FIELD_ANY as field. Set the
> field to V4L2_FIELD_NONE, if it isn't set.
> 
> Signed-off-by: Michael Tretter <m.tretter at pengutronix.de>
> ---
>  drivers/media/platform/rockchip/rga/rga-buf.c | 10 ++++++++++
>  1 file changed, 10 insertions(+)
> 
> diff --git a/drivers/media/platform/rockchip/rga/rga-buf.c b/drivers/media/platform/rockchip/rga/rga-buf.c
> index 662c81b6d0b5..77c7535893e3 100644
> --- a/drivers/media/platform/rockchip/rga/rga-buf.c
> +++ b/drivers/media/platform/rockchip/rga/rga-buf.c
> @@ -119,6 +119,16 @@ static int rga_buf_prepare(struct vb2_buffer *vb)
>  	if (IS_ERR(f))
>  		return PTR_ERR(f);
>  
> +	if (V4L2_TYPE_IS_OUTPUT(vb->vb2_queue->type)) {
> +		if (vbuf->field == V4L2_FIELD_ANY)
> +			vbuf->field = V4L2_FIELD_NONE;
> +		if (vbuf->field != V4L2_FIELD_NONE) {
> +			v4l2_err(&ctx->rga->v4l2_dev, "Unsupported field %s\n",
> +				 v4l2_field_names[vbuf->field]);

This should be v4l2_dbg: incorrect userspace data should not result in
spamming of the kernel log. It's fine to report it if debugging is enabled.

Regards,

	Hans

> +			return -EINVAL;
> +		}
> +	}
> +
>  	for (i = 0; i < vb->num_planes; i++) {
>  		vb2_set_plane_payload(vb, i, f->pix.plane_fmt[i].sizeimage);
>  
> 




More information about the Linux-rockchip mailing list