From nobody Mon Jun 8 18:57:54 2026 Received: from mail-dy1-f169.google.com (mail-dy1-f169.google.com [74.125.82.169]) (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 9225F3F54D2 for ; Wed, 27 May 2026 13:58:21 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=74.125.82.169 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1779890302; cv=none; b=UOkKiTqWHXoHE23UqoHnywEE/rz9CqHSzgO29q0ZGNTcnBHSZebgkdQ9KouEyvlTsD3cLZ+56AV0qpVSu/t8ee1EAacE6Bfl2b174JIqe0NjBGEBXDbc6kyW5T2IVKam5eCAijAWDEEQF1B00uuHiksN/M/buWDVUczrEpLSG7o= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1779890302; c=relaxed/simple; bh=r0AY6balmI5LK5cBrk9Sz6C0q7ffejwvtR4gMM36msY=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=MTpi392aAU3ntW6I8B8Zv4Bro7XPobaO5RFHjougcn5TQbru/UKu+7I7v0admx4vFpWRBOJfPeyHGwSFhwP6R498rHNghG5YIFqTUsDvOcQ82E3QWMjouJEFcKm5bxVGwHUuLx3cE5nHFlfNrW60+tXK6wrqp4alj2B+S7X5F9s= 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=hN8mZyyD; arc=none smtp.client-ip=74.125.82.169 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="hN8mZyyD" Received: by mail-dy1-f169.google.com with SMTP id 5a478bee46e88-2f7020a928eso17222219eec.1 for ; Wed, 27 May 2026 06:58:21 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1779890301; x=1780495101; darn=vger.kernel.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:from:to:cc:subject:date:message-id :reply-to; bh=sbmScUewxy69yzIsUCuE8aXgVmgMHcoBqHlMt7xLKm8=; b=hN8mZyyD6yLsc+dAqBZZL0WZhm+jwqzsQ86mt4IlMVSr51mZGcuehMaJmj8rY0oQMJ OVt0ISJtzxqT9V1JL8trmciMvbsEfhA89P/U35ApOwLmB54hrikYjF7++mIZv5T4nj1B BJS8ZVFCaLc53rPBwjYiLwk2tJTUaFeoWLeGe5clLt2bIheICqV81CH4azxnVonEBECc faBkQxYKWWrOpZRkYQGYhuogo3E0po281Z0ZPK2p3mkIHdYc9XSwWKoTJgjDm1bxn6f1 e6rYVmpxb9iF7m9eH16ph21F5T9baeuCSjESwI1h/+/zB2FffGRl4vVGZ72ZKqg/KzHQ tkWg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1779890301; x=1780495101; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-gg:x-gm-message-state:from:to :cc:subject:date:message-id:reply-to; bh=sbmScUewxy69yzIsUCuE8aXgVmgMHcoBqHlMt7xLKm8=; b=ng+5lvXI6ockkF5m8hQ6prn46yAd36H0ZFGtXeSwHTtReMenI1Gpig03sKGmlrJUkM EEHX2A77MO1sbCRBHkgbDFkNeDvSMttj/TtnYt4xnDc+u1BaI5eNW9wq1Fy7EvKRyxUU 396Z6kHE6PfHJmILEGhDLIxezneYd10rBd62uQJ/4ES360xcRt3w+xKspThD6Ms0rJ3B x1yYU1OhyLRkBahq1aN35HRLeaagD5vS6ob5I7pI0yh4JW/q9rCi69pYRzqcNjaiq/bR s2WbOnwJeJ1X/0DD8u3rgT1MZdaTL6geKMtz2pvrAaDAdGd2XeaplzSlbJKYMo02mNFd VHDg== X-Forwarded-Encrypted: i=1; AFNElJ8a/tWu9w0dsANh7d2uzBzkqEYdNBhxbvvYroVtENOL1cTnSUXe43hXrGGNU1zbizQR3HSyzFdEPO9QBeA=@vger.kernel.org X-Gm-Message-State: AOJu0YypGNiGerguWC1TplIVmiMZklGtjzpOgcAwNqBjT9UlbntnphcR W+adFn75WukSsHwk8bVAJ5Y76I90eDiwcDaMJzxKXRCxTmjX2vsD0kNe X-Gm-Gg: Acq92OF5xkFjQnG0ugt7NyutRvY4hGyB89gB7S2jzUGlkDViw86dn5LlSbj4Nk27khI GnOfobMsEG8Rg/2Gk7TUy/e3LcofrbGctGf5oUZnr07sLjCU2xoeXZPZdE3kckV6rOFCEfBgnhT StaXTTQnzqqdE/8qtiDVLwfr9rS2Z6xJK2hnjwfNdH4RXgJCqn7whdp1iuJ6PUaLTcAzbSXgdvc iuADesXqTlOo60FYYqswnLuwCc4j+FsffMOy8qDfV8/8Aa7e3SXIYZpDq68FkAd5s+6EBluLobh hYkPg/7HZ8+osJLxPQNxuTfnYLFHtW+UcuNbaC1FJSK+IuErNNDrYsPpXsLg//LEmwS4zLmDWcD DX/DNfcIgH6Py9iDGhDBMyOQ2N8UGhWg6nszNvmKXtpK31vRFKmBTjtt7z28NgdqMNFATav4dsx ejzWlW9Ag+iwQyXFoAif1rGhkOUVQX4ZJBJMD5PWzHSmVwdn7F7cZHBYKO0Ho7P4ePnag/wwZsc w== X-Received: by 2002:a05:7301:37ca:b0:2ed:e14:7f5b with SMTP id 5a478bee46e88-3044922a4d1mr10566374eec.31.1779890300526; Wed, 27 May 2026 06:58:20 -0700 (PDT) Received: from [192.168.1.18] (177-4-162-74.user3p.v-tal.net.br. [177.4.162.74]) by smtp.gmail.com with ESMTPSA id a92af1059eb24-1366aba2b9asm13013788c88.15.2026.05.27.06.58.15 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 27 May 2026 06:58:20 -0700 (PDT) From: =?utf-8?q?C=C3=A1ssio_Gabriel?= Date: Wed, 27 May 2026 10:55:46 -0300 Subject: [PATCH 1/2] ASoC: mediatek: mt8192: Release reserved memory on cleanup Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20260527-asoc-mt8192-probe-cleanup-v1-1-1bb834d05b72@gmail.com> References: <20260527-asoc-mt8192-probe-cleanup-v1-0-1bb834d05b72@gmail.com> In-Reply-To: <20260527-asoc-mt8192-probe-cleanup-v1-0-1bb834d05b72@gmail.com> To: Mark Brown , Liam Girdwood , Takashi Iwai , Jaroslav Kysela , Matthias Brugger , AngeloGioacchino Del Regno , Chen-Yu Tsai , Jiaxin Yu Cc: linux-sound@vger.kernel.org, linux-kernel@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-mediatek@lists.infradead.org, notify@kernel.org, =?utf-8?q?C=C3=A1ssio_Gabriel?= , stable@vger.kernel.org X-Mailer: b4 0.15.2 X-Developer-Signature: v=1; a=openpgp-sha256; l=1634; i=cassiogabrielcontato@gmail.com; h=from:subject:message-id; bh=r0AY6balmI5LK5cBrk9Sz6C0q7ffejwvtR4gMM36msY=; b=owGbwMvMwCV2IdZeKur/u2bG02pJDFliP4oslk4/pFEex7tum9+WL9wiE02MQh9tun/h9d0vl 5K52bNOdJSyMIhxMciKKbKsTlpkuafrwdX6uBUeMHNYmUCGMHBxCsBEKvQZGX72MgtpmK0vun6+ dHdfYPiNXz9mzhP3TzR6l2byzE41Jo6R4USD2QwLlhkTnNbLPbDZfPBamp/jK2bTFyt3WDx+vts rnhsA X-Developer-Key: i=cassiogabrielcontato@gmail.com; a=openpgp; fpr=AB62A239BC8AE0D57F5EA848D05D3F1A5AFFEE83 The MT8192 AFE probe calls of_reserved_mem_device_init() and falls back to preallocated buffers when no reserved memory region is available. When the reserved memory assignment succeeds, however, the driver never releases it. Register a devm cleanup action after a successful reserved-memory assignment so the assignment is released on probe failure and driver unbind. Fixes: ec4a10ca4a68 ("ASoC: mediatek: use reserved memory or enable buffer = pre-allocation") Cc: stable@vger.kernel.org Signed-off-by: C=C3=A1ssio Gabriel --- sound/soc/mediatek/mt8192/mt8192-afe-pcm.c | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/sound/soc/mediatek/mt8192/mt8192-afe-pcm.c b/sound/soc/mediate= k/mt8192/mt8192-afe-pcm.c index 3d32fe46118e..9f5057eeeff9 100644 --- a/sound/soc/mediatek/mt8192/mt8192-afe-pcm.c +++ b/sound/soc/mediatek/mt8192/mt8192-afe-pcm.c @@ -2155,6 +2155,11 @@ static const dai_register_cb dai_register_cbs[] =3D { mt8192_dai_memif_register, }; =20 +static void mt8192_afe_release_reserved_mem(void *data) +{ + of_reserved_mem_device_release(data); +} + static int mt8192_afe_pcm_dev_probe(struct platform_device *pdev) { struct mtk_base_afe *afe; @@ -2184,6 +2189,10 @@ static int mt8192_afe_pcm_dev_probe(struct platform_= device *pdev) if (ret) { dev_info(dev, "no reserved memory found, pre-allocating buffers instead\= n"); afe->preallocate_buffers =3D true; + } else { + ret =3D devm_add_action_or_reset(dev, mt8192_afe_release_reserved_mem, d= ev); + if (ret) + return ret; } =20 /* init audio related clock */ --=20 2.54.0 From nobody Mon Jun 8 18:57:54 2026 Received: from mail-dl1-f50.google.com (mail-dl1-f50.google.com [74.125.82.50]) (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 278C14218AD for ; Wed, 27 May 2026 13:58:26 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=74.125.82.50 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1779890308; cv=none; b=pnrKxK1ZPBfT6QSQ0HDwI4K/mIqzp4fOPVe1g3BMWROixpD/526zzDZKgnK/wsmDQygo3Fp7fJq4tjxwUSKIpk8W9oRZNygxsSp9kTrUHGb14Rov9IkfsyRA/K6Lhj3mpPVWH4pljXBQYm9w9om7XuXRkD8G6o1oYWsbCn5jgM0= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1779890308; c=relaxed/simple; bh=AiWKUJ6pcaS+s2EMRR0lpjZ6dv0VklPnVPvbjxXu/dY=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=WOmhzPcUaaN8acaKo7UiHneCOyPwExrH6luqfYjCG1k83ZO0tbawopBwafw/UA1U3MrzbIOCqlCG0JWhCaXc6pjojt5IzMJD+PTpSPcJS6SY79S/i5vd2LpUvliJbHPGU8hrh/B4PB7Dh3DVmeSUy/nPsDk+Dz8q2OUjUgm73YY= 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=BqzJfGpG; arc=none smtp.client-ip=74.125.82.50 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="BqzJfGpG" Received: by mail-dl1-f50.google.com with SMTP id a92af1059eb24-1334825de43so10313347c88.0 for ; Wed, 27 May 2026 06:58:26 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1779890306; x=1780495106; darn=vger.kernel.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:from:to:cc:subject:date:message-id :reply-to; bh=Qqn/GhtdZ2zHm2dhsjmzQoC4+5EN3BPsb9xc1JJYgSU=; b=BqzJfGpGBT2ZD8QCUeCJxpZoohRCpO3AtLvwHujSgB8IFg8wJmO1oln8C0LQBG1w5R wulZhe8lIFSISr+c70OQMZP2vkOEZOMWJieebZ1s2RcghL205pp1EX+EIN9gXrgBqe+y YQkJwokEyGkFZjSZRuFYiNTdts9xdKMwfo4whn2D8GZr/keSMND293VlEZmeIbMnQfVs Csueft557jAgqaJbDAbyrxsw55pD9LNUIiIZ09IBJoOEiK0lb1WJOb1xFHshxNNaLEyT iV1VAOaJx6CajGXHIfumi4L9G3bIinv65csgwOi6Yy3xsDxPLTAANZWRcNCGLngj5fof knug== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1779890306; x=1780495106; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-gg:x-gm-message-state:from:to :cc:subject:date:message-id:reply-to; bh=Qqn/GhtdZ2zHm2dhsjmzQoC4+5EN3BPsb9xc1JJYgSU=; b=TNpFDFzN9pkivz3sHzCB9CGClndBpdSAcxCbXNKleHRM38XQGk3homzbD8UsDM3nlk hKFhPVN+L4oovAnKjKxvsCpDX+Rzcqf9BMNAg/wem6obdQ9UqFWoCqvZtZR+d8Oz9ikv Z48H1H9Bod2zunXwysBZY+EPSF40PFuWdePguRfyW/rr2cmjNnZApb0Nx/5hxMBmZAD2 FWhrhtwOQ4iG+OKVVoDNLsLUbzkQBQfg12xVzh0HZuN3nYBU6eUQtOxXzRC9TxKP3DQJ 6y2pNGzqM7m5EfiK14KxSge+jEvye6qxMwneXwa0F9znsiEUnQUZpcumr2vzAZ7cdmcN soTQ== X-Forwarded-Encrypted: i=1; AFNElJ8ZgEqVBfNR9A7BUFEXF+X7XFnPROjgIe7R8G5wG5ZGAzhfGqKuE0CmmxH8GbnWlylcbySTP7CdDhma51Q=@vger.kernel.org X-Gm-Message-State: AOJu0YwgJLNl7NCo0/9CSO0E2N4W3lJZI+XNohxnoyfj8HRsG0/9ohW4 cF8ORho9CgEwNTE43QF/cDeUyARhtVWBHI6fQpV5ocxGzEgHo/A78DvQ X-Gm-Gg: Acq92OED4v28nllSImJe/QIQlqdEZT8iA+dLC/+sHLSwYRrlfrJ8k/Wv/Nbrnj/V8BI 0Yul91fvKx0CYiEqJrkZ9WsLQktUAFuBgEBX14g1bxCQerA5nuodyznyHOHZaHKLiW/5lCiFsVF FLjMO7SS9YBGIkYe/DKa91A+ZzyPZabcVL2R6rusf/5giPFZVrJWkL01G1W87+qkFAUBimGZdw1 lYczqA5THZiNrH3VlMVJqZ4LfU0lc0t9AcuzPJUr87kjKi89op3+fYWpz5daXIu9DjqK9jCPxvz MIrOzROGsXh+ZU/Zns4B+zJlicGt44yOwjUdfLvHclse7hmMw/Xt2AgZkRWcXbXPSSgmd8xP1TO uMVlpj/uNpxpUXuUpQMjIpyrEDpzS979p21EQAp5+SI7EfDfph8YfT5BF0/jis3NW1kMpZGACcN rYIDT//VrX4ZlkQ8TNcXWNNzRj2qQvRK+ow2jnVR/tOw/szzd3U28GPhcxK3TZ3lXF+iJwaGHdM Pnt6VaFiVYX X-Received: by 2002:a05:7022:62a6:b0:12d:de3e:86b9 with SMTP id a92af1059eb24-1365fc6932bmr8295204c88.41.1779890306165; Wed, 27 May 2026 06:58:26 -0700 (PDT) Received: from [192.168.1.18] (177-4-162-74.user3p.v-tal.net.br. [177.4.162.74]) by smtp.gmail.com with ESMTPSA id a92af1059eb24-1366aba2b9asm13013788c88.15.2026.05.27.06.58.20 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 27 May 2026 06:58:25 -0700 (PDT) From: =?utf-8?q?C=C3=A1ssio_Gabriel?= Date: Wed, 27 May 2026 10:55:47 -0300 Subject: [PATCH 2/2] ASoC: mediatek: mt8192: Check runtime resume during probe Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20260527-asoc-mt8192-probe-cleanup-v1-2-1bb834d05b72@gmail.com> References: <20260527-asoc-mt8192-probe-cleanup-v1-0-1bb834d05b72@gmail.com> In-Reply-To: <20260527-asoc-mt8192-probe-cleanup-v1-0-1bb834d05b72@gmail.com> To: Mark Brown , Liam Girdwood , Takashi Iwai , Jaroslav Kysela , Matthias Brugger , AngeloGioacchino Del Regno , Chen-Yu Tsai , Jiaxin Yu Cc: linux-sound@vger.kernel.org, linux-kernel@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-mediatek@lists.infradead.org, notify@kernel.org, =?utf-8?q?C=C3=A1ssio_Gabriel?= , stable@vger.kernel.org X-Mailer: b4 0.15.2 X-Developer-Signature: v=1; a=openpgp-sha256; l=2026; i=cassiogabrielcontato@gmail.com; h=from:subject:message-id; bh=AiWKUJ6pcaS+s2EMRR0lpjZ6dv0VklPnVPvbjxXu/dY=; b=owGbwMvMwCV2IdZeKur/u2bG02pJDFliP4pklll4m/lM4s7ZEHO7aHXznfQp56/39sv0p7Ap3 3zr9uJQRykLgxgXg6yYIsvqpEWWe7oeXK2PW+EBM4eVCWQIAxenAEzkyDZGhqXrhb+oauy39J/t 8NiuduspzslHDBLFfp62j3380CxR4xbDXyHxP0ruxx7puPtlON8wPb8vSjhoa8qtDba7ZzC/XBL rwQAA X-Developer-Key: i=cassiogabrielcontato@gmail.com; a=openpgp; fpr=AB62A239BC8AE0D57F5EA848D05D3F1A5AFFEE83 The MT8192 AFE probe enables runtime PM temporarily while reinitializing the regmap cache from hardware, but it uses pm_runtime_get_sync() without checking the return value. If runtime resume fails, probe keeps going without the device necessarily being accessible, and pm_runtime_get_sync() may leave the PM usage count incremented. The regmap_reinit_cache() failure path also returns before dropping the temporary PM reference and before clearing pm_runtime_bypass_reg_ctl. Use pm_runtime_resume_and_get() so resume failures do not leak a usage count, and clear the temporary bypass flag after dropping the probe PM reference on all regmap_reinit_cache() outcomes. Fixes: 125ab5d588b0 ("ASoC: mediatek: mt8192: add platform driver") Cc: stable@vger.kernel.org Signed-off-by: C=C3=A1ssio Gabriel --- sound/soc/mediatek/mt8192/mt8192-afe-pcm.c | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/sound/soc/mediatek/mt8192/mt8192-afe-pcm.c b/sound/soc/mediate= k/mt8192/mt8192-afe-pcm.c index 9f5057eeeff9..db0ae44a86af 100644 --- a/sound/soc/mediatek/mt8192/mt8192-afe-pcm.c +++ b/sound/soc/mediatek/mt8192/mt8192-afe-pcm.c @@ -2227,15 +2227,19 @@ static int mt8192_afe_pcm_dev_probe(struct platform= _device *pdev) =20 /* enable clock for regcache get default value from hw */ afe_priv->pm_runtime_bypass_reg_ctl =3D true; - pm_runtime_get_sync(dev); + ret =3D pm_runtime_resume_and_get(dev); + if (ret) { + afe_priv->pm_runtime_bypass_reg_ctl =3D false; + return dev_err_probe(dev, ret, "failed to resume device\n"); + } =20 ret =3D regmap_reinit_cache(afe->regmap, &mt8192_afe_regmap_config); - if (ret) - return dev_err_probe(dev, ret, "regmap_reinit_cache fail\n"); - pm_runtime_put_sync(dev); afe_priv->pm_runtime_bypass_reg_ctl =3D false; =20 + if (ret) + return dev_err_probe(dev, ret, "regmap_reinit_cache fail\n"); + regcache_cache_only(afe->regmap, true); regcache_mark_dirty(afe->regmap); =20 --=20 2.54.0