diff --git a/patch/kernel/archive/rockchip64-6.16/media-0002-media-rkvdec-remove-vb2_is_busy-check-in-rkvdec_s_ct.patch b/patch/kernel/archive/rockchip64-6.16/media-0002-media-rkvdec-remove-vb2_is_busy-check-in-rkvdec_s_ct.patch new file mode 100644 index 000000000..aea4499f3 --- /dev/null +++ b/patch/kernel/archive/rockchip64-6.16/media-0002-media-rkvdec-remove-vb2_is_busy-check-in-rkvdec_s_ct.patch @@ -0,0 +1,39 @@ +From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 +From: Jianfeng Liu +Date: Thu, 4 Sep 2025 15:35:22 +0800 +Subject: media: rkvdec: remove vb2_is_busy check in rkvdec_s_ctrl + +This check will case green screen when playing videos with +chromium. rkvdec driver seems to be the only decoder driver +that have this check. Further investigation is needed. +--- + drivers/media/platform/rockchip/rkvdec/rkvdec.c | 6 ------ + 1 file changed, 6 deletions(-) + +diff --git a/drivers/media/platform/rockchip/rkvdec/rkvdec.c b/drivers/media/platform/rockchip/rkvdec/rkvdec.c +index 111111111111..222222222222 100644 +--- a/drivers/media/platform/rockchip/rkvdec/rkvdec.c ++++ b/drivers/media/platform/rockchip/rkvdec/rkvdec.c +@@ -186,7 +186,6 @@ static int rkvdec_s_ctrl(struct v4l2_ctrl *ctrl) + struct rkvdec_ctx *ctx = container_of(ctrl->handler, struct rkvdec_ctx, ctrl_hdl); + const struct rkvdec_coded_fmt_desc *desc = ctx->coded_fmt_desc; + enum rkvdec_image_fmt image_fmt; +- struct vb2_queue *vq; + + /* Check if this change requires a capture format reset */ + if (!desc->ops->get_image_fmt) +@@ -194,11 +193,6 @@ static int rkvdec_s_ctrl(struct v4l2_ctrl *ctrl) + + image_fmt = desc->ops->get_image_fmt(ctx, ctrl); + if (rkvdec_image_fmt_changed(ctx, image_fmt)) { +- vq = v4l2_m2m_get_vq(ctx->fh.m2m_ctx, +- V4L2_BUF_TYPE_VIDEO_CAPTURE_MPLANE); +- if (vb2_is_busy(vq)) +- return -EBUSY; +- + ctx->image_fmt = image_fmt; + rkvdec_reset_decoded_fmt(ctx); + } +-- +Armbian +