From 78db71a2adf381ecbc0881b40c01fe30e6c61fbb Mon Sep 17 00:00:00 2001 From: Laurent Pinchart Date: Thu, 19 Mar 2026 01:58:59 +0200 Subject: [PATCH] media: renesas: vsp1: rpf: Fix crop width and height clamping MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The vsp1 driver doesn't enforce a minimum value on the RPF crop rectangle width and height. Empty rectangles are accepted, leading to incorrect hardware behaviour. Fix it by adding minimum width and height constraints to the value clamping. Tested-by: Niklas Söderlund Reviewed-by: Jacopo Mondi Tested-by: Lad Prabhakar # HiHope RZ/G2M Link: https://patch.msgid.link/20260318235907.831556-6-laurent.pinchart+renesas@ideasonboard.com Signed-off-by: Laurent Pinchart Signed-off-by: Hans Verkuil --- drivers/media/platform/renesas/vsp1/vsp1_rwpf.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/drivers/media/platform/renesas/vsp1/vsp1_rwpf.c b/drivers/media/platform/renesas/vsp1/vsp1_rwpf.c index ffc1b3ab54e2..ccc7608f538d 100644 --- a/drivers/media/platform/renesas/vsp1/vsp1_rwpf.c +++ b/drivers/media/platform/renesas/vsp1/vsp1_rwpf.c @@ -261,9 +261,9 @@ static int vsp1_rwpf_set_selection(struct v4l2_subdev *subdev, sel->r.left = clamp_t(int, sel->r.left, 0, format->width - min_width); sel->r.top = clamp_t(int, sel->r.top, 0, format->height - min_height); - sel->r.width = min_t(unsigned int, sel->r.width, + sel->r.width = clamp(sel->r.width, min_width, format->width - sel->r.left); - sel->r.height = min_t(unsigned int, sel->r.height, + sel->r.height = clamp(sel->r.height, min_height, format->height - sel->r.top); crop = v4l2_subdev_state_get_crop(state, RWPF_PAD_SINK);