From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mail-pj1-f43.google.com (mail-pj1-f43.google.com [209.85.216.43]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id D9450385D84 for ; Sat, 30 May 2026 09:44:43 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.216.43 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1780134286; cv=none; b=d4fg8zwN4i0PeqFZ+p2GRHFN9p5n37s1kgbq0mkd4iK0DRDVX5ebq54sXK3q0/24H7nf063Y+39KLvx/z978Z0M9QD+UBMBr9mc5s2Wuh/uq041XKjnp1W+TrLp2EBSbtEtbqYPkNrRJYZKgRCjEJb0hx3Z0PvXs653uEmJU5vI= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1780134286; c=relaxed/simple; bh=G4dcvjVYZuF9c1fC6zIr8U0LMJapQ16RTisqEjiIVMg=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=qqnC0CJSCX0ggBZ1bjPOGxZ6qXMTzS2RAMhd3Tjy7JxxqEtTdn7P8pDayJQOMbmUB5wKgtAIpD+8GccLZgv2fIKjnWV3+q2iuW4YB7l1vLQIOZlIte91HgS8cpcieoTwG/JCb0enYqVAJgM/fxFx51/xgV7zcqz4Ehzu42ZpbzQ= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=PFHUqw2W; arc=none smtp.client-ip=209.85.216.43 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="PFHUqw2W" Received: by mail-pj1-f43.google.com with SMTP id 98e67ed59e1d1-369002b26f4so8647745a91.3 for ; Sat, 30 May 2026 02:44:43 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1780134283; x=1780739083; darn=lists.linux.dev; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=Je0r03zFWDk/tHsmcp50GPWfnKiSAfNBSvNM4tTawBM=; b=PFHUqw2WW7/WkAB/ggTPJlcsJZ7xQSfy2SEIy/T4jHSAF9blPJq7Kk4h1YA0yap27r Py+aDdtAuTKo8rUwZpfJobabKZJLy49W5fPEbb1x1O+1WjRg40GnpEQO19tqrw+lBTMp /vRXxroIwqRmyvh6ILZKcJBwdH5XM7/CAKDECgCW+IPNV6adVNnwdFWXxm4mr0h9muOu +yFQziEC8DGHzjRjNzaAtHQsPO0epJdVx988PUd2m3Za+8ZUws5Q1kRY06TMgUIpvntd k8oBTC9EBHWdse936Z1+X8RV1Dwnb+4By8e448muFBONL98cCf6q2sd9sv5t0ZirwZv6 1Pyw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1780134283; x=1780739083; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to; bh=Je0r03zFWDk/tHsmcp50GPWfnKiSAfNBSvNM4tTawBM=; b=K+T490Jx41davwAmhydt4ofpqQZ+Xb6n9nIIQoa8KUwNRbucwFW+gN+xQTacDOpdIK lL3gAAVWwT3RZxjcvUYPA1ImFOcQOlp/kYv1pAFKyjjecjQbWHjFfPIAg8SPNy18rnbv 12qZO51pMCDe4StFZAso7gzxZFJXWLlHsoeAhcJiQMZEKfhTw9mc4esOKsao6UfmumM2 hU9PJNX+xOLSc73ObonrxizVytWrb9IuPsiaa8ZrjUA9lfVQhlK7xdmH5pH199PWvBRG pvptklRCxWRnzM0jRyjeYXKOhNu8Qk6c3BjGM6nv84gQyomStBFAayXCksXYowEIbh95 t5Gg== X-Forwarded-Encrypted: i=1; AFNElJ8pWp4fvY7GJdJHRGMT0lIzwF2ZhwO7cMRuBjR2SGw5FUQQWVBeD4TDxx1SyU73M6HCJFfxq6j+vE5Nkqsl@lists.linux.dev X-Gm-Message-State: AOJu0Yzr+zklZ6UeG8n+sEFlS8dF+KwMHH7ZcPf4pLZyY3zsBbZ0sDMm Scbxl8+vUuj35lDeSDqP1ZsFIDw5pZNdEC7/GND/gyvFuissvddF+RWI X-Gm-Gg: Acq92OF3lzCmJqTXVTEIlpcWVa/Rz/nyX2GKPCuzuJj7PnC+kjo2kUnUVnuK+riZUIx 1RHMlY5+LiqqhptDNgZ5OzQuzOpQVVC4lT9zr1Ujzz/oNpHohGpTiwuIqTJEgVM+ey24P4uhEPU mesR5bUavOWBlISjsXmux+39MR3ybQvaFh5dX3cyX8PczzAKr4Q+lfLTrfUEKd1Gmwj2KKJnbBE Vz039sNDMbQqhkRmBEbmn+VAo6EW5tQi6n5nJpn37L1j3E1gMNkYLp0eM2TtEqbsNlcm3LOiJDb izXBIfL/rROqNHlHBt8/dHblTfTkA7K6o1kyEsmbp1tg38nqLXWheySJiDcRnWHPQGzV5rKHcb4 nQ6QGlcyqI7QFyppzO00UuKiUg5v6v+9JUXC/Q8yLelimB9ZPA0IIKxdGC0lPb+uDApqViF9Abi 4Zq/nmXgwiaFzDnzpG4dS1OGDqK4cJ+O8mPjkR4V/uEA== X-Received: by 2002:a17:903:2450:b0:2bc:e2ed:fd03 with SMTP id d9443c01a7336-2bf368a3dabmr36524785ad.39.1780134283084; Sat, 30 May 2026 02:44:43 -0700 (PDT) Received: from rockpi-5b ([45.112.0.191]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-2bf239e700csm61529945ad.10.2026.05.30.02.44.36 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 30 May 2026 02:44:42 -0700 (PDT) From: Anand Moon To: Neil Armstrong , Maarten Lankhorst , Maxime Ripard , Thomas Zimmermann , David Airlie , Simona Vetter , Kevin Hilman , Jerome Brunet , Martin Blumenstingl , Mauro Carvalho Chehab , Greg Kroah-Hartman , Maxime Jourdan , Hans Verkuil , dri-devel@lists.freedesktop.org (open list:DRM DRIVERS FOR AMLOGIC SOCS), linux-amlogic@lists.infradead.org (open list:DRM DRIVERS FOR AMLOGIC SOCS), linux-arm-kernel@lists.infradead.org (moderated list:ARM/Amlogic Meson SoC support), linux-kernel@vger.kernel.org (open list), linux-media@vger.kernel.org (open list:MESON VIDEO DECODER DRIVER FOR AMLOGIC SOCS), linux-staging@lists.linux.dev (open list:STAGING SUBSYSTEM) Cc: Anand Moon , Nicolas Dufresne , Sashiko Subject: [PATCH v6 4/8] media: meson: vdec: Condition buffer flushing on queue type in start_streaming Date: Sat, 30 May 2026 15:12:50 +0530 Message-ID: <20260530094326.11892-5-linux.amoon@gmail.com> X-Mailer: git-send-email 2.50.1 In-Reply-To: <20260530094326.11892-1-linux.amoon@gmail.com> References: <20260530094326.11892-1-linux.amoon@gmail.com> Precedence: bulk X-Mailing-List: linux-staging@lists.linux.dev List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: 8bit When vdec_start_streaming() fails, the error path clears buffers from both the source and destination queues unconditionally. If one queue was already streaming successfully from a prior invocation, flushing its buffers behind its back leaves videobuf2 deadlocked waiting for completions. Fix this by only sweeping buffers from the specific queue type container that failed to initialize. Cc: Nicolas Dufresne Reported-by: Sashiko Closes: https://lore.kernel.org/all/20260521090944.F35401F00A3D@smtp.kernel.org/ Fixes: 3e7f51bd9607 ("media: meson: add v4l2 m2m video decoder driver") Signed-off-by: Anand Moon --- drivers/staging/media/meson/vdec/vdec.c | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/drivers/staging/media/meson/vdec/vdec.c b/drivers/staging/media/meson/vdec/vdec.c index 8a5bf1a96830..698a95566ad2 100644 --- a/drivers/staging/media/meson/vdec/vdec.c +++ b/drivers/staging/media/meson/vdec/vdec.c @@ -386,15 +386,15 @@ static int vdec_start_streaming(struct vb2_queue *q, unsigned int count) sess->status = STATUS_STOPPED; mutex_unlock(&core->lock); - while ((buf = v4l2_m2m_src_buf_remove(sess->m2m_ctx))) - v4l2_m2m_buf_done(buf, VB2_BUF_STATE_QUEUED); - while ((buf = v4l2_m2m_dst_buf_remove(sess->m2m_ctx))) - v4l2_m2m_buf_done(buf, VB2_BUF_STATE_QUEUED); - - if (q->type == V4L2_BUF_TYPE_VIDEO_OUTPUT_MPLANE) + if (q->type == V4L2_BUF_TYPE_VIDEO_OUTPUT_MPLANE) { sess->streamon_out = 0; - else + while ((buf = v4l2_m2m_src_buf_remove(sess->m2m_ctx))) + v4l2_m2m_buf_done(buf, VB2_BUF_STATE_QUEUED); + } else { sess->streamon_cap = 0; + while ((buf = v4l2_m2m_dst_buf_remove(sess->m2m_ctx))) + v4l2_m2m_buf_done(buf, VB2_BUF_STATE_QUEUED); + } return ret; } -- 2.50.1 From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 5DC9DCD6E4A for ; Sat, 30 May 2026 09:44:53 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender: Content-Transfer-Encoding:Content-Type:Cc:List-Subscribe:List-Help:List-Post: List-Archive:List-Unsubscribe:List-Id:MIME-Version:References:In-Reply-To: Message-ID:Date:Subject:To:From:Reply-To:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=P6iwMu8Z0zknuAl+SsUJbJDyn+MP95MG12z4NTN45GE=; b=h1tW0yD8CIBl7K vAr+BIKCCWP0uXQgSzLtPcb3en11ECeKJefy6gvosjABfdRtElzQsfWb4rvollpKDRMjBi2CKuVFi JtuG1PyYOOaZACeWLT/UHp92WexgcfI/MUTBwDEAXaNxFBur+RyLYMm558vxGiaA7Tim00f1+i85b ADwNPMSI6QDuxOQ/yNtCeJRhjet2NOEqofrRtrmUO7UuhLF5WA8kbNsTzrN1JPbdyDcLVeMIapzgm tH4kIUdeQrCCd/nilTdu8E03FxRe4P5mZfj9PL2+crLAFLCrhcK1CMGaWdQhfLby/+D/BNx9Kc/Ve ljIPJDhL+hvMOJUPByww==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.99.1 #2 (Red Hat Linux)) id 1wTGFK-00000008al8-49Rj; Sat, 30 May 2026 09:44:47 +0000 Received: from mail-pl1-x634.google.com ([2607:f8b0:4864:20::634]) by bombadil.infradead.org with esmtps (Exim 4.99.1 #2 (Red Hat Linux)) id 1wTGFI-00000008aiz-02ym for linux-amlogic@lists.infradead.org; Sat, 30 May 2026 09:44:45 +0000 Received: by mail-pl1-x634.google.com with SMTP id d9443c01a7336-2bf2e8ccca1so6943645ad.0 for ; Sat, 30 May 2026 02:44:43 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1780134283; x=1780739083; darn=lists.infradead.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=Je0r03zFWDk/tHsmcp50GPWfnKiSAfNBSvNM4tTawBM=; b=kEXJ4H5za0GMQQqdOtZ+qOtxni8UQP1wNIiN11wqo0Ui78palkK/hKDA/+1d2I9yuw eDNfGbOJWhd8O3DYB0LUgTJyFXakYnTDH/Lj1muKmuMDmUshEMxnrRV/iLMwZOcseWvu kz+d5JAv0wcoftOM9/DQHEe6UnGYksuufhAqRq1NdApnoX0H0sDeW5sfuuN+C9xzYtj6 Wv0j3D+GNcTodw3jP1cv4m0nTXVymXG5SXY6rCCBTRKzC+Kb/0E8m4PSvKS7gPDFtD3p D2R36NyPE2Asn5vCfpa/TgN2Uqbmw4BXxVbUO89m1KdtUicBjgLEzbWeuBni+Jw1FWV4 wNGQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1780134283; x=1780739083; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to; bh=Je0r03zFWDk/tHsmcp50GPWfnKiSAfNBSvNM4tTawBM=; b=jn+Gkw0QBKoMegE/sk8UVilodVIuiZcbnXyg8N8FcfKA8NiJh11T5SgeIMC7iY3VeT YPi9s0kNvICWW7xE9cpgqLcmbqLBJfVSUErVyASh6uLoIDAIEvSDZARMb6+mufzrVcWk 4EfQW5qqukdS1Bx7ox6kBfrr9Y37B0fel1t0FKxs4FP6KkNGIWjiRRbL6/v4NEoAz5MV BsTe4URl4NHp1phK+xukI0X/CPdvRCdRVs+41w6oO6Y4GQbvsd2mh3kilh1vBsY1ZqTi Z+y3WFdVJt1hcNVGKmUQVrFUUe+oMEBSRc27zMHuKbPMc0RnRTCJtEwY+NYdrbL3feVd 1v4w== X-Forwarded-Encrypted: i=1; AFNElJ+1TR9Rdaylya4U1Nz9gmukVhKpWoMBNVldwgTNTovtB4xQyKtU18fCEvscIEsKf00b6ZC5sVtEc+4tC2UE@lists.infradead.org X-Gm-Message-State: AOJu0YwkJNrFafACfdstgfcm1YtLdyC9YmiGdE9z6MIylNTUCTZn1yEa oo5YriJXDIqOHRaFS8DR825opPic9yVI/lky02+AuUNvrQd+FZSCG1Ms X-Gm-Gg: Acq92OEV0YKpzuoD4g5+eMhFeVpNMftXpiIrXt2gbJdyK5F07fq6b1JVUiIy9EKfEpp MYLXDMN682Rrc/bF+sDZ5RSYv241pd9rlil1apo3iYGv4iirphqwtN3JbEIpwN4Pt3SI2TCKwzF uxBNvZgmnfcFDXjgA+CoquqQMfWSKRLCQ5xBVZxj8qfj8VUqr80DLqg5tgOLwEOnmrMQg0U7DlJ 1UATHrQezS9RVhsysLGqTuCy7C3uKJt2MjNkv1iz4abfJjwM4OUmlGMqO5vr5ntGug2TKgRGuwA Yi6L0ABiE/9mr1qKo5rLPZR7VMwYgKorc8K/2nrPynAUfwSM9ojIEJhc3W0kQFuGNhjQpeRDcCs W78fUG25z1MODBRg9beJnq/wPJWHUY3uyHHNX0VEfu1k2EWOfzDw34h73+qlaf4huLQ3rt22Azy 5AKzTHOKRzdPcs9moNyRe+FdAJNbk/H3xVCZaZrSbuTg== X-Received: by 2002:a17:903:2450:b0:2bc:e2ed:fd03 with SMTP id d9443c01a7336-2bf368a3dabmr36524785ad.39.1780134283084; Sat, 30 May 2026 02:44:43 -0700 (PDT) Received: from rockpi-5b ([45.112.0.191]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-2bf239e700csm61529945ad.10.2026.05.30.02.44.36 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 30 May 2026 02:44:42 -0700 (PDT) From: Anand Moon To: Neil Armstrong , Maarten Lankhorst , Maxime Ripard , Thomas Zimmermann , David Airlie , Simona Vetter , Kevin Hilman , Jerome Brunet , Martin Blumenstingl , Mauro Carvalho Chehab , Greg Kroah-Hartman , Maxime Jourdan , Hans Verkuil , dri-devel@lists.freedesktop.org (open list:DRM DRIVERS FOR AMLOGIC SOCS), linux-amlogic@lists.infradead.org (open list:DRM DRIVERS FOR AMLOGIC SOCS), linux-arm-kernel@lists.infradead.org (moderated list:ARM/Amlogic Meson SoC support), linux-kernel@vger.kernel.org (open list), linux-media@vger.kernel.org (open list:MESON VIDEO DECODER DRIVER FOR AMLOGIC SOCS), linux-staging@lists.linux.dev (open list:STAGING SUBSYSTEM) Subject: [PATCH v6 4/8] media: meson: vdec: Condition buffer flushing on queue type in start_streaming Date: Sat, 30 May 2026 15:12:50 +0530 Message-ID: <20260530094326.11892-5-linux.amoon@gmail.com> X-Mailer: git-send-email 2.50.1 In-Reply-To: <20260530094326.11892-1-linux.amoon@gmail.com> References: <20260530094326.11892-1-linux.amoon@gmail.com> MIME-Version: 1.0 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.9.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20260530_024444_053930_B81DA025 X-CRM114-Status: GOOD ( 13.21 ) X-BeenThere: linux-amlogic@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Sashiko , Nicolas Dufresne Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Sender: "linux-amlogic" Errors-To: linux-amlogic-bounces+linux-amlogic=archiver.kernel.org@lists.infradead.org When vdec_start_streaming() fails, the error path clears buffers from both the source and destination queues unconditionally. If one queue was already streaming successfully from a prior invocation, flushing its buffers behind its back leaves videobuf2 deadlocked waiting for completions. Fix this by only sweeping buffers from the specific queue type container that failed to initialize. Cc: Nicolas Dufresne Reported-by: Sashiko Closes: https://lore.kernel.org/all/20260521090944.F35401F00A3D@smtp.kernel.org/ Fixes: 3e7f51bd9607 ("media: meson: add v4l2 m2m video decoder driver") Signed-off-by: Anand Moon --- drivers/staging/media/meson/vdec/vdec.c | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/drivers/staging/media/meson/vdec/vdec.c b/drivers/staging/media/meson/vdec/vdec.c index 8a5bf1a96830..698a95566ad2 100644 --- a/drivers/staging/media/meson/vdec/vdec.c +++ b/drivers/staging/media/meson/vdec/vdec.c @@ -386,15 +386,15 @@ static int vdec_start_streaming(struct vb2_queue *q, unsigned int count) sess->status = STATUS_STOPPED; mutex_unlock(&core->lock); - while ((buf = v4l2_m2m_src_buf_remove(sess->m2m_ctx))) - v4l2_m2m_buf_done(buf, VB2_BUF_STATE_QUEUED); - while ((buf = v4l2_m2m_dst_buf_remove(sess->m2m_ctx))) - v4l2_m2m_buf_done(buf, VB2_BUF_STATE_QUEUED); - - if (q->type == V4L2_BUF_TYPE_VIDEO_OUTPUT_MPLANE) + if (q->type == V4L2_BUF_TYPE_VIDEO_OUTPUT_MPLANE) { sess->streamon_out = 0; - else + while ((buf = v4l2_m2m_src_buf_remove(sess->m2m_ctx))) + v4l2_m2m_buf_done(buf, VB2_BUF_STATE_QUEUED); + } else { sess->streamon_cap = 0; + while ((buf = v4l2_m2m_dst_buf_remove(sess->m2m_ctx))) + v4l2_m2m_buf_done(buf, VB2_BUF_STATE_QUEUED); + } return ret; } -- 2.50.1 _______________________________________________ linux-amlogic mailing list linux-amlogic@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-amlogic From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 85EA3CD5BD0 for ; Sat, 30 May 2026 09:44:57 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender:Cc:List-Subscribe: List-Help:List-Post:List-Archive:List-Unsubscribe:List-Id: Content-Transfer-Encoding:MIME-Version:References:In-Reply-To:Message-ID:Date :Subject:To:From:Reply-To:Content-Type:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=Je0r03zFWDk/tHsmcp50GPWfnKiSAfNBSvNM4tTawBM=; b=13zfGT6fTenjHV bqaR1hl4uj7LLNEkNLq9vAXD3dJpkYZ2dDm032ExTbXEOeKG8fQVIpY7ZFv4gDt39DFXhAHiGL6CG CflWGrqYDrSh/pHiwFgAMy2lPnHIsQlE6MwU5nPf+SQRxhcXZKdDY9L+ln12p5hN7qq66FYDIRAEB RK6lsE7lrngb4ADpEj6GWfgoucglvYjgFtAoKEFrKQI6xt6aT56QPOmNKw/8q7BTBKGME8j7zvvZM pwMovnXhmLva+3ap9tzp/2vAaBtzZ9rrLlgpFhZacnQmXjux7KWYxerNblQK5ETqAKGeAn1sXOFjr pwq+0JpFMxaGaPNfWC7g==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.99.1 #2 (Red Hat Linux)) id 1wTGFK-00000008akq-3nol; Sat, 30 May 2026 09:44:46 +0000 Received: from mail-pj1-x1029.google.com ([2607:f8b0:4864:20::1029]) by bombadil.infradead.org with esmtps (Exim 4.99.1 #2 (Red Hat Linux)) id 1wTGFI-00000008aj0-034x for linux-arm-kernel@lists.infradead.org; Sat, 30 May 2026 09:44:45 +0000 Received: by mail-pj1-x1029.google.com with SMTP id 98e67ed59e1d1-36ba706ab46so1285781a91.1 for ; Sat, 30 May 2026 02:44:43 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1780134283; x=1780739083; darn=lists.infradead.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=Je0r03zFWDk/tHsmcp50GPWfnKiSAfNBSvNM4tTawBM=; b=kEXJ4H5za0GMQQqdOtZ+qOtxni8UQP1wNIiN11wqo0Ui78palkK/hKDA/+1d2I9yuw eDNfGbOJWhd8O3DYB0LUgTJyFXakYnTDH/Lj1muKmuMDmUshEMxnrRV/iLMwZOcseWvu kz+d5JAv0wcoftOM9/DQHEe6UnGYksuufhAqRq1NdApnoX0H0sDeW5sfuuN+C9xzYtj6 Wv0j3D+GNcTodw3jP1cv4m0nTXVymXG5SXY6rCCBTRKzC+Kb/0E8m4PSvKS7gPDFtD3p D2R36NyPE2Asn5vCfpa/TgN2Uqbmw4BXxVbUO89m1KdtUicBjgLEzbWeuBni+Jw1FWV4 wNGQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1780134283; x=1780739083; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to; bh=Je0r03zFWDk/tHsmcp50GPWfnKiSAfNBSvNM4tTawBM=; b=cqnssRtXN1qS4t6vRpgpmVHkjzDjJZHlwLPBdIJT9QJtCs7jthEPIEOvbOYOKjuN5P TwLYkCjNDi0GdKyyZmz0JUIm0QnshsgcFwDVBo/r1zSwFBMKiL9Do18FKGalV/vJGnxi QGnQWe5mW3zxUd1RvfwTYS+U56Z6sFIXMDlGuNGxESzqzwK8B4NPQnot5KZ74sg1OFiZ VU8Qn4XbQvShVIPKaOlUfmlI/u8AJRDYtEEYgzcuaILfsBzx0gIJ/HzsFL4z8HH7e7no JqkLOIizjyTodO/7u0jENNk4zrOdbp/DB1oeznkaPgcc6uPdWT/E/Gy1Fv391EXpf1Fp US+w== X-Forwarded-Encrypted: i=1; AFNElJ/JHL4TiNBQqWHvcFdYygm0D0KjkQI16j2xM2LYxFNnPhcGp2reyHwHSmAvj4wg/7dlZ4oTplEosbGPFsSjEiXY@lists.infradead.org X-Gm-Message-State: AOJu0Yx7WTi+uvKk7xURtgVgiP5rT2peZQm+/AYw4cMhL73uC7KOvsME 9Z51AxsuKfD2REYFjEPlTsJOi41IMEZ9/d543WFlVbWjfnbDB2subl7l X-Gm-Gg: Acq92OHOqx0VeAPop7tlHgbRAPPyUJhnlsQ11TFl1Vupe52b7E9MO2Opynb9cBKOokk IJPZhHP8UY9fAL8Q2mxZq1NwgnUUgC1mDKMSkJJ8EJPX4titWJjuLPJjsb7+PH1tWWQj6CbYnV6 aXWNfuQXdzbED1wv5c0LVJu66c38wsClQImwRszAqYZIXjyaIEewCygyvWINpro3wbQ1xBQucP2 +SCq2Y1PNuhbrwnj1rONzhYCaNkbeSDuDVCGQ8YzuUyrG789iqSuIJMyqPtNiGQqNiCEsssciZ5 x1WWnYSCgP+Ym1vCX/qVHiju+bXC3/rKEk1a+MtHdR0P7Bhgcj5Mpa5Jbu/3w1pc+E47N7/oDR0 X2Kwu3ievJ42jvswPrU5AzamX3c7c3JqFA/GQSyHZxHCWpOp80czfppsMOS3zbM+0FXyDmND7bp sc3hAULuaT6OpdmHVOhkyD12H4rko1lYRni3sj/errTg== X-Received: by 2002:a17:903:2450:b0:2bc:e2ed:fd03 with SMTP id d9443c01a7336-2bf368a3dabmr36524785ad.39.1780134283084; Sat, 30 May 2026 02:44:43 -0700 (PDT) Received: from rockpi-5b ([45.112.0.191]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-2bf239e700csm61529945ad.10.2026.05.30.02.44.36 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 30 May 2026 02:44:42 -0700 (PDT) From: Anand Moon To: Neil Armstrong , Maarten Lankhorst , Maxime Ripard , Thomas Zimmermann , David Airlie , Simona Vetter , Kevin Hilman , Jerome Brunet , Martin Blumenstingl , Mauro Carvalho Chehab , Greg Kroah-Hartman , Maxime Jourdan , Hans Verkuil , dri-devel@lists.freedesktop.org (open list:DRM DRIVERS FOR AMLOGIC SOCS), linux-amlogic@lists.infradead.org (open list:DRM DRIVERS FOR AMLOGIC SOCS), linux-arm-kernel@lists.infradead.org (moderated list:ARM/Amlogic Meson SoC support), linux-kernel@vger.kernel.org (open list), linux-media@vger.kernel.org (open list:MESON VIDEO DECODER DRIVER FOR AMLOGIC SOCS), linux-staging@lists.linux.dev (open list:STAGING SUBSYSTEM) Subject: [PATCH v6 4/8] media: meson: vdec: Condition buffer flushing on queue type in start_streaming Date: Sat, 30 May 2026 15:12:50 +0530 Message-ID: <20260530094326.11892-5-linux.amoon@gmail.com> X-Mailer: git-send-email 2.50.1 In-Reply-To: <20260530094326.11892-1-linux.amoon@gmail.com> References: <20260530094326.11892-1-linux.amoon@gmail.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.9.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20260530_024444_053997_392CAF88 X-CRM114-Status: GOOD ( 14.75 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Sashiko , Nicolas Dufresne Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org When vdec_start_streaming() fails, the error path clears buffers from both the source and destination queues unconditionally. If one queue was already streaming successfully from a prior invocation, flushing its buffers behind its back leaves videobuf2 deadlocked waiting for completions. Fix this by only sweeping buffers from the specific queue type container that failed to initialize. Cc: Nicolas Dufresne Reported-by: Sashiko Closes: https://lore.kernel.org/all/20260521090944.F35401F00A3D@smtp.kernel.org/ Fixes: 3e7f51bd9607 ("media: meson: add v4l2 m2m video decoder driver") Signed-off-by: Anand Moon --- drivers/staging/media/meson/vdec/vdec.c | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/drivers/staging/media/meson/vdec/vdec.c b/drivers/staging/media/meson/vdec/vdec.c index 8a5bf1a96830..698a95566ad2 100644 --- a/drivers/staging/media/meson/vdec/vdec.c +++ b/drivers/staging/media/meson/vdec/vdec.c @@ -386,15 +386,15 @@ static int vdec_start_streaming(struct vb2_queue *q, unsigned int count) sess->status = STATUS_STOPPED; mutex_unlock(&core->lock); - while ((buf = v4l2_m2m_src_buf_remove(sess->m2m_ctx))) - v4l2_m2m_buf_done(buf, VB2_BUF_STATE_QUEUED); - while ((buf = v4l2_m2m_dst_buf_remove(sess->m2m_ctx))) - v4l2_m2m_buf_done(buf, VB2_BUF_STATE_QUEUED); - - if (q->type == V4L2_BUF_TYPE_VIDEO_OUTPUT_MPLANE) + if (q->type == V4L2_BUF_TYPE_VIDEO_OUTPUT_MPLANE) { sess->streamon_out = 0; - else + while ((buf = v4l2_m2m_src_buf_remove(sess->m2m_ctx))) + v4l2_m2m_buf_done(buf, VB2_BUF_STATE_QUEUED); + } else { sess->streamon_cap = 0; + while ((buf = v4l2_m2m_dst_buf_remove(sess->m2m_ctx))) + v4l2_m2m_buf_done(buf, VB2_BUF_STATE_QUEUED); + } return ret; } -- 2.50.1