From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (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 E69813FB89A; Sat, 28 Feb 2026 17:43:08 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1772300589; cv=none; b=nnAMlWUuZQ1mxwxmtWgXyIxO8MTPLrCc80y+wHNuG6dK4c8olvlncKCFSug098oa88h0zEwfCDSza6YoYIgvghnThkiJepG6uhB8TQweTOyvy8BQ0HYWiizsgtw9z8HXUCnRs3v7oEYJFei6SQcHT6LvisiQnK+wYPNEBAifX5o= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1772300589; c=relaxed/simple; bh=9LQK53S+1C7Ho18RH8m/6mkNYbAiFBoP0Vq87CYjD9k=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=aoI6Zv9SCzb0iRQXoUhr5RuIC2uANujnCGqWFYcbV8o8THbGqUxHocNrBxZMsKrX3kI8Js0+QOw1Vn39g5aheC7ZNxGItchmQ8nvZIO0rNP6IH/uyjLhxlC5g9GaCgsXjuf+0gBk4WEs+khQkScVOWsEffEizYbQKjcx+B13rxg= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=VSHOAQpx; arc=none smtp.client-ip=10.30.226.201 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="VSHOAQpx" Received: by smtp.kernel.org (Postfix) with ESMTPSA id F2632C19424; Sat, 28 Feb 2026 17:43:07 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1772300588; bh=9LQK53S+1C7Ho18RH8m/6mkNYbAiFBoP0Vq87CYjD9k=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=VSHOAQpxxHUaT4fTOfV4KUIenLga3tqIA+hl31o6OIW0S8o0P+twa5CkV7chE1wIJ l4uLCEt/nGK1A1opDo22wzyjDfM8aih5MbrsSmBv7b5C3gdkbGcIdjYp4aF0dSboi2 Lv4zewwt/blXKwKQhFCFyopfX9olNdO8VeKeApBtE7pHKBC/YKXEAmXz9GwHiVUduO 12vLYD10y9PmVoyNm5zq6GVxdjB3y8Y0LjtAUUM9wSo1KUTsxTqFRZP94EM2KBNDeO b5oszirahVTwS7OoWSOt6+3T3nd1NuasllLYY5Qod13OgGCmQCPm7C82npjrQIHwop 0uWpim+GCAj2g== From: Sasha Levin To: linux-kernel@vger.kernel.org, stable@vger.kernel.org Cc: Renjiang Han , Vikash Garodia , Bryan O'Donoghue , Hans Verkuil , Sasha Levin Subject: [PATCH 6.19 630/844] media: venus: vdec: fix error state assignment for zero bytesused Date: Sat, 28 Feb 2026 12:29:03 -0500 Message-ID: <20260228173244.1509663-631-sashal@kernel.org> X-Mailer: git-send-email 2.51.0 In-Reply-To: <20260228173244.1509663-1-sashal@kernel.org> References: <20260228173244.1509663-1-sashal@kernel.org> Precedence: bulk X-Mailing-List: stable@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-stable: review X-Patchwork-Hint: Ignore Content-Transfer-Encoding: 8bit From: Renjiang Han [ Upstream commit 93ecd6ee95c38cb533fa25f48d3c1c8cb69f410f ] When hfi_session_flush is issued, all queued buffers are returned to the V4L2 driver. Some of these buffers are not processed and have bytesused = 0. Currently, the driver marks such buffers as error even during drain operations, which can incorrectly flag EOS buffers. Only capture buffers with zero payload (and not EOS) should be marked with VB2_BUF_STATE_ERROR. The check is performed inside the non-EOS branch to ensure correct handling. Fixes: 51df3c81ba10b ("media: venus: vdec: Mark flushed buffers with error state") Signed-off-by: Renjiang Han Reviewed-by: Vikash Garodia Cc: stable@vger.kernel.org Signed-off-by: Bryan O'Donoghue Signed-off-by: Hans Verkuil Signed-off-by: Sasha Levin --- drivers/media/platform/qcom/venus/vdec.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/drivers/media/platform/qcom/venus/vdec.c b/drivers/media/platform/qcom/venus/vdec.c index 4a6641fdffcf7..d0bd2d86a31f9 100644 --- a/drivers/media/platform/qcom/venus/vdec.c +++ b/drivers/media/platform/qcom/venus/vdec.c @@ -1440,10 +1440,10 @@ static void vdec_buf_done(struct venus_inst *inst, unsigned int buf_type, inst->drain_active = false; inst->codec_state = VENUS_DEC_STATE_STOPPED; } + } else { + if (!bytesused) + state = VB2_BUF_STATE_ERROR; } - - if (!bytesused) - state = VB2_BUF_STATE_ERROR; } else { vbuf->sequence = inst->sequence_out++; } -- 2.51.0