From nobody Mon Jun 8 18:57:43 2026 Received: from mail-dy1-f173.google.com (mail-dy1-f173.google.com [74.125.82.173]) (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 B46974219EB for ; Wed, 27 May 2026 13:42:12 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=74.125.82.173 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1779889334; cv=none; b=APbIxCQ+YvcK3mSG0K3299tfee/sfQ1KF+x8TOeH+eJTSn2eEpfTAyWDKVJ3CXXGQV6a4xMPblWeA1QboNPBrQmnZzUBZ6G4JUROSTacTmbJU5HqEeYhTSYEUK1m/0PdAupaxnD5KpqMnPYBXo9NSf2PRNL0sgaHLTWVwQjMKik= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1779889334; c=relaxed/simple; bh=VzV/fPvjI+XqWxKprvzJZVYA2YFkSP4aBOscYa8+RWs=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=UrJP3DpgHvsLTFKpCBkBcaJ9wZ5CLxrcMrJK36zytbeei4TvR1tS2XAVcehhlJwdFu0rj55erH0kiRhqhKfj31FcpXS6g4BnuXxQTrcPf/8v7SG6gMdJYaFBtRsjORagYAWjomtNZcK9Hozhth+irWRqnUpe9NSjEm98XNeSz40= 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=C9QpYYZj; arc=none smtp.client-ip=74.125.82.173 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="C9QpYYZj" Received: by mail-dy1-f173.google.com with SMTP id 5a478bee46e88-3045c195251so5155607eec.1 for ; Wed, 27 May 2026 06:42:12 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1779889332; x=1780494132; 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=sxLsjsge6FjE23brvA4cB6kvPU6JOYpV69fL9+pATJc=; b=C9QpYYZjvfkcA/JsWh2JWt7RLMRFdl9FTVUzc/ZOE9YwpzgrNglKmH5/HciVQ/9Os/ feh3sQSEtfzRtRKJAwdIPJ2+41dAYvk/KSdUArrpmnzZCpkA2/TI10FR3InlaJoD5zpD oi5i/haSKFu9KYkfqw7osHRfh4tw5PYuAtOAoES6ORNmREv8M2FMdRSvhr53ZbHFpjuF nHrMSZL8dUc5TYYe0irSGwcG2LRl+U9zg+/oS2zxVJIL2eSerdW5jrclDrtw0gMVM2k2 AQMnGxkvqF9Pyw56NDT9XhZ770DiIfmYLTDL23UIRFSu+OJUG50fVjWd96/GKKDvDIiA kixw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1779889332; x=1780494132; 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=sxLsjsge6FjE23brvA4cB6kvPU6JOYpV69fL9+pATJc=; b=rtCWu+wNOXMBElMGTOeLcET75ga/TXa+PdZ6cBDVrwhIWs6ydYxYu52JRgUZpJJq/R cSazDwGujV60WD+acB7mXtk1YSN66eV3ec1M79ctIYnD7xIb62+nD1GzDh2SSfiQRc1k 7TM05OMYjU/yCJZNeWC5UPAQx79xsxjSmbXAJwMxuoFi2vhg85J8EmA2GV+RzayH3GMM y8l74Z7JaKFu2Iq2iTDc7GTyw9mfhpTqqCNLVPM+8CRSSpTIz4x7M9fCjGjE3HEehz2m GEzpVn0HoVd26Xr7jV/bMVFdO5Whb5WsFnqRzxl9dkGl5YEgX0OcOwy726ARk8YkAp3j dyaA== X-Forwarded-Encrypted: i=1; AFNElJ+shdt6tJ7tMu886/VtnW+c4jOIS/qlix9/5DDlaI9SwiklqByUPvzHZZHAt55C93O+vFGkxPEtechZIJw=@vger.kernel.org X-Gm-Message-State: AOJu0Yw5XFT0jRYBud0RNB56jl7IlMMhVh7dN5mAj7guhWlbKHL5UdaK qRQcFR7eWg1QOSI+ZtWCWTLSA9LACcxT+xhdIjVgzDx7Ep2Wxe4X6tGg X-Gm-Gg: Acq92OFsIROi3IVoDpFontALQ5gUzs9RxXJxsmsPs/sOksUjDbFCo4JV0JcMcGJwhap GER4vapeGOQHUL9hhPTUf/OFdSFrGS016ucnMGzhugWunmrtcJk2xgRRKOyMbu2IM6VbiTWT4NN OiGFaMri3oTjy9CrjlxPoNkPskf6TRKETkKvh+cb5N8eX3b6kPFosxYQ0bHxLtupMq57mP8/jx/ /ucCVPuEEdtTOKsVj1oIP4rWRVokahy23Jf53m6/vKPw27got2gcGIkcYvVr1Ob5/LLOYuR775X 5JI53HXHNLcnD2wDTFpHhj3AIGT8RSSlQHs9mZLOBxL5aC99RIs+szaMHnQ3ATz86EBp+6sqSyx G/cqMrIZxEQXAwh/LbrRAo3x3WTc1ZwsCtKmWaACjy5ofRF/xNNegoj0LWjIMKSZZY47ij3R2GM hsHXKT4cwvsiadGU9BbR1jZWHM/DLPn5dqBDX95pkttyX4z/jbmPmmINNF+g4FVj+Uuny1XrSf8 KTps543rcfTDEGa9ePcZic= X-Received: by 2002:a05:693c:2285:b0:304:3c33:7ad6 with SMTP id 5a478bee46e88-30449001dd5mr10880555eec.11.1779889331603; Wed, 27 May 2026 06:42:11 -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 5a478bee46e88-304ccdaa124sm311702eec.11.2026.05.27.06.42.07 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 27 May 2026 06:42:11 -0700 (PDT) From: =?utf-8?q?C=C3=A1ssio_Gabriel?= Date: Wed, 27 May 2026 10:41:48 -0300 Subject: [PATCH 1/2] ASoC: mediatek: mt8183: 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-mt8183-probe-cleanup-v1-1-4f4f5593c8d1@gmail.com> References: <20260527-asoc-mt8183-probe-cleanup-v1-0-4f4f5593c8d1@gmail.com> In-Reply-To: <20260527-asoc-mt8183-probe-cleanup-v1-0-4f4f5593c8d1@gmail.com> To: Mark Brown , Liam Girdwood , Takashi Iwai , Jaroslav Kysela , Matthias Brugger , AngeloGioacchino Del Regno , Chen-Yu Tsai , Shunli Wang 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=1586; i=cassiogabrielcontato@gmail.com; h=from:subject:message-id; bh=VzV/fPvjI+XqWxKprvzJZVYA2YFkSP4aBOscYa8+RWs=; b=owGbwMvMwCV2IdZeKur/u2bG02pJDFliX1YeEzh78zWH703pVZqrvTeuWL526atwxjdhBwS39 7CtZm1L7ChlYRDjYpAVU2RZnbTIck/Xg6v1cSs8YOawMoEMYeDiFICJfDNm+Kc1XYkx5/BGR6aP S5Jv73u+L4OR4d7Hw36J036ccnm7bNNjhv8JapdZPIUlUs+z7D+Tof32xs24+sMPi1v/nz0x85e 09lsWAA== X-Developer-Key: i=cassiogabrielcontato@gmail.com; a=openpgp; fpr=AB62A239BC8AE0D57F5EA848D05D3F1A5AFFEE83 The MT8183 AFE probe can assign reserved memory with of_reserved_mem_device_init(), but the assignment is never released on driver removal or later probe failures. Register a devm cleanup action so the reserved memory assignment is released consistently, matching newer Mediatek AFE drivers. 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/mt8183/mt8183-afe-pcm.c | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/sound/soc/mediatek/mt8183/mt8183-afe-pcm.c b/sound/soc/mediate= k/mt8183/mt8183-afe-pcm.c index a7fef772760a..49a69728fd72 100644 --- a/sound/soc/mediatek/mt8183/mt8183-afe-pcm.c +++ b/sound/soc/mediatek/mt8183/mt8183-afe-pcm.c @@ -766,6 +766,11 @@ static const dai_register_cb dai_register_cbs[] =3D { mt8183_dai_memif_register, }; =20 +static void mt8183_afe_release_reserved_mem(void *data) +{ + of_reserved_mem_device_release(data); +} + static int mt8183_afe_pcm_dev_probe(struct platform_device *pdev) { struct mtk_base_afe *afe; @@ -794,6 +799,12 @@ static int mt8183_afe_pcm_dev_probe(struct platform_de= vice *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, + mt8183_afe_release_reserved_mem, + dev); + if (ret) + return ret; } =20 /* initial audio related clock */ --=20 2.54.0 From nobody Mon Jun 8 18:57:43 2026 Received: from mail-dy1-f179.google.com (mail-dy1-f179.google.com [74.125.82.179]) (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 7860342188B for ; Wed, 27 May 2026 13:42:17 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=74.125.82.179 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1779889338; cv=none; b=B7y46ar2J7H8bH4L8o3H4qH6RPZjDvyB/E32X5NZj4VxpB4JgE87D4zMkvYzykvVIVF6gTO6fKusxrPI1tYOMccyQgtkNGL56k/bT/Rgxye+4LSw3ZPr0nCFAmqfYKLb8pfeiLxrZwDC4XjwUBmNtmJmMspaefQ2mOc++zo6t5Q= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1779889338; c=relaxed/simple; bh=InHqJ2PNAaclYU6DB/4BCMiDFr1sW1hmcux0hzUPPiE=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=FK2pNAi9oKHliLbp7CdUcJaK9zdWbdQeEkAdgjkN1WkjUYNkRrLYSbk9cRIURV4DGzJJBzhMK7VNDZzUkP1padlFg3/MmCkYJsRhJLOntrQFzBqVHDqSb5U0I5AA6xTrb6zpv6NyWTSmp1/wBkqAp4OkNHvyzCCnRc46ouhRcl4= 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=so8ndgTR; arc=none smtp.client-ip=74.125.82.179 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="so8ndgTR" Received: by mail-dy1-f179.google.com with SMTP id 5a478bee46e88-3044857f09aso7329305eec.1 for ; Wed, 27 May 2026 06:42:17 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1779889336; x=1780494136; 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=LPQMUeKZPxsEa24h/tMGbugrrlbgcKdXRN5CjzvNfg0=; b=so8ndgTRV6zGfnA3zRCb15rFM7brydNusYaTRlXwOKsnXN9a1GzOgTnJK3A3+v3qen ico02iMeoSh5piHA5MKQ1TBDZc7CO4yZqrSOSNqZptqqy4DPMwI1sNNKQOXmHU7DcCH1 ri7vftJwG85+pW0fV3xHZ13f+FThghEr/9ON4mzFCyhXwGX5sZQ2Xtt9/mjAihYdE/X+ rLzHCsjfjl9ETDpSCga25x0EMMbEfLbLYDLgBNnyBmJzG7MJcP4ljIN4ZQOYLmTRkGAw kIpjFHNzZUmfQPs6UiUv5RKWI10wJlvi/uKfEUZr5nVSux/5PBMZXKpTzozJgFhRqilj MjjQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1779889336; x=1780494136; 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=LPQMUeKZPxsEa24h/tMGbugrrlbgcKdXRN5CjzvNfg0=; b=JCpQdo1IQ1zNchxk+ClNlugbsLaqy2Vv3nDyr4Q69khWI1ByNSPdHx2FHSM42iYwzP 0XJ6zO5sKyH3oblBkTzHIR8SWgfkR2T7AwdXPDgWd2+HNDJ9X6dMNztemoF3h6xIrN2b Y5B7CHqdw9X68a0JvwhHhki+X92I7IuAKcNALKGK5eSzd47NtJQ8iWDduIkQFFVCcOyb L3HsTkL+ITcz/HcCqbk4u8cybjEHh48rPI23u4M4hmDjX/mHgVPWRSLTPGGOl2niHQd6 d9oqbS6bWcIuSuNayztSFwS6TSl8RKDRlf68eSnJpIfn6hrm4nbLkvSgRpFDgJL0tYCL quKg== X-Forwarded-Encrypted: i=1; AFNElJ8IuCrfOm8uEibcaQvJbLkrPKUAowxBbJdRcNzWPk4Doag3kNX+8kUAIOQ+XygoQk8n8pLS0G6p0/k9skw=@vger.kernel.org X-Gm-Message-State: AOJu0Yy0wufTGcKR7gGNorFX710GUNEngmwifK8/51V+3Bs12x5RmCr1 4YcvjVIgOi8Q+g0TbGAuxq2gAUhAeDweiEgFeaS0GVSvDQA5a7WdSjmG X-Gm-Gg: Acq92OHPVP7EAMxneVKcTttqT8qcR3SRtKgjK3r6wXKHLYoNEqNiHPrjleq3B0vP83F 4PbX5M/I0PjUFA8YEe4K9Qn9WWvKuGWq79/dWF79bzqx1JOFeMNfBR6HaaM61t+CDLsKLeZ/SmF qz5ckIjepH6sIikJYV3tKWqZtxld8b1DK/MEuGH9mBY2BpskjgVfHpW9VNw8N5zi8dul9ZgZZhP wEVDBwjmo1hRDpJlg19I+4MsTi1inbs5VVswZBNPM0+wPbYGpYAccQ96CBEsv2CF4AQ7aC+Goes Dj17z9ix6LVum91nGzdzT/9vScnLcyIyRBfmKujnfOmNhb3OTm2Ph+nsNs7WDFaPfCJXy9WfbVY diyIuZnbqmAla5x6V3wRLhvx++Uv5VStnfmWH/XOBTGisjnLSU5F1iuOhqOA+HwmoNd3GdO/1f+ Rgon/i0df3u1zdpUNgQuPuPm6Caepf+PKxy4Chv/Eshgh65IqMjgHARJKpLZrNolyM1rYwnekAQ HtZRAjj1IZL X-Received: by 2002:a05:7301:a84:b0:303:f2fc:c483 with SMTP id 5a478bee46e88-30448f30872mr10369074eec.1.1779889336443; Wed, 27 May 2026 06:42:16 -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 5a478bee46e88-304ccdaa124sm311702eec.11.2026.05.27.06.42.12 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 27 May 2026 06:42:16 -0700 (PDT) From: =?utf-8?q?C=C3=A1ssio_Gabriel?= Date: Wed, 27 May 2026 10:41:49 -0300 Subject: [PATCH 2/2] ASoC: mediatek: mt8183: 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-mt8183-probe-cleanup-v1-2-4f4f5593c8d1@gmail.com> References: <20260527-asoc-mt8183-probe-cleanup-v1-0-4f4f5593c8d1@gmail.com> In-Reply-To: <20260527-asoc-mt8183-probe-cleanup-v1-0-4f4f5593c8d1@gmail.com> To: Mark Brown , Liam Girdwood , Takashi Iwai , Jaroslav Kysela , Matthias Brugger , AngeloGioacchino Del Regno , Chen-Yu Tsai , Shunli Wang 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=1813; i=cassiogabrielcontato@gmail.com; h=from:subject:message-id; bh=InHqJ2PNAaclYU6DB/4BCMiDFr1sW1hmcux0hzUPPiE=; b=owGbwMvMwCV2IdZeKur/u2bG02pJDFliX1YZNC5ZftYw1+3/caOwl8IefBtEl/fymm+WYIh0t VtzMUaso5SFQYyLQVZMkWV10iLLPV0PrtbHrfCAmcPKBDKEgYtTACaS/oiRYaI35zZxrdy1CmEm DqssLOu3sKvesLk43WZ6wGIT1fwCe4afjEW/dq9n3H5PYsbpJ0KVHS++HFYIfaoRmLz5eE3/+xk 2/AA= X-Developer-Key: i=cassiogabrielcontato@gmail.com; a=openpgp; fpr=AB62A239BC8AE0D57F5EA848D05D3F1A5AFFEE83 The MT8183 AFE probe uses pm_runtime_get_sync() before reading hardware defaults into the regmap cache, but does not check whether runtime resume failed. If regmap_reinit_cache() then fails, the temporary runtime PM usage count is also not released. Use pm_runtime_resume_and_get() so resume failures abort probe without leaking a usage count, and release the temporary reference before handling the regmap cache result. Fixes: a94aec035a12 ("ASoC: mediatek: mt8183: add platform driver") Cc: stable@vger.kernel.org Signed-off-by: C=C3=A1ssio Gabriel --- sound/soc/mediatek/mt8183/mt8183-afe-pcm.c | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/sound/soc/mediatek/mt8183/mt8183-afe-pcm.c b/sound/soc/mediate= k/mt8183/mt8183-afe-pcm.c index 49a69728fd72..2634699534db 100644 --- a/sound/soc/mediatek/mt8183/mt8183-afe-pcm.c +++ b/sound/soc/mediatek/mt8183/mt8183-afe-pcm.c @@ -844,17 +844,21 @@ static int mt8183_afe_pcm_dev_probe(struct platform_d= evice *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 regmap_reinit_cache(afe->regmap, &mt8183_afe_regmap_config); + ret =3D pm_runtime_resume_and_get(dev); if (ret) { - dev_err(dev, "regmap_reinit_cache fail, ret %d\n", ret); + afe_priv->pm_runtime_bypass_reg_ctl =3D false; goto err_pm_disable; } =20 + ret =3D regmap_reinit_cache(afe->regmap, &mt8183_afe_regmap_config); pm_runtime_put_sync(dev); afe_priv->pm_runtime_bypass_reg_ctl =3D false; =20 + if (ret) { + dev_err(dev, "regmap_reinit_cache fail, ret %d\n", ret); + goto err_pm_disable; + } + regcache_cache_only(afe->regmap, true); regcache_mark_dirty(afe->regmap); =20 --=20 2.54.0