Received: by 2002:ab2:6f44:0:b0:1fd:c486:4f03 with SMTP id l4csp229263lqq; Thu, 13 Jun 2024 00:59:33 -0700 (PDT) X-Forwarded-Encrypted: i=3; AJvYcCUiimlboUeTSa8iFNuJXUKUI0n3ThFShPT0bzFLtiZsXsKa/tXTz6lzt+ZQSCyzlyEgXqzMyi+q9+osvlHu7SXMWD0CIDzgdAUF1urkXw== X-Google-Smtp-Source: AGHT+IFn2dusxpR4zKUPaTu6r9SZgS3BwwZu1a9evu+oBXvu6I3WWxFQw0Dmd48SUUwQAOFgJqk4 X-Received: by 2002:a17:906:eb47:b0:a6e:6555:4bcd with SMTP id a640c23a62f3a-a6f5244dbe0mr122922566b.35.1718265573376; Thu, 13 Jun 2024 00:59:33 -0700 (PDT) ARC-Seal: i=2; a=rsa-sha256; t=1718265573; cv=pass; d=google.com; s=arc-20160816; b=ZgUlTRwvwn3pXgm7SP08r1obOytjEip4/pX6MFwXFkDm3vx5UzxW5ZmKkerbuagyXW OC3uo/m4PY8IrioNQV/GSjkl2iv7PpJv3Y803DA8AC78x0uUZu3YElnN6/srvO7zTptp T8/b/tMpRyDJ/X8IKewX4OY1dq+AFNZNbZjIYmwBB8DMqwAAnsF+uOMKRzbp6ljUg7o5 kVPlDv0q+XmYg7c1nvJvUONdMs5eGyEW5zL97Cb2kgMKK4Xf2a+HH9jCJz1/Tkt20Aba otkkhUgGBQPohdi+nzMg+PYMq5ajzWtoJ+3r/XPHB8hb/R7u/K4qCxcoqohyoxnZnKGS TgQg== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=content-transfer-encoding:mime-version:list-unsubscribe :list-subscribe:list-id:precedence:references:in-reply-to:message-id :date:subject:cc:to:from:dkim-signature; bh=E7llR/RAqOOuOrro8s4iot5nsHsj1Nl6C3DN2LP19uk=; fh=iBFu4OfMrCc2ajIigDq/KCLfQX7kaMJQxWVUnQnR8wU=; b=Azb+4Bs0WYEGqYQeseqM83ygpdNQX6CcIJy5fSPlQ4FZ1M4uPimbOHkvy8Cxudw4sA m0fU4b0LTu/r4zASJGJVfAsPu+LCt16wLzGNqHNbqRe1NYcnis4VFrjOvV+oTBLT2x1J iKMVQUJmeyxHG6RAzndoFrR3xmL9UMUEduJu4+HmFopvlMFfbnv8swrEcNaO7gyyuhFd vB+eEtU6y/CPl8VDufBj2sjqhutWoSRVeC8KilHyllWE6MeHxRyh15OmX0fBaoleWs1n 6qd9vEJrwAshDivPLUwiN+1yj2i/0qQmOTgzi1LJK6mIcNT3o4Fq3KC1lZBHLQDvGwcu oP1g==; dara=google.com ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@mediatek.com header.s=dk header.b="JrGg/6qg"; arc=pass (i=1 spf=pass spfdomain=mediatek.com dkim=pass dkdomain=mediatek.com dmarc=pass fromdomain=mediatek.com); spf=pass (google.com: domain of linux-kernel+bounces-212764-linux.lists.archive=gmail.com@vger.kernel.org designates 2604:1380:4601:e00::3 as permitted sender) smtp.mailfrom="linux-kernel+bounces-212764-linux.lists.archive=gmail.com@vger.kernel.org"; dmarc=pass (p=QUARANTINE sp=QUARANTINE dis=NONE) header.from=mediatek.com Return-Path: Received: from am.mirrors.kernel.org (am.mirrors.kernel.org. [2604:1380:4601:e00::3]) by mx.google.com with ESMTPS id a640c23a62f3a-a6f56e812fesi43008566b.988.2024.06.13.00.59.33 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 13 Jun 2024 00:59:33 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel+bounces-212764-linux.lists.archive=gmail.com@vger.kernel.org designates 2604:1380:4601:e00::3 as permitted sender) client-ip=2604:1380:4601:e00::3; Authentication-Results: mx.google.com; dkim=pass header.i=@mediatek.com header.s=dk header.b="JrGg/6qg"; arc=pass (i=1 spf=pass spfdomain=mediatek.com dkim=pass dkdomain=mediatek.com dmarc=pass fromdomain=mediatek.com); spf=pass (google.com: domain of linux-kernel+bounces-212764-linux.lists.archive=gmail.com@vger.kernel.org designates 2604:1380:4601:e00::3 as permitted sender) smtp.mailfrom="linux-kernel+bounces-212764-linux.lists.archive=gmail.com@vger.kernel.org"; dmarc=pass (p=QUARANTINE sp=QUARANTINE dis=NONE) header.from=mediatek.com Received: from smtp.subspace.kernel.org (wormhole.subspace.kernel.org [52.25.139.140]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by am.mirrors.kernel.org (Postfix) with ESMTPS id 25CF81F25159 for ; Thu, 13 Jun 2024 07:58:49 +0000 (UTC) Received: from localhost.localdomain (localhost.localdomain [127.0.0.1]) by smtp.subspace.kernel.org (Postfix) with ESMTP id 0944B13DDBD; Thu, 13 Jun 2024 07:56:44 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=mediatek.com header.i=@mediatek.com header.b="JrGg/6qg" Received: from mailgw01.mediatek.com (unknown [60.244.123.138]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 2E68A13D607; Thu, 13 Jun 2024 07:56:40 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=60.244.123.138 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1718265403; cv=none; b=ti83BvKKKxYTAMK0gxUuL+dWJLFpRpPjpfYqjxvDNFl8FG6axIM5bwXTs1+K2DTR91SaHWzdyX3FSmazvJc/Smom8vRXfxvL0Jxz530nxcRRtQ1H4AzJvbLbYClECWwjR1F5luoLny3gmDEkL5GE4hxEpygsOw/uriol3xpPR2Q= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1718265403; c=relaxed/simple; bh=GwtrW5471joAc5Ed4Kj55CjUq75+jsgEdYRndPXtQcg=; h=From:To:CC:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version:Content-Type; b=jp2E41Iv1QCKtf6pdWiwgK1Iv/EBPdPXGa2Znw6SCFiXYKo7cIUUOUnBnLCsKkN/ZDi7yHu+FLa16DDiz6CL0CmA5AnodY5GBFVbciE8sAUagIgEC/mCxMj5PcZ2M1ysT9Gsfj0PCXMl3n49HAVLa2T6YQuodUcYGhLXbCx9TFQ= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=mediatek.com; spf=pass smtp.mailfrom=mediatek.com; dkim=pass (1024-bit key) header.d=mediatek.com header.i=@mediatek.com header.b=JrGg/6qg; arc=none smtp.client-ip=60.244.123.138 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=mediatek.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=mediatek.com X-UUID: 740d4c2c295a11efa54bbfbb386b949c-20240613 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=mediatek.com; s=dk; h=Content-Type:Content-Transfer-Encoding:MIME-Version:References:In-Reply-To:Message-ID:Date:Subject:CC:To:From; bh=E7llR/RAqOOuOrro8s4iot5nsHsj1Nl6C3DN2LP19uk=; b=JrGg/6qgKHsPdsvdDjKEw5t9fVdphxtQ1zAGkOprHGOhPJIZtJRNcBcd6VF5Seek7GbgupsX+Au6lF1+3njTkEphat+Er179Ua57hMmA+SyLoqVpeglVg4sjY1hQ1HK82PbWhBQ3jr9Dufw7DZxVN3L6lKFuNvEXhWU5fAKjBdA=; X-CID-P-RULE: Release_Ham X-CID-O-INFO: VERSION:1.1.39,REQID:81253da8-fe6e-4a1e-863a-6c6866a5b55e,IP:0,U RL:0,TC:0,Content:-25,EDM:0,RT:0,SF:0,FILE:0,BULK:0,RULE:Release_Ham,ACTIO N:release,TS:-25 X-CID-META: VersionHash:393d96e,CLOUDID:7baf8988-8d4f-477b-89d2-1e3bdbef96d1,B ulkID:nil,BulkQuantity:0,Recheck:0,SF:102,TC:nil,Content:0,EDM:-3,IP:nil,U RL:0,File:nil,RT:nil,Bulk:nil,QS:nil,BEC:nil,COL:0,OSI:0,OSA:0,AV:0,LES:1, SPR:NO,DKR:0,DKP:0,BRR:0,BRE:0,ARC:0 X-CID-BVR: 0,NGT X-CID-BAS: 0,NGT,0,_ X-CID-FACTOR: TF_CID_SPAM_SNR X-UUID: 740d4c2c295a11efa54bbfbb386b949c-20240613 Received: from mtkmbs13n2.mediatek.inc [(172.21.101.108)] by mailgw01.mediatek.com (envelope-from ) (Generic MTA with TLSv1.2 ECDHE-RSA-AES256-GCM-SHA384 256/256) with ESMTP id 815185349; Thu, 13 Jun 2024 15:56:34 +0800 Received: from mtkmbs13n1.mediatek.inc (172.21.101.193) by mtkmbs13n2.mediatek.inc (172.21.101.108) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.1118.26; Thu, 13 Jun 2024 15:56:32 +0800 Received: from mhfsdcap04.gcn.mediatek.inc (10.17.3.154) by mtkmbs13n1.mediatek.inc (172.21.101.73) with Microsoft SMTP Server id 15.2.1118.26 via Frontend Transport; Thu, 13 Jun 2024 15:56:32 +0800 From: Yunfei Dong To: =?UTF-8?q?N=C3=ADcolas=20F=20=2E=20R=20=2E=20A=20=2E=20Prado?= , Sebastian Fricke , Nicolas Dufresne , Hans Verkuil , AngeloGioacchino Del Regno , Benjamin Gaignard , Nathan Hebert , Daniel Almeida CC: Hsin-Yi Wang , Fritz Koenig , Daniel Vetter , Steve Cho , Yunfei Dong , , , , , , Subject: [PATCH v3 7/7] media: mediatek: vcodec: remove media request checking Date: Thu, 13 Jun 2024 15:55:32 +0800 Message-ID: <20240613075532.32128-8-yunfei.dong@mediatek.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20240613075532.32128-1-yunfei.dong@mediatek.com> References: <20240613075532.32128-1-yunfei.dong@mediatek.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Content-Type: text/plain X-MTK: N If the media request of each source buffer is NULL, need to set the buffer status to error, then schedule again in case of access NULL pointer. No need to check again after media request pointer is non zero. Signed-off-by: Yunfei Dong --- .../vcodec/decoder/mtk_vcodec_dec_stateless.c | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/drivers/media/platform/mediatek/vcodec/decoder/mtk_vcodec_dec_stateless.c b/drivers/media/platform/mediatek/vcodec/decoder/mtk_vcodec_dec_stateless.c index 3dba3549000a..43af18df03ea 100644 --- a/drivers/media/platform/mediatek/vcodec/decoder/mtk_vcodec_dec_stateless.c +++ b/drivers/media/platform/mediatek/vcodec/decoder/mtk_vcodec_dec_stateless.c @@ -359,10 +359,14 @@ static void mtk_vdec_worker(struct work_struct *work) ctx->id, bs_src->va, &bs_src->dma_addr, bs_src->size, vb2_src); /* Apply request controls. */ src_buf_req = vb2_src->req_obj.req; - if (src_buf_req) + if (src_buf_req) { v4l2_ctrl_request_setup(src_buf_req, &ctx->ctrl_hdl); - else + } else { mtk_v4l2_vdec_err(ctx, "vb2 buffer media request is NULL"); + v4l2_m2m_buf_done(vb2_v4l2_src, VB2_BUF_STATE_ERROR); + v4l2_m2m_job_finish(dev->m2m_dev_dec, ctx->m2m_ctx); + return; + } ret = vdec_if_decode(ctx, bs_src, NULL, &res_chg); if (ret && ret != -EAGAIN) { @@ -380,8 +384,7 @@ static void mtk_vdec_worker(struct work_struct *work) state = ret ? VB2_BUF_STATE_ERROR : VB2_BUF_STATE_DONE; if (!IS_VDEC_LAT_ARCH(dev->vdec_pdata->hw_arch) || ctx->current_codec == V4L2_PIX_FMT_VP8_FRAME) { - if (src_buf_req) - v4l2_ctrl_request_complete(src_buf_req, &ctx->ctrl_hdl); + v4l2_ctrl_request_complete(src_buf_req, &ctx->ctrl_hdl); vb2_v4l2_dst = v4l2_m2m_dst_buf_remove(ctx->m2m_ctx); v4l2_m2m_buf_done(vb2_v4l2_dst, state); v4l2_m2m_buf_done(vb2_v4l2_src, state); @@ -398,8 +401,7 @@ static void mtk_vdec_worker(struct work_struct *work) */ ctx->last_vb2_v4l2_src = (ret != -EAGAIN) ? NULL : vb2_v4l2_src; if (ret && ret != -EAGAIN) { - if (src_buf_req) - v4l2_ctrl_request_complete(src_buf_req, &ctx->ctrl_hdl); + v4l2_ctrl_request_complete(src_buf_req, &ctx->ctrl_hdl); v4l2_m2m_buf_done(vb2_v4l2_src, state); } -- 2.18.0