From nobody Sat Jun 13 14:53:44 2026 Received: from cstnet.cn (smtp81.cstnet.cn [159.226.251.81]) (using TLSv1.2 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 21ABD1A9F9B; Wed, 29 Apr 2026 07:01:43 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=159.226.251.81 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1777446107; cv=none; b=JK093Cx3j2mxj3tu3f10nvBhNI6Na1N/UdIHYFaKkceYmqD5XH5ni40B9uJoBHSTRZZxAWFZHfq0ZxwDcjqNkxbROT/GNOtUIgFWxSBSuw9VnQmZAWCPDjZ7y2gONP0LmY2xaOcXjeBzWSqcDF0UjMnRGxXyo7wh8OkEpsfpB1o= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1777446107; c=relaxed/simple; bh=CNKFWA9TaB748mRVpQbfXU7TU3hedJw5OQ8YOm1X2j8=; h=From:To:Cc:Subject:Date:Message-Id:MIME-Version; b=CCY8gAeRZel6CCD+3xkZb2WjgnQs5QMxzPbhFKkhUQI4SR0dPTKgCyVryDuyn7ydx+mQnG74llklePH3piZ5Lxk4pHKi/lHTeFNiJdmczfjSnw+8RoIHHhYONfVl/YTP22x/chYrUOVifZkWOG3mVnHTsNEt4VrAp89YQDklhpk= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=isrc.iscas.ac.cn; spf=pass smtp.mailfrom=isrc.iscas.ac.cn; arc=none smtp.client-ip=159.226.251.81 Authentication-Results: smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=isrc.iscas.ac.cn Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=isrc.iscas.ac.cn Received: from localhost.localdomain (unknown [36.112.3.223]) by APP-03 (Coremail) with SMTP id rQCowADX+N_ArPFpIhWJDw--.271S2; Wed, 29 Apr 2026 15:01:20 +0800 (CST) From: Haoxiang Li To: tiffany.lin@mediatek.com, andrew-ct.chen@mediatek.com, yunfei.dong@mediatek.com, mchehab@kernel.org, matthias.bgg@gmail.com, angelogioacchino.delregno@collabora.com, laurent.pinchart@ideasonboard.com, hverkuil+cisco@kernel.org, p.zabel@pengutronix.de, benjamin.gaignard@collabora.com, xiaoyong.lu@mediatek.com, mingjia.zhang@mediatek.com, nicolas@ndufresne.ca Cc: linux-media@vger.kernel.org, linux-kernel@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-mediatek@lists.infradead.org, Haoxiang Li , stable@vger.kernel.org Subject: [PATCH v2] media: mediatek: vcodec: free working buf in vdec_vp9_slice_setup_single() Date: Wed, 29 Apr 2026 15:01:19 +0800 Message-Id: <20260429070119.181876-1-lihaoxiang@isrc.iscas.ac.cn> X-Mailer: git-send-email 2.25.1 Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-CM-TRANSID: rQCowADX+N_ArPFpIhWJDw--.271S2 X-Coremail-Antispam: 1UD129KBjvJXoW7uFWxKw15Cr4kCw47WrWfXwb_yoW8WrWfpF s0krWUZFyjyFnFva18Ja1xuayrC3ySvryxWw4a9w1Yyr98tr4xXryIyFya9F4UCrn2ka48 ur1qqry8WFW3Aw7anT9S1TB71UUUUU7qnTZGkaVYY2UrUUUUjbIjqfuFe4nvWSU5nxnvy2 9KBjDU0xBIdaVrnRJUUU9014x267AKxVW5JVWrJwAFc2x0x2IEx4CE42xK8VAvwI8IcIk0 rVWrJVCq3wAFIxvE14AKwVWUJVWUGwA2ocxC64kIII0Yj41l84x0c7CEw4AK67xGY2AK02 1l84ACjcxK6xIIjxv20xvE14v26r1j6r1xM28EF7xvwVC0I7IYx2IY6xkF7I0E14v26r4j 6F4UM28EF7xvwVC2z280aVAFwI0_Jr0_Gr1l84ACjcxK6I8E87Iv6xkF7I0E14v26r4j6r 4UJwAS0I0E0xvYzxvE52x082IY62kv0487Mc02F40EFcxC0VAKzVAqx4xG6I80ewAv7VC0 I7IYx2IY67AKxVWUGVWUXwAv7VC2z280aVAFwI0_Jr0_Gr1lOx8S6xCaFVCjc4AY6r1j6r 4UM4x0Y48IcxkI7VAKI48JM4x0x7Aq67IIx4CEVc8vx2IErcIFxwACI402YVCY1x02628v n2kIc2xKxwCY1x0262kKe7AKxVW8ZVWrXwCF04k20xvY0x0EwIxGrwCFx2IqxVCFs4IE7x kEbVWUJVW8JwC20s026c02F40E14v26r1j6r18MI8I3I0E7480Y4vE14v26r106r1rMI8E 67AF67kF1VAFwI0_GFv_WrylIxkGc2Ij64vIr41lIxAIcVC0I7IYx2IY67AKxVWUJVWUCw CI42IY6xIIjxv20xvEc7CjxVAFwI0_Gr0_Cr1lIxAIcVCF04k26cxKx2IYs7xG6r1j6r1x MIIF0xvEx4A2jsIE14v26r1j6r4UMIIF0xvEx4A2jsIEc7CjxVAFwI0_Gr0_Gr1UYxBIda VFxhVjvjDU0xZFpf9x0pRiSdgUUUUU= X-CM-SenderInfo: 5olkt0x0ld0ww6lv2u4olvutnvoduhdfq/1tbiBgsME2nxk7Bl3QAAsR Content-Type: text/plain; charset="utf-8" Add an error path label in vdec_vp9_slice_setup_single() and call vdec_vp9_slice_free_working_buffer() to free working buffer. Fixes: b0f407c19648 ("media: mediatek: vcodec: add vp9 decoder driver for m= t8186") Cc: stable@vger.kernel.org Signed-off-by: Haoxiang Li --- Changes in v2: - Remove vdec_vp9_slice_setup_prob_buffer()'s return value, since it never fails. Thanks, Nicolas! --- .../mediatek/vcodec/decoder/vdec/vdec_vp9_req_lat_if.c | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/drivers/media/platform/mediatek/vcodec/decoder/vdec/vdec_vp9_r= eq_lat_if.c b/drivers/media/platform/mediatek/vcodec/decoder/vdec/vdec_vp9_= req_lat_if.c index cd1935014d76..d034d84ad7f1 100644 --- a/drivers/media/platform/mediatek/vcodec/decoder/vdec/vdec_vp9_req_lat_= if.c +++ b/drivers/media/platform/mediatek/vcodec/decoder/vdec/vdec_vp9_req_lat_= if.c @@ -1808,17 +1808,16 @@ static int vdec_vp9_slice_setup_single(struct vdec_= vp9_slice_instance *instance, =20 vdec_vp9_slice_setup_single_buffer(instance, pfc, vsi, bs, fb); vdec_vp9_slice_setup_seg_buffer(instance, vsi, &instance->seg[0]); - - ret =3D vdec_vp9_slice_setup_prob_buffer(instance, vsi); - if (ret) - goto err; + vdec_vp9_slice_setup_prob_buffer(instance, vsi); =20 ret =3D vdec_vp9_slice_setup_tile_buffer(instance, vsi, bs); if (ret) - goto err; + goto alloc_err; =20 return 0; =20 +alloc_err: + vdec_vp9_slice_free_working_buffer(instance); err: return ret; } --=20 2.25.1