From nobody Fri Sep 25 23:53:12 2026 Received: from mail-pj1-f52.google.com (mail-pj1-f52.google.com [209.85.216.52]) (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 0022844C65C for ; Mon, 7 Sep 2026 12:03:43 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.216.52 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1788782625; cv=none; b=IrYG/tjQ9xK1D/RAUNx+P7qr6HdK3W2W6ThtRrg3cYV8UgZoXLCksgkdGgxXQ6VsxQ/x9eS5cYb+SzrIy+5c9JD8+v2y0myWVyJm915MikPKWhP0GarE9TH3U/FXleilDVCteINsk+0FEVunJlDJMvxIw6CI5Q+UrXGK1gDTuuY= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1788782625; c=relaxed/simple; bh=ht28FDJd62sIVqArBKyNm8KvUqEKJhifE3cS4QkTo8c=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=HoBGjSmbGu/bw0WUYAI2IlcN4fFGd0+ia2wO6vBFe0ZW6GbsrDR42jpyBw5GdWSpNWyyTXgDb8xhf69ecAjUNv6DCX7/W46hG/6HTyQwDm9QM+2x5F32Us3qWeYL1WtLtuQTQoG5H5uvHSGFtgdvZ+RALRH48PtywWrfZC9iBOg= 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=q60wGK22; arc=none smtp.client-ip=209.85.216.52 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="q60wGK22" Received: by mail-pj1-f52.google.com with SMTP id 98e67ed59e1d1-39682983a0fso3738574a91.3 for ; Mon, 07 Sep 2026 05:03:43 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1788782623; x=1789387423; darn=vger.kernel.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:content-type; bh=Do7a7ymRYAh80Ie6O6Ei22SbBIZZ1+J+po/v0yFfkwI=; b=q60wGK22hd4GaiPP9BXilA3CHaA5TO5LDeMbDL5KX1MMa/KBL15PpzMz0HBYNVNIGp 9PuVjV7Sm6ID8q/hKGY/2oZXMct+QkGk1eN+3KS1MVAu5Jfz10LNQaE4ArxQcSs/KwSs Kcs5Mrr9z0eSEpI272I3sp1aZfyQR7KoVZVKDzqCzeSVTZTCwzYd9Y77LGmqB8Yk1Hn1 khojlW0ENcA5L2jKsrHJCaroNDmfY411p2WUKDhC/pInsKOrgKg4OLHyd0P79R68EFRi O8X93EJx2KuQNkTsGxGxKpMLESc7x8lsb4Cp8M2Clfn53h5bdxk9+JeXGFv/+mvACPHJ J7ww== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1788782623; x=1789387423; 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:content-type; bh=Do7a7ymRYAh80Ie6O6Ei22SbBIZZ1+J+po/v0yFfkwI=; b=cHjCs4+BB+UJ/hptcmPQjPNqEBc48HRNZZkjEe4Yrje/ev2xSodwafd9vqxkEjNv47 Jsy5DPS5nm3elFuLDa+H3A11hzXgp0hyTvrkLtr6jcDTHEpB/1WuN8kEjG3nlrX/nfov JIaMgO35BobJRT9N/8MGQWYghk29yDOidA/OlxMRh3hES89Z2Kned/fLXSJuZZUiRkBQ aUMn7HHGBfVKgV9mO1C+oJhIY5+H0JxHWFdkxBmQKtsxoTm3fMK/cOXfkabZt5hXtPKl 55fPRMKd15u2SGS5UNJbUfEO8cP15ObWqjRE/9a6WFIlIgc5QBuut52K41tWW5nrVesb vlaA== X-Forwarded-Encrypted: i=1; AKwUvBz5OXYDc50oOiqcouQdBak00+g7XHYCH7YhuuQQ/lY6dXM7jrO69fAxV1XjWHfs4qm2w7LCAU7xzGe0A24=@vger.kernel.org X-Gm-Message-State: AFuF++nfSKmeLEELbQzWYlo5cCjDvyTRLdZFhPx03cIruhzmDF17g2DD d8pnhhvKXYqX/NDdebId9sZoKatnlXLpn9CCrD9HOqkffofLeastvfVc X-Gm-Gg: AYBFou27t3LMQ5qQ6Z36lUXXDNKIRaE8enA3iSCRaMCkBHjoqqD9YAUdzHgiV5AmAB0 ovvRT3kcj0ENSxBi7qvVPSTLnbXq+SS8eppd6OfygBsD8Q4D7u/KXAFqbMG9SsPy1ZfuijuGUkR gxnlJzp51A/lXxuKRIuK3bINpYXqH/6zdARc4FUFruaDxQLFs1Vvcc9uwV2sfn2RK6Oyaq328zS WvakXBrDONB4k0Gk6UOZIZ+f2HCDzoM77tK+ml/6xqMlhaz9hXTDQAXy+N4cP00qsc4+5m3a6++ R9Hed19k+VNuvOw47UkQN9l4YUGS49Uv5Bkdzc4XHarHG/uXXfKc9pUGh/36wi06fUrDjlJ1nLd wEgbDb6WOTLf4qav2z5SGKwjHff/+lLHN0VXI01FDzq0x8UzwmHbV03HUJG3e+67/qkY0PwAM1P YpakWVfxBzRkqQruL586K4ABlwFzv2/M58LdpjV6gkFGDGTWuBTKVQBj6sPcAW48sZO1hqHpFb7 fXyW868BKZSjr1TuqZVR7j8LW/f1aSm3vj70X0YeW+l8eLNDLEjgaWC7hpRv/EX0eQG7B/h+MiA Gm84 X-Received: by 2002:a17:90b:3c05:b0:393:288:29e3 with SMTP id 98e67ed59e1d1-39b26106c44mr34312637a91.10.1788782623126; Mon, 07 Sep 2026 05:03:43 -0700 (PDT) Received: from phuc-desktop.. ([183.91.15.56]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-2db14ae85eesm43064815ad.82.2026.09.07.05.03.39 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 07 Sep 2026 05:03:42 -0700 (PDT) From: phucduc.bui@gmail.com To: Mark Brown , Matthias Brugger Cc: Liam Girdwood , AngeloGioacchino Del Regno , Jaroslav Kysela , Takashi Iwai , Cezary Rojewski , Kees Cook , Kuninori Morimoto , Trevor Wu , Douglas Anderson , linux-sound@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-mediatek@lists.infradead.org, linux-kernel@vger.kernel.org, bui duc phuc Subject: [PATCH 1/7] ASoC: mediatek: mt8188: mt8188-afe-clk: Propagate clock initialization errors Date: Mon, 7 Sep 2026 19:03:04 +0700 Message-ID: <20260907120310.135693-2-phucduc.bui@gmail.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20260907120310.135693-1-phucduc.bui@gmail.com> References: <20260907120310.135693-1-phucduc.bui@gmail.com> 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 Content-Type: text/plain; charset="utf-8" From: bui duc phuc Use dev_err_probe() to handle clock lookup errors without printing redundant messages for deferred probe. Propagate the original error from tuner initialization instead of returning -EINVAL. Signed-off-by: bui duc phuc Reviewed-by: AngeloGioacchino Del Regno --- sound/soc/mediatek/mt8188/mt8188-afe-clk.c | 11 ++++------- 1 file changed, 4 insertions(+), 7 deletions(-) diff --git a/sound/soc/mediatek/mt8188/mt8188-afe-clk.c b/sound/soc/mediate= k/mt8188/mt8188-afe-clk.c index fc6cb3f0469e..42878c8a6529 100644 --- a/sound/soc/mediatek/mt8188/mt8188-afe-clk.c +++ b/sound/soc/mediatek/mt8188/mt8188-afe-clk.c @@ -416,12 +416,9 @@ int mt8188_afe_init_clock(struct mtk_base_afe *afe) =20 for (i =3D 0; i < MT8188_CLK_NUM; i++) { afe_priv->clk[i] =3D devm_clk_get(afe->dev, aud_clks[i]); - if (IS_ERR(afe_priv->clk[i])) { - dev_err(afe->dev, "%s(), devm_clk_get %s fail, ret %ld\n", - __func__, aud_clks[i], - PTR_ERR(afe_priv->clk[i])); - return PTR_ERR(afe_priv->clk[i]); - } + if (IS_ERR(afe_priv->clk[i])) + return dev_err_probe(afe->dev, PTR_ERR(afe_priv->clk[i]), + "failed to get clock %s\n", aud_clks[i]); } =20 /* initial tuner */ @@ -430,7 +427,7 @@ int mt8188_afe_init_clock(struct mtk_base_afe *afe) if (ret) { dev_info(afe->dev, "%s(), init apll_tuner%d failed", __func__, (i + 1)); - return -EINVAL; + return ret; } } =20 --=20 2.43.0 From nobody Fri Sep 25 23:53:12 2026 Received: from mail-pl1-f173.google.com (mail-pl1-f173.google.com [209.85.214.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 A69B045D188 for ; Mon, 7 Sep 2026 12:03:49 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.214.173 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1788782631; cv=none; b=apmX2gilJFjKD9G22utk6CXfFiIchpjrmWue1Bj1qTEc4SU3JFC1iJ62fmhUHva/iHZlic2gfbCmOFGXX5iOe/h77fZzcIGPc7uYwyIw/MoGUkqin8pulDWIF8/ekuIy+/J1ykqWgKHu7jFlyc6DvDR7TJjS/fjrxihZHz0w2CI= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1788782631; c=relaxed/simple; bh=KhkOmwnapS3cd429q+vblKGN5LA3Ldi5GUgHfE+aNuQ=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=ACI8f/vFTU1IMpi+rofxuoOXoAYHsecpF8S1GI1vujx0YgU0aibp4T+tsuE6WnXZeicQijY2yxwhjFAWGq1+K0KjC1IrO4JlOzRAPhZOlMjUubun94TxK1bGAJIiNPS3cYxTAHk9Cazm7PHI4KhJmAi++WsFso/sXIfAB5WNlNs= 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=e24fuVsA; arc=none smtp.client-ip=209.85.214.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="e24fuVsA" Received: by mail-pl1-f173.google.com with SMTP id d9443c01a7336-2cc891373e0so36471705ad.2 for ; Mon, 07 Sep 2026 05:03:49 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1788782629; x=1789387429; darn=vger.kernel.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:content-type; bh=Ea6lVpnhWbYQ3wI5UpSM25XcXKci0dt7/GlZ6PuirvE=; b=e24fuVsAqMfoPUuO44W+3zKWW35+o379AfNSREg8qlsOweEnUGK0T2PpKZA0PCS+G3 k4vzbi0wjQD6mLEUMmT/ps83bvEB3Qo38qaUxZLR39ZtFqhvdRNhIORtkdZkTjWOY/EX JBQdrvI/TDDqE6geGBpLdo1euIr3PcCfKiAEgAUX1lQRinPSvqAXWZys9Sx0W04L4dA8 y4Wm9b5k5WXJQWhVFkTIbLmFreeNDARx1IBx8LY9gCTMDsVcnQed8ovc39Jd+xq2VOR7 /dl0PRDpOKmFIEozKQrPxXQFrGPpbku4iYvhZE/jUdErNn7TMHNCd4BF1eAaI1KikPt6 hM0w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1788782629; x=1789387429; 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:content-type; bh=Ea6lVpnhWbYQ3wI5UpSM25XcXKci0dt7/GlZ6PuirvE=; b=IqmBjaAGdo06KJ567xan8cX6GeIvplyXHERuM28x31A5CsR449plNDKW8CtsBfmM30 bu67jGhpcCIEKVw54GvBNmf7FukL7iB83yF02zNJMYVGpTsjFYYex4l5V9jimEcgg79h F1uYVltTfqyS2JAZ3duChHg+NpjiMLfQH/iRMA3IZ9ulfqoaSunYKH3QY6sIQZOjoUfV huZ+BmCyT0zkkHHiPLd3l3QW5MMPU8V549h9AO0polXVImzUn8CVWSffQX8iOV3+iUn+ oXHvFaiU5zFVyeygIvp9R6uxKX2XAP9pBYijCJN4RR9KYx6m12Dqwwo329kbjkpbXHok lDFg== X-Forwarded-Encrypted: i=1; AKwUvBytCsOlds93uyr9G4DOwn6tb0vkyGs1gx5J9+c8a10NKVal47qgN1WajJUu+W3va08gV0NxAR0ZIine7jA=@vger.kernel.org X-Gm-Message-State: AFuF++l6XY4MXvORnKBl2aX8R1XF367XqENd3qmJVH+hXuuJ89fiZX6r x20GnCYHnKxAlwQ8tTNbXTd8uvoS4Fv5Wbm+lIINqgFpOA85hbYVX1qR X-Gm-Gg: AYBFou3fLBYGJRn9kKLf7BthvyINtIjKLZT1m/bbX1kUsrao5kWAix1um/+A5MIfV9P xJfyDthdaLgoIARgbvCmgdw8Z8ytBbikH+Mxm59USn58xucmcYIsYEoww7v21gdGMULJYRAWl1z +xvEMOnb6nPIHOu7lZTFY+Kr6LwJRp2YPOyFtyl/6WMClHeyNzJU1GQYf4MC9i7wpXTfpXbegTJ bzimg0NrnLtvXL7CDdWtw/wCCPXX7WmEkhhhdp350FuJKVNVxq4t6c7cQiAMST/wTMlvFhXEW6t QGWkbg3JzBPIETus0OhrnNMqrLTlkhyd0s77iD3Yv/CjGuW0KGr/JcO6X4kVB+g5mDsmtseLbBt N5pnbgt1VKxQrxBk+d4dKfVqctvCNwJ3zL6BaU/pV0Fi1BIp+BilPqe/GAH4gnP/FiXmN6mWJr9 iz8Uq1rBG5fxNphV2pb3LnnaB1nLGe3UixI7O7bQDp35zhY/DxsiguIHIceOyc+bGO6X8/6WauQ SsbMvaJ0vGqXnwuDa0pLcJ0Ad4UQ8CLv4zxUqyapCi4OABbGFMhrpd8ChAx9Hue9qoNS7378YKn w5Nvy0SYrVrxAb0= X-Received: by 2002:a17:903:40c9:b0:2d6:f6ba:263d with SMTP id d9443c01a7336-2db124b451cmr310785685ad.7.1788782628815; Mon, 07 Sep 2026 05:03:48 -0700 (PDT) Received: from phuc-desktop.. ([183.91.15.56]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-2db14ae85eesm43064815ad.82.2026.09.07.05.03.45 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 07 Sep 2026 05:03:48 -0700 (PDT) From: phucduc.bui@gmail.com To: Mark Brown , Matthias Brugger Cc: Liam Girdwood , AngeloGioacchino Del Regno , Jaroslav Kysela , Takashi Iwai , Cezary Rojewski , Kees Cook , Kuninori Morimoto , Trevor Wu , Douglas Anderson , linux-sound@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-mediatek@lists.infradead.org, linux-kernel@vger.kernel.org, bui duc phuc Subject: [PATCH 2/7] ASoC: mediatek: mt8188: mt8188-afe-clk: Handle tuner clock enable errors Date: Mon, 7 Sep 2026 19:03:05 +0700 Message-ID: <20260907120310.135693-3-phucduc.bui@gmail.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20260907120310.135693-1-phucduc.bui@gmail.com> References: <20260907120310.135693-1-phucduc.bui@gmail.com> 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 Content-Type: text/plain; charset="utf-8" From: bui duc phuc Clock enable errors are currently ignored when enabling the APLL and tuner clocks. Check the return values and roll back the APLL clock if the tuner clock fails to enable. Fixes: f6b026479b13 ("ASoC: mediatek: mt8188: support audio clock control") Signed-off-by: bui duc phuc Reviewed-by: AngeloGioacchino Del Regno --- sound/soc/mediatek/mt8188/mt8188-afe-clk.c | 21 +++++++++++++++++---- 1 file changed, 17 insertions(+), 4 deletions(-) diff --git a/sound/soc/mediatek/mt8188/mt8188-afe-clk.c b/sound/soc/mediate= k/mt8188/mt8188-afe-clk.c index 42878c8a6529..ecba13eda440 100644 --- a/sound/soc/mediatek/mt8188/mt8188-afe-clk.c +++ b/sound/soc/mediatek/mt8188/mt8188-afe-clk.c @@ -260,15 +260,28 @@ static int mt8188_afe_enable_tuner_clk(struct mtk_bas= e_afe *afe, unsigned int id) { struct mt8188_afe_private *afe_priv =3D afe->platform_priv; + int ret; =20 switch (id) { case MT8188_AUD_PLL1: - mt8188_afe_enable_clk(afe, afe_priv->clk[MT8188_CLK_AUD_APLL]); - mt8188_afe_enable_clk(afe, afe_priv->clk[MT8188_CLK_AUD_APLL1_TUNER]); + ret =3D mt8188_afe_enable_clk(afe, afe_priv->clk[MT8188_CLK_AUD_APLL]); + if (ret) + return ret; + ret =3D mt8188_afe_enable_clk(afe, afe_priv->clk[MT8188_CLK_AUD_APLL1_TU= NER]); + if (ret) { + mt8188_afe_disable_clk(afe, afe_priv->clk[MT8188_CLK_AUD_APLL]); + return ret; + } break; case MT8188_AUD_PLL2: - mt8188_afe_enable_clk(afe, afe_priv->clk[MT8188_CLK_AUD_APLL2]); - mt8188_afe_enable_clk(afe, afe_priv->clk[MT8188_CLK_AUD_APLL2_TUNER]); + ret =3D mt8188_afe_enable_clk(afe, afe_priv->clk[MT8188_CLK_AUD_APLL2]); + if (ret) + return ret; + ret =3D mt8188_afe_enable_clk(afe, afe_priv->clk[MT8188_CLK_AUD_APLL2_TU= NER]); + if (ret) { + mt8188_afe_disable_clk(afe, afe_priv->clk[MT8188_CLK_AUD_APLL2]); + return ret; + } break; default: return -EINVAL; --=20 2.43.0 From nobody Fri Sep 25 23:53:12 2026 Received: from mail-pl1-f179.google.com (mail-pl1-f179.google.com [209.85.214.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 27AF4488230 for ; Mon, 7 Sep 2026 12:03:54 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.214.179 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1788782635; cv=none; b=ulqspABSxSiR1TTyGro7rAiDiGOnfe5gY5qXebQwqVUFxIow9VNQ3c2MaVrElkNJQPgP2nkZwEO7w6HMjgEcFPYSNcHmifb/KTuDom7ZiL7iWtlBniXIh8z5xptcn2JfpNoMjyzPokv47ITcSN0/F5p2auQZx/T6CNI8fD4DtlA= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1788782635; c=relaxed/simple; bh=aiZEyKgJmHLp53zVzZj5+EjYzrNr0SLdC82B6Z9NXh0=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=BnuNqKpkpqwVFkGpQMq+YDh3EQCSW9BvLwQIg6o5hz2tJhB+z1K56Drn6MuwYjyVvxsX68FVgbgYaE5kk9n22BXSG5BIE05SyG1UbGVwb9Bsf3IBpcIf+8RA6pkYnGN6SxjPJv+bTkj8gDHXw2R51dLxrUhVptTofpvw7WVeuxA= 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=SDAmdslf; arc=none smtp.client-ip=209.85.214.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="SDAmdslf" Received: by mail-pl1-f179.google.com with SMTP id d9443c01a7336-2db3305f94fso22468845ad.0 for ; Mon, 07 Sep 2026 05:03:54 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1788782633; x=1789387433; darn=vger.kernel.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:content-type; bh=jz0kWZe5bmFipVumA0Zj41BqLLQGOY62dKowlWDNz90=; b=SDAmdslfCQP6+ORYJG4IWH02GjkxsEMmHeisv6CYeZDJ2AqqVRmH1AU/fM10fzYm8L PyyVJycyIKE2AZaeakb7qzh3tlCO/1R+dYkwfwYlZEdqghxy/1gKwIPg2pBd5WMCB1lZ uv/GMSdCvqUhivS7gcKIoW0ezPywpJJb/We6sneBTFJnByX3QHfSXt4owqgG+i62xVKX BNTnaeHbYvlyQNit8UfJFVGvvO7XBMHevIvSwXhzqJa8YqapOEjuZZ3hs4P6MAZtcTqx +ON0DArSfkKE7tZ9Ztz72dwgDUduK39bt+2UZoeMy4vhwHMTzVtk3xZECQPsYr4pJagk tLLg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1788782633; x=1789387433; 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:content-type; bh=jz0kWZe5bmFipVumA0Zj41BqLLQGOY62dKowlWDNz90=; b=Rofm/6NwFAZcB8kK6D3rUnF6UJprMZ5ITFI8Sc2Vaq3vL9Bp1xDVVYLoH791iLgXK3 CTily8AOdxoqxRygklBNqjRXT4JhD2fEYJvc05mo31VDVmYsXwAeEhwAme1DL0S2JP+t fE7vuIe6mmxtlm4AzFjjs/J+BDBjsU+iwb1O+BX9hgH4dkV7deOPMJ6LvOKelE2BD+oX HAkaphZOOscjuH6wged1GDqXkZtn6DZ757WRHAhF0StT3llXBtbctArpQCK/6lMN6czx wfmd1Bn4iRIM3VJmBjSAlACFvD+ygSz5qkhb73FBnQ6fUbn57/arfuQMJvpFCf8e+S7I nuNA== X-Forwarded-Encrypted: i=1; AKwUvByt4qw8cHT5k5zpmPxj8FKs5fKj6DZ7ni2VFplqUUYVhPnDDnR+btitu2QI9M9y9wO2TnlF8oTriZLVPKw=@vger.kernel.org X-Gm-Message-State: AFuF++nw2yprvvSBGD18V9AEbIqyF7EOE92pVcM7NldawQ/qBXHEHT9P TCy00lieid7JDh+AnI1YEvWbbGFL5v3euG910NfAOwZcPuYyGkBiCh8C X-Gm-Gg: AYBFou0kZOTzp54MPvnhMmbZns5W4UINFW8RkuEPI7AYilMnBkrSSlBI5vz1qKo5fbU p53oH15V637rtSpaNiXnIUg5HArGdnoTl0OftytCebS+BjmnWTED0Wke1gq0dx5hFoLwky4aM72 UZ4Nw4l3JJM29dH7ca58ISVBjZyN9OvTKL5C864Lavbr2eKd5LQPgY4GSg1e67uuMCb15hRgLzc hFoaf3O7OOkPRSHbchoqPddTNBCwJ5eMRy3gxTp+vHb3HTUsi45nvFFD6ndwjIxPitiSMEo1tvf P0z4jMs6qBrounbuWT8hIxs+Xbwt1KeqXoxLjmHiEewt/Tej4/uTX7CwjUX5MJCK9AsXTLcf+Lh Y0SnijTWb5N16O5ADvlLomfm4rVDgXEde2dPE/ds55PM/ZM/7RH9JKz3jw/sn4Gaj/oHFaLcwzO 76ncDOnFzkKHA11MzWYneQUjla4+3iJUypEsHUucanM69TlwJCCKvkc0v4iBmlftH+a3mufzhX+ P2JfF3CLqXxKVX0XKzc6SOYDZBx8BIIu+v1Lqr6gUknrphGmGeqg9ta/iIQW2o/cS1dihIKYCh7 DYAI X-Received: by 2002:a17:903:4501:b0:2da:f7ad:cfea with SMTP id d9443c01a7336-2db126679c3mr222996345ad.8.1788782633459; Mon, 07 Sep 2026 05:03:53 -0700 (PDT) Received: from phuc-desktop.. ([183.91.15.56]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-2db14ae85eesm43064815ad.82.2026.09.07.05.03.49 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 07 Sep 2026 05:03:53 -0700 (PDT) From: phucduc.bui@gmail.com To: Mark Brown , Matthias Brugger Cc: Liam Girdwood , AngeloGioacchino Del Regno , Jaroslav Kysela , Takashi Iwai , Cezary Rojewski , Kees Cook , Kuninori Morimoto , Trevor Wu , Douglas Anderson , linux-sound@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-mediatek@lists.infradead.org, linux-kernel@vger.kernel.org, bui duc phuc Subject: [PATCH 3/7] ASoC: mediatek: mt8188: mt8188-afe-clk: Propagate regmap update errors Date: Mon, 7 Sep 2026 19:03:06 +0700 Message-ID: <20260907120310.135693-4-phucduc.bui@gmail.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20260907120310.135693-1-phucduc.bui@gmail.com> References: <20260907120310.135693-1-phucduc.bui@gmail.com> 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 Content-Type: text/plain; charset="utf-8" From: bui duc phuc The return values from regmap_update_bits() are currently ignored by the clock and AFE control functions. Propagate the errors to allow callers to handle regmap update failures. Fixes: f6b026479b13 ("ASoC: mediatek: mt8188: support audio clock control") Signed-off-by: bui duc phuc Reviewed-by: AngeloGioacchino Del Regno --- sound/soc/mediatek/mt8188/mt8188-afe-clk.c | 14 ++++---------- 1 file changed, 4 insertions(+), 10 deletions(-) diff --git a/sound/soc/mediatek/mt8188/mt8188-afe-clk.c b/sound/soc/mediate= k/mt8188/mt8188-afe-clk.c index ecba13eda440..77511f6fba41 100644 --- a/sound/soc/mediatek/mt8188/mt8188-afe-clk.c +++ b/sound/soc/mediatek/mt8188/mt8188-afe-clk.c @@ -564,9 +564,7 @@ static int mt8188_afe_enable_top_cg(struct mtk_base_afe= *afe, unsigned int cg_ty unsigned int mask =3D get_top_cg_mask(cg_type); unsigned int val =3D get_top_cg_on_val(cg_type); =20 - regmap_update_bits(afe->regmap, reg, mask, val); - - return 0; + return regmap_update_bits(afe->regmap, reg, mask, val); } =20 static int mt8188_afe_disable_top_cg(struct mtk_base_afe *afe, unsigned in= t cg_type) @@ -575,9 +573,7 @@ static int mt8188_afe_disable_top_cg(struct mtk_base_af= e *afe, unsigned int cg_t unsigned int mask =3D get_top_cg_mask(cg_type); unsigned int val =3D get_top_cg_off_val(cg_type); =20 - regmap_update_bits(afe->regmap, reg, mask, val); - - return 0; + return regmap_update_bits(afe->regmap, reg, mask, val); } =20 int mt8188_afe_enable_reg_rw_clk(struct mtk_base_afe *afe) @@ -617,14 +613,12 @@ int mt8188_afe_disable_reg_rw_clk(struct mtk_base_afe= *afe) =20 static int mt8188_afe_enable_afe_on(struct mtk_base_afe *afe) { - regmap_update_bits(afe->regmap, AFE_DAC_CON0, 0x1, 0x1); - return 0; + return regmap_update_bits(afe->regmap, AFE_DAC_CON0, 0x1, 0x1); } =20 static int mt8188_afe_disable_afe_on(struct mtk_base_afe *afe) { - regmap_update_bits(afe->regmap, AFE_DAC_CON0, 0x1, 0x0); - return 0; + return regmap_update_bits(afe->regmap, AFE_DAC_CON0, 0x1, 0x0); } =20 static int mt8188_afe_enable_a1sys(struct mtk_base_afe *afe) --=20 2.43.0 From nobody Fri Sep 25 23:53:12 2026 Received: from mail-pl1-f173.google.com (mail-pl1-f173.google.com [209.85.214.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 B4DA548820A for ; Mon, 7 Sep 2026 12:03:58 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.214.173 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1788782640; cv=none; b=fhr55htLPeDIp3gr+vQ0j10+SR3bEgT+o9XVH5+ppb3mFcw3E9FrcUfaZwc9G87Ug/eMUJmKYg+FEKjwyRiUVmOZTWeHs/iwmEmjEHCaouyB4lixzV/0nEAvcGMvm0JGgrz7sRjQJBiq/5W9GiE/BqJzUmcV0u4Im8fWgLsf8Yc= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1788782640; c=relaxed/simple; bh=u6hxKWuOWYjJlvb1xtyZ0omGkq5FhEfL70A9B9beb0A=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=SOPLVlZDPG3WiZdG/jzDjRZp5QC+QP4b4VdTF+Rog4FPKF01gUlTEUgPKPq3qvZQOIQ7RnwVTxtCv81nNN2DKs5izx5iysjiQVz+bHmi8YjmvVzEzbE7aT4FqLpeDfby1LvevdvcWEgtDfywBSJgiNL6n3Cv9DHN0H+T96UfPfI= 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=CfnHXTIf; arc=none smtp.client-ip=209.85.214.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="CfnHXTIf" Received: by mail-pl1-f173.google.com with SMTP id d9443c01a7336-2d5cad1a6baso29686295ad.3 for ; Mon, 07 Sep 2026 05:03:58 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1788782638; x=1789387438; darn=vger.kernel.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:content-type; bh=x9UdK2e9HQb43MTIsHuNy+QqIiXIInrTnSwN7k6DDQs=; b=CfnHXTIfFS1LyLTQg9XiwhWzoLGg+AasWcX5BzbxcRIWzZhsCkTsfp+Z+YSnh9FY7o yGwsUMLS18FbyMYL0e/fGBbwuMevyhcWPyk2kFWkMRHE1oMIPTxY+JVr27T1az0LZJDa 4RylImEyWS6wdk3Rad0Qkx1emYaQDFa1Ty0UB7rvai4vN5KdaE/0H9yIi43Bf8J+g8/O wp1nMQmBj7xt3qM2ON9uW809wEHIOBCiTVx24xz8JiUDMI8xyPR5ASCh03mxvNP8fc+G bU4M+RUnibfa7AMqJmBywnauPVu+lG1irQJYimG16XF/coP0axGi2evzf6ue+WEpxB6Q dRAA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1788782638; x=1789387438; 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:content-type; bh=x9UdK2e9HQb43MTIsHuNy+QqIiXIInrTnSwN7k6DDQs=; b=Vc+X/XjSwhAM9XtnZmbdqOQ7qVzbJnKsjV3aM+qtkfvwVeLwc2610OEQG6d0FuTVuV tZFdYti9PmVcrhC9S9fl2UhNdWKFgy2jEEVOLa34KMPSRlJC3P085e/4u1rb0M3MjvdP QD9ymjYJpeUSgJ5WZksh04IlK0p3Y0C2JYL/7cDWIrIGpuA7C9xvivqAFGzs8KPlBLps XzADChO8Io9nCpevcTuk9ZPpI7GaiMnvJ/vICa6jWaNZZFb0CYQIo6ZVn5ldih05SzoH lykqjLXKNLSlSgMkWXrKkdK0Bw35XzyPcVmDa1ApSrcRaM89nj3KwVggyNZZ98OnYq6t kUOw== X-Forwarded-Encrypted: i=1; AKwUvByjRBjUZcGQx+Ii5bhOOiLuqV9eO6GUShYjzHvHNppTkjuovAFw0qF4t2QnWwYZn1fvA2pFlh3nIJEEoC8=@vger.kernel.org X-Gm-Message-State: AFuF++n16nsaD2zPYGEFAr7FAvCj1CkZbWXhY0EczHh51jOBcFBHWt4E xVKL6kdglraZTZxVemyTKR4YPM9JQHvZiHM3wWxy/go+e2DFLipkTrxZ X-Gm-Gg: AYBFou28gHZWfxvgG+igajJ8lpOm0w4FX2SU/B4A8YqSJqbOdIMM3yL9Hvy+buxsNw8 N2zsWCk2zvvTnrNrMI176KLeE5h3IuxQtxohNnVy2aDZnfXJ6copNyTj5LbXdibo1dq3FokOTLP N3uHcQEQXIZbvGSV12bckGt22JL68ebq46QRLX5R3UcPvri6fmzE4dDUX+W9LXRleOO4cKjGSwm G8+Mb8CkfevWOIMyqu88wylmx1S91ArrM3QUgBD9llFXfZ9er+4Bl2fwSRg0B2SuaOclSbL3/tB WudhJzeRzQL8O6KqSGD0ScD6fb2SDajV9ABuuLlSoee8jga8uYJS1nFMteua9MZltZxr5NoV0Zj eB3kdC0Fc+QRQlhu6YJBH+9L08f/uIFPf6zPbn5hn+o+NGMvd8yUpTf/yNHz1/eYkRLx4qV5SIX DUHSnB71VrFmEP3Fm0JEfWoHH4xWqUSycICzg/V2aFz86wOf6MaV3D2YyH98kEQyQgZa41s/QzP nq8zW+pTxPSQvlXpAZ+IvbA1pV92PfPuRaO1XeeRJu1E/1/TFapD0zMqbJ3XIovgWL9cqxXtUPW MBGC X-Received: by 2002:a17:903:46cd:b0:2ca:1479:d9dc with SMTP id d9443c01a7336-2db125c332fmr382050405ad.12.1788782638093; Mon, 07 Sep 2026 05:03:58 -0700 (PDT) Received: from phuc-desktop.. ([183.91.15.56]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-2db14ae85eesm43064815ad.82.2026.09.07.05.03.54 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 07 Sep 2026 05:03:57 -0700 (PDT) From: phucduc.bui@gmail.com To: Mark Brown , Matthias Brugger Cc: Liam Girdwood , AngeloGioacchino Del Regno , Jaroslav Kysela , Takashi Iwai , Cezary Rojewski , Kees Cook , Kuninori Morimoto , Trevor Wu , Douglas Anderson , linux-sound@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-mediatek@lists.infradead.org, linux-kernel@vger.kernel.org, bui duc phuc Subject: [PATCH 4/7] ASoC: mediatek: mt8188: mt8188-afe-clk: Handle clock enable errors Date: Mon, 7 Sep 2026 19:03:07 +0700 Message-ID: <20260907120310.135693-5-phucduc.bui@gmail.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20260907120310.135693-1-phucduc.bui@gmail.com> References: <20260907120310.135693-1-phucduc.bui@gmail.com> 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 Content-Type: text/plain; charset="utf-8" From: bui duc phuc Clock enable errors are currently ignored by several AFE clock control functions. Check the return values and roll back previously enabled clocks when a subsequent clock enable fails. Fixes: f6b026479b13 ("ASoC: mediatek: mt8188: support audio clock control") Fixes: 9be0213a6858 ("ASoC: mediatek: mt8188: refine APLL control") Signed-off-by: bui duc phuc Reviewed-by: AngeloGioacchino Del Regno --- sound/soc/mediatek/mt8188/mt8188-afe-clk.c | 69 ++++++++++++++++++---- 1 file changed, 58 insertions(+), 11 deletions(-) diff --git a/sound/soc/mediatek/mt8188/mt8188-afe-clk.c b/sound/soc/mediate= k/mt8188/mt8188-afe-clk.c index 77511f6fba41..8b6dca22c8ed 100644 --- a/sound/soc/mediatek/mt8188/mt8188-afe-clk.c +++ b/sound/soc/mediatek/mt8188/mt8188-afe-clk.c @@ -579,22 +579,47 @@ static int mt8188_afe_disable_top_cg(struct mtk_base_= afe *afe, unsigned int cg_t int mt8188_afe_enable_reg_rw_clk(struct mtk_base_afe *afe) { struct mt8188_afe_private *afe_priv =3D afe->platform_priv; - + int ret; /* bus clock for AFE external access, like DRAM */ - mt8188_afe_enable_clk(afe, afe_priv->clk[MT8188_CLK_TOP_AUDIO_LOCAL_BUS_S= EL]); + ret =3D mt8188_afe_enable_clk(afe, afe_priv->clk[MT8188_CLK_TOP_AUDIO_LOC= AL_BUS_SEL]); + if (ret) + goto err_local_bus; =20 /* bus clock for AFE internal access, like AFE SRAM */ - mt8188_afe_enable_clk(afe, afe_priv->clk[MT8188_CLK_TOP_AUD_INTBUS_SEL]); + ret =3D mt8188_afe_enable_clk(afe, afe_priv->clk[MT8188_CLK_TOP_AUD_INTBU= S_SEL]); + if (ret) + goto err_intbus; =20 /* audio 26m clock source */ - mt8188_afe_enable_clk(afe, afe_priv->clk[MT8188_CLK_ADSP_AUDIO_26M]); + ret =3D mt8188_afe_enable_clk(afe, afe_priv->clk[MT8188_CLK_ADSP_AUDIO_26= M]); + if (ret) + goto err_26m; =20 /* AFE hw clock */ - mt8188_afe_enable_clk(afe, afe_priv->clk[MT8188_CLK_AUD_AFE]); - mt8188_afe_enable_clk(afe, afe_priv->clk[MT8188_CLK_AUD_A1SYS_HP]); - mt8188_afe_enable_clk(afe, afe_priv->clk[MT8188_CLK_AUD_A1SYS]); + ret =3D mt8188_afe_enable_clk(afe, afe_priv->clk[MT8188_CLK_AUD_AFE]); + if (ret) + goto err_afe; + ret =3D mt8188_afe_enable_clk(afe, afe_priv->clk[MT8188_CLK_AUD_A1SYS_HP]= ); + if (ret) + goto err_a1sys_hp; + ret =3D mt8188_afe_enable_clk(afe, afe_priv->clk[MT8188_CLK_AUD_A1SYS]); + if (ret) + goto err_a1sys; =20 return 0; + +err_a1sys: + mt8188_afe_disable_clk(afe, afe_priv->clk[MT8188_CLK_AUD_A1SYS_HP]); +err_a1sys_hp: + mt8188_afe_disable_clk(afe, afe_priv->clk[MT8188_CLK_AUD_AFE]); +err_afe: + mt8188_afe_disable_clk(afe, afe_priv->clk[MT8188_CLK_ADSP_AUDIO_26M]); +err_26m: + mt8188_afe_disable_clk(afe, afe_priv->clk[MT8188_CLK_TOP_AUD_INTBUS_SEL]); +err_intbus: + mt8188_afe_disable_clk(afe, afe_priv->clk[MT8188_CLK_TOP_AUDIO_LOCAL_BUS_= SEL]); +err_local_bus: + return ret; } =20 int mt8188_afe_disable_reg_rw_clk(struct mtk_base_afe *afe) @@ -630,7 +655,13 @@ static int mt8188_afe_enable_a1sys(struct mtk_base_afe= *afe) if (ret) return ret; =20 - return mt8188_afe_enable_top_cg(afe, MT8188_TOP_CG_A1SYS_TIMING); + ret =3D mt8188_afe_enable_top_cg(afe, MT8188_TOP_CG_A1SYS_TIMING); + if (ret) { + mt8188_afe_disable_clk(afe, afe_priv->clk[MT8188_CLK_AUD_A1SYS]); + return ret; + } + + return 0; } =20 static int mt8188_afe_disable_a1sys(struct mtk_base_afe *afe) @@ -651,7 +682,13 @@ static int mt8188_afe_enable_a2sys(struct mtk_base_afe= *afe) if (ret) return ret; =20 - return mt8188_afe_enable_top_cg(afe, MT8188_TOP_CG_A2SYS_TIMING); + ret =3D mt8188_afe_enable_top_cg(afe, MT8188_TOP_CG_A2SYS_TIMING); + if (ret) { + mt8188_afe_disable_clk(afe, afe_priv->clk[MT8188_CLK_AUD_A2SYS]); + return ret; + } + + return 0; } =20 static int mt8188_afe_disable_a2sys(struct mtk_base_afe *afe) @@ -739,8 +776,18 @@ int mt8188_apll2_disable(struct mtk_base_afe *afe) =20 int mt8188_afe_enable_main_clock(struct mtk_base_afe *afe) { - mt8188_afe_enable_top_cg(afe, MT8188_TOP_CG_26M_TIMING); - mt8188_afe_enable_afe_on(afe); + int ret; + + ret =3D mt8188_afe_enable_top_cg(afe, MT8188_TOP_CG_26M_TIMING); + if (ret) + return ret; + + ret =3D mt8188_afe_enable_afe_on(afe); + if (ret) { + mt8188_afe_disable_top_cg(afe, MT8188_TOP_CG_26M_TIMING); + return ret; + } + return 0; } =20 --=20 2.43.0 From nobody Fri Sep 25 23:53:12 2026 Received: from mail-pl1-f171.google.com (mail-pl1-f171.google.com [209.85.214.171]) (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 9198E44C65C for ; Mon, 7 Sep 2026 12:04:03 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.214.171 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1788782645; cv=none; b=hGqByxhjrxIKbddbqt7EWEl5hh7wstMhdQtmrOKJJsGF8A93DmYo8vaCgBzaV1vOgnvFHDRYqTd9VNbqK7HmTzWe9orlc++KsIPVzpUBj8NjxMmd1bN8Gm+kTSM1ThFnUjLstgeYsceoG4UY87NWDhD8QbuFbniTVC5KgEr4rvI= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1788782645; c=relaxed/simple; bh=2EY1GVuSSGfTTe1sK5SCg2xB4sKJtnbKQcQZZe7wb/8=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=TvwdARUqcFrIS+Of/85gV88+kCaZKmu+64c9QdiO0SOsVC+VS4I1B2MvjXryFIZHsuLs1Wm29D2aPbY4i13nQ6WrHE0d7VByNHhHKEpXbXWhd4U2DHFTSio/6EruHGbpiMhHkCs7+c+ABVu5qEuZ/J1rutKxwsSmJzfCRxC01Mw= 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=Gx4PuZbW; arc=none smtp.client-ip=209.85.214.171 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="Gx4PuZbW" Received: by mail-pl1-f171.google.com with SMTP id d9443c01a7336-2cace91f112so28330535ad.0 for ; Mon, 07 Sep 2026 05:04:03 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1788782643; x=1789387443; darn=vger.kernel.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:content-type; bh=5w7cNdqAAPAfRdm2XbkiqT/MAUxRyfM6lBKgPA3/pXM=; b=Gx4PuZbWTpV0MMEHHlXPOuAnSbfbrdy+QIHIVfydihUhTpraA6FXLxbLzjbaTRxvg5 jUhWIH88iI2fZ6RHTUUHzAZFRavee6YVevhT29ACudbRuHVajnUKruYCU6C05eKLiGNB DCw5a6or0VDabce+MmOYcJ4jYU+zXt2cNdzlaoSVNl994BuoCIe2EGhp3kTnxsMp8vZ1 7R0yiCtP0Uy7vrGeRQ187Bew6bu0l+tbReVhU/yitKT89DuKKtUgFrmHnhgo1DakWPaB fLaJr2hV940VIy+s8OjaD6K199/R0sg2HAqR0118b8T6kWV3crVLvzILJ17RPFy3QL6b 4EhA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1788782643; x=1789387443; 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:content-type; bh=5w7cNdqAAPAfRdm2XbkiqT/MAUxRyfM6lBKgPA3/pXM=; b=eNwTiDRAjhCzzBIKqPzGwHcUIaliIr/gsAePuEV7GmuM6L8wIOIcYYT1ClgKBQzTTp VSE4VUKFZLllIEvsRrbeKcUveY0hhlOs9a3bMitLqRfPXi/pTjvXa854CyejfF/OHXBI QRSDho/w7lFNlh66Qqt44tOnqCYTsqcVy86V9DJH+IoFseexdaGWOc0fKqmUTdzrqklO xZx+MDK1K6GKNKr7q7f5jWTkky1hjDZzSn5tJuOCJzVCuQrTW4MLjiqq7xPGS2LCbsEE dlEyEThHSt93y59Ex4UVuvXKDjoO+dXUMJOLWd2ggTvRsw4b0NzwSz8jfwBT0AnOT3Ct KEUw== X-Forwarded-Encrypted: i=1; AKwUvBy6JeBydB+aWwXkjfP7jJj4Io5kQY6ZWh7G8Jz3LAyy9oaBKefO1jP38l45TLDKAXvNU+CS+d/4M7M5T7w=@vger.kernel.org X-Gm-Message-State: AFuF++kZb86KKsIFF9juE5hHDv7cCuLHAiE9MaSuGXqBZPelQgwPTp+S q05x4pCRivpu5hWql/E9QPEsJxJ+nQdWwieuvGzZZMI+beEC0cVJkqiI X-Gm-Gg: AYBFou20Oczwpb1TfeqzXbDgKUHCG4vmwuYlqPXuwaXVPVBbESrx0vRtZ/80DUBfMKu uIG1dSylRcYXSwmxJ4XzZvHLb1XilUnbqGytFQSUEQoRUsSTqW1nDw8eHdS8NzvmRTgBZsBPews iHxNfFT9wllF/Li+t/HRi0quf9ARIHNvmSSPIoRX0k1KlfDmKOUm4GC1+Kdj352B77ZnX6pj5wI wnjFSw7Iyy1jKhriENpdiDmqN5oLwzxXzHp0Zuo7IROI9c70wttAIiAjskMMBoZfqEmhVa2L3lH mFFi4g1K8CUj0YZj9zMQN5CCtgtTITjuM5Aj74Qsr5+A/BXjp5Mp2fRAZweAVE+uOyPYzd8SJvA RHr7q/tNig6HRXq+ZimrXf5hU8nDVBNtLctZDNvQGmulj+s8m5/4j5suw8JLRXD98g4O5gFo/Z6 IoYwvA4u0u1qQFXw+njH9g7cYTTBG2+F5EpDy+wYFSXojM/0HU1Ge0M2+QEC7vHNNjvwN9Pwrcd xPxYiEDZ73M7VOX2g0Lqut2d2AxgL/xWB5mJzONLExcJgo09l1KhFPeYX4YIjZS4X4+OGEPFC7x iYLN X-Received: by 2002:a17:903:1a4e:b0:2db:39da:90f4 with SMTP id d9443c01a7336-2db39da9336mr157104885ad.6.1788782642761; Mon, 07 Sep 2026 05:04:02 -0700 (PDT) Received: from phuc-desktop.. ([183.91.15.56]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-2db14ae85eesm43064815ad.82.2026.09.07.05.03.58 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 07 Sep 2026 05:04:02 -0700 (PDT) From: phucduc.bui@gmail.com To: Mark Brown , Matthias Brugger Cc: Liam Girdwood , AngeloGioacchino Del Regno , Jaroslav Kysela , Takashi Iwai , Cezary Rojewski , Kees Cook , Kuninori Morimoto , Trevor Wu , Douglas Anderson , linux-sound@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-mediatek@lists.infradead.org, linux-kernel@vger.kernel.org, bui duc phuc Subject: [PATCH 5/7] ASoC: mediatek: mt8188: mt8188-afe-pcm: Handle runtime resume errors Date: Mon, 7 Sep 2026 19:03:08 +0700 Message-ID: <20260907120310.135693-6-phucduc.bui@gmail.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20260907120310.135693-1-phucduc.bui@gmail.com> References: <20260907120310.135693-1-phucduc.bui@gmail.com> 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 Content-Type: text/plain; charset="utf-8" From: bui duc phuc Errors from clock enable and regcache synchronization are currently ignored during runtime resume. Check the return values from mt8188_afe_enable_reg_rw_clk(), regcache_sync(), and mt8188_afe_enable_main_clock(), and abort the runtime resume if any of them fails. On failure, disable the previously enabled reg_rw clocks and restore the regmap to cache-only mode. Fixes: bf106bf09376 ("ASoC: mediatek: mt8188: add platform driver") Signed-off-by: bui duc phuc Reviewed-by: AngeloGioacchino Del Regno --- sound/soc/mediatek/mt8188/mt8188-afe-pcm.c | 21 ++++++++++++++++----- 1 file changed, 16 insertions(+), 5 deletions(-) diff --git a/sound/soc/mediatek/mt8188/mt8188-afe-pcm.c b/sound/soc/mediate= k/mt8188/mt8188-afe-pcm.c index 7b1f5d05f4d6..f8cbe7bac36d 100644 --- a/sound/soc/mediatek/mt8188/mt8188-afe-pcm.c +++ b/sound/soc/mediatek/mt8188/mt8188-afe-pcm.c @@ -3030,22 +3030,33 @@ static int mt8188_afe_runtime_resume(struct device = *dev) struct mtk_base_afe *afe =3D dev_get_drvdata(dev); struct mt8188_afe_private *afe_priv =3D afe->platform_priv; struct arm_smccc_res res; + int ret; =20 arm_smccc_smc(MTK_SIP_AUDIO_CONTROL, MTK_AUDIO_SMC_OP_DOMAIN_SIDEBANDS, 0, 0, 0, 0, 0, 0, &res); =20 - mt8188_afe_enable_reg_rw_clk(afe); + ret =3D mt8188_afe_enable_reg_rw_clk(afe); + if (ret) + return ret; =20 if (!afe->regmap || afe_priv->pm_runtime_bypass_reg_ctl) - goto skip_regmap; + return 0; =20 regcache_cache_only(afe->regmap, false); - regcache_sync(afe->regmap); + ret =3D regcache_sync(afe->regmap); + if (ret) + goto err; + + ret =3D mt8188_afe_enable_main_clock(afe); + if (ret) + goto err; =20 - mt8188_afe_enable_main_clock(afe); -skip_regmap: return 0; +err: + mt8188_afe_disable_reg_rw_clk(afe); + regcache_cache_only(afe->regmap, true); + return ret; } =20 static int init_memif_priv_data(struct mtk_base_afe *afe) --=20 2.43.0 From nobody Fri Sep 25 23:53:12 2026 Received: from mail-pl1-f179.google.com (mail-pl1-f179.google.com [209.85.214.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 53E5C490BFC for ; Mon, 7 Sep 2026 12:04:08 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.214.179 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1788782649; cv=none; b=MO6MBR5cpO+jbLt52zK2N/vyt24aKG3WZbY03tJjZ7mawJfqL9N/fr2bIfKrqQbdeNGJL99iwy4GwADvVirsTDQfs7fmaF8s9TCNx4NT7+4cDffOPoetgAFOtqTaAdxeJWrIr0XerseICc6V0HZ/HeTXrzepAmsiGaHdlrwz+8M= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1788782649; c=relaxed/simple; bh=TqPVcF7GwxKjnWyJPoshHMjqv4vykpXB/ptaLXKh0f4=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=D6KrTWqqHU35BNjjt6bfQyiBM0w3/aCs/xMd0nz+CC54Pm6CbAzdqgTdWR/WkwjZL4akN6VvF8fwG6MrWX+GkGvsN1s+YhJewrShsFkJsh4qXwN38pHuMze2xUkUF7YKWuM3X/96/s3cgfdCtxkUawzwY5R+s62bIwWedssptFE= 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=Im5J2ctx; arc=none smtp.client-ip=209.85.214.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="Im5J2ctx" Received: by mail-pl1-f179.google.com with SMTP id d9443c01a7336-2d7200b2e15so36110845ad.3 for ; Mon, 07 Sep 2026 05:04:08 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1788782648; x=1789387448; darn=vger.kernel.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:content-type; bh=hypdJ1T8+wnBdNrqYZPIpZvq2yuPSL7MjBj6zT473gM=; b=Im5J2ctxCUkFNlLsReqwgiGdKUVraylEsSWPk+WYDjHkTaCBWtGwyK/x+bGOpkj/UL 79r5eBQtOroofQoxjZQ11iP01uX61FtfVMduPRa7bLE5xtZi3hqH9sG/bl8rVjDyqQzQ OhKWZvELw25PcvB6aPKt83ILq9JLdwdLTtag0agLv9gDK8qQCJePcF8qUaukBTqtttDl 2ggH98DpHOEwFDqolidVSiJj7aIQuYzxuUtmbtNHyZbIhls8LodmEV24u5N1wtDsszb2 y4b/Z5Z9KmC+0HEJpm4AL4QTWF0QSaL1XtGAzdQ+kiW9c1UW8kg3qfn8U9Mjzfdn/3BX pUSQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1788782648; x=1789387448; 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:content-type; bh=hypdJ1T8+wnBdNrqYZPIpZvq2yuPSL7MjBj6zT473gM=; b=sNjocwm+LVruwS4l6qvy4pyUeJTuAvqjV0Gl3UiPG9YuzsZHJrLZjsqQEaUGYy3CEU OYGm7YzE3lp7bmt4nH1vpJIVTFGV4rhxml6WSB2y9gye3pRLr8L29DkQ+jHHsx3sMC6M jF5Y9u8uU2g/rRYlUP1GyXsTPL23vgDWTm7xUQ4iVlt0dYtmsGgUlm/fXPQu3GVrDTfD RMXm0aBwM6eSA0l3zjUT+bCHBsF+60VY6cxecJri5k2RujO5hTbd9c+4i+qFWfNOp8rx Hv8DwbWJKKPQVxp/4srOcHDCayRzM8AIqwlpebNdrCUW99cyKfN5Yjaez9BWtoueIi7z Xj3g== X-Forwarded-Encrypted: i=1; AKwUvBycsGzYP+3QPTL3UhZyt3a47kyRY7XiT9RdzAPWmNaHXhx3KF5VrJiQgs/bBzoi4mvBpFRVLM1sK7FXVlQ=@vger.kernel.org X-Gm-Message-State: AFuF++nLII/ROI5XGpxvLrXbO1LIkiqg4+3R+3quZEa/NIt06Ye8bN4K fgf8NjWn6uZSIMdv+1L8lInWOrcoLKA14Dyu0GBJm2mlmhmiV6hSXo7M X-Gm-Gg: AYBFou0catxu6JZGieGr9Zn0zZjyCnlT2MR/YQa9UfjfNWgSJiCheli+AhJVPr7M4dT LfkkHT/+8q8mFHP4ghxF1YdXNtwWxHHHuULDkGeT3kIX8hoYRUkoxKq7+Rmbkqz5lbQ91kAhJT/ KlH2lS0PrAen3HSKKfhNx4RsYhkLCfLqJVECeIXdT5GFOjfsRx99V3olQiX4Hqg+WvjqzEe/EQ1 w0EAbwMvK/wYcZC463Ini1Om3f6CzXlXDAMw8NcSLHgffO9tqo8iNvxmSUH94IxK3iR6P5IQIi6 nstvQCl25r/Fz6BX76OKrCD0QJpAneZGd0nwLofzh25yynH9OpBS0ekMGuDw94QZmi2H+YSbRHQ BeBOJqhATxxdNIpcOucA7ktzXlDpQLWff7JAjwWlfsZaGtEOLS6NWfvxPsTITKwzdr5sptm++vD XTWNUmgui+T2cy2mhjcKLKvTauAmiSxnxRpt+BfgCLs8Egmizi/buO+b3cocDZfKOl2qYty/Up9 XDe2BsHVNhRNWqlGENK+Rx9k70WN33Wo16tpyUJWSeyY4Z1KXeKZTRdPr+l/hpI1fWJiAIGFRU+ OYpbSQ== X-Received: by 2002:a17:903:3d0f:b0:2d7:3f6e:5cb9 with SMTP id d9443c01a7336-2db12637ca1mr316713255ad.8.1788782647486; Mon, 07 Sep 2026 05:04:07 -0700 (PDT) Received: from phuc-desktop.. ([183.91.15.56]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-2db14ae85eesm43064815ad.82.2026.09.07.05.04.03 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 07 Sep 2026 05:04:07 -0700 (PDT) From: phucduc.bui@gmail.com To: Mark Brown , Matthias Brugger Cc: Liam Girdwood , AngeloGioacchino Del Regno , Jaroslav Kysela , Takashi Iwai , Cezary Rojewski , Kees Cook , Kuninori Morimoto , Trevor Wu , Douglas Anderson , linux-sound@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-mediatek@lists.infradead.org, linux-kernel@vger.kernel.org, bui duc phuc Subject: [PATCH 6/7] ASoC: mediatek: mt8188: mt8188-afe-pcm: Drop redundant probe error messages Date: Mon, 7 Sep 2026 19:03:09 +0700 Message-ID: <20260907120310.135693-7-phucduc.bui@gmail.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20260907120310.135693-1-phucduc.bui@gmail.com> References: <20260907120310.135693-1-phucduc.bui@gmail.com> 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 Content-Type: text/plain; charset="utf-8" From: bui duc phuc Several probe error paths print error messages that are already reported by the called functions. Return the original error directly for devm_platform_ioremap_resource(), mt8188_afe_init_clock(), platform_get_irq(), and devm_request_irq() instead of wrapping the errors with dev_err_probe(). Also remove the redundant "err_platform" warning from the component registration error path. Signed-off-by: bui duc phuc Reviewed-by: AngeloGioacchino Del Regno --- sound/soc/mediatek/mt8188/mt8188-afe-pcm.c | 13 +++++-------- 1 file changed, 5 insertions(+), 8 deletions(-) diff --git a/sound/soc/mediatek/mt8188/mt8188-afe-pcm.c b/sound/soc/mediate= k/mt8188/mt8188-afe-pcm.c index f8cbe7bac36d..efad0af977f4 100644 --- a/sound/soc/mediatek/mt8188/mt8188-afe-pcm.c +++ b/sound/soc/mediatek/mt8188/mt8188-afe-pcm.c @@ -3232,8 +3232,7 @@ static int mt8188_afe_pcm_dev_probe(struct platform_d= evice *pdev) =20 afe->base_addr =3D devm_platform_ioremap_resource(pdev, 0); if (IS_ERR(afe->base_addr)) - return dev_err_probe(dev, PTR_ERR(afe->base_addr), - "AFE base_addr not found\n"); + return PTR_ERR(afe->base_addr); =20 infra_ao =3D syscon_regmap_lookup_by_phandle(dev->of_node, "mediatek,infracfg"); @@ -3269,7 +3268,7 @@ static int mt8188_afe_pcm_dev_probe(struct platform_d= evice *pdev) /* initial audio related clock */ ret =3D mt8188_afe_init_clock(afe); if (ret) - return dev_err_probe(dev, ret, "init clock error"); + return ret; =20 spin_lock_init(&afe_priv->afe_ctrl_lock); =20 @@ -3302,12 +3301,12 @@ static int mt8188_afe_pcm_dev_probe(struct platform= _device *pdev) /* request irq */ irq_id =3D platform_get_irq(pdev, 0); if (irq_id < 0) - return dev_err_probe(dev, irq_id, "no irq found"); + return irq_id; =20 ret =3D devm_request_irq(dev, irq_id, mt8188_afe_irq_handler, IRQF_TRIGGER_NONE, "asys-isr", (void *)afe); if (ret) - return dev_err_probe(dev, ret, "could not request_irq for asys-isr\n"); + return ret; =20 /* init sub_dais */ INIT_LIST_HEAD(&afe->sub_dais); @@ -3363,10 +3362,8 @@ static int mt8188_afe_pcm_dev_probe(struct platform_= device *pdev) /* register component */ ret =3D devm_snd_soc_register_component(dev, &mtk_afe_pcm_platform, afe->dai_drivers, afe->num_dai_drivers); - if (ret) { - dev_warn(dev, "err_platform\n"); + if (ret) goto err_pm_put; - } =20 mt8188_afe_init_registers(afe); =20 --=20 2.43.0 From nobody Fri Sep 25 23:53:12 2026 Received: from mail-pl1-f169.google.com (mail-pl1-f169.google.com [209.85.214.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 326F3488233 for ; Mon, 7 Sep 2026 12:04:12 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.214.169 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1788782654; cv=none; b=PGjdMzdJfUn0FBUc7y4ukIMGCYKIwDrpY0BTZdDmHK0UctIo4nmEXvxoBaRRZFT/s/+tgJ3F2dQ9BsnLyKRhYNF0NOFS7yAkS6A9zdfeqx3t2gen2bHJ7nVRAPoNcVVIGhUQ+XZUyJXXfRKXlTLL5NQPpn7sYF6/MK2nvdB2mSU= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1788782654; c=relaxed/simple; bh=Nph2ROMLnvDhQtRDVClTwoKUmdbXNY6dbwexoUG0CYs=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=IHyy1VB4jftZXEI0fJ/rN/D/62Mkny5Z2dQB+PYmTlF7V48sy6NfiYwRLxZL/SxGCT4djtD/f+08EzZxVNDh50n7PJkirp1kSgaul8UphJY2DysI+O9kv09SUwpRxCoyGlCt2KSm9vmFaBAOhpGUGyjzOFisZoqoDHJIOdNLSTs= 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=O8oEN0gn; arc=none smtp.client-ip=209.85.214.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="O8oEN0gn" Received: by mail-pl1-f169.google.com with SMTP id d9443c01a7336-2d01663d816so23601885ad.1 for ; Mon, 07 Sep 2026 05:04:12 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1788782652; x=1789387452; darn=vger.kernel.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:content-type; bh=O7h2S3qXgjH0d2/zuTeGXDlTjAza128Ox3NWLM9is1c=; b=O8oEN0gnNgk7F+Y3+m1u/T1vocboO7ZJF6y/iXWBjatyrNwkSyABBH0pTrgrcti9+W 3dL/MY2T7bQ5ZfldgvgkuoHlIKFlSqqjwZcCWXO6OblfDCihZK3sYKYT9g1K6+jxI1Xn kWJCta6KiqYKSPN/1EyRJXqKU4noaJcfhwoFVkr70pg76eXZWi0TrFtYD7i5E69lFInC YlGUeXCTAb31eUfkL8eM2WrWNe2Dgq582HaX0sl84JyqbfP+pCr/7SjK4yRaAPBl9Ao0 KX8kAJmkYij1HicRT7rPG14p8KsuJEyl2XeT7VTWdv6S35SINsnaOwOuAjcau+UCpeO5 ZTVg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1788782652; x=1789387452; 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:content-type; bh=O7h2S3qXgjH0d2/zuTeGXDlTjAza128Ox3NWLM9is1c=; b=IhMKxrz8lfNxp3AR+s29MJhAwjyWVMXY/3DvcBBei0cxknffh3+TSv5iXDt8Le0LH6 LGlYkVLsGAVh/lc6GL7liHPSovyCxDLBk4R09PC1QQSCGPrUnTU7oGAdejYhzbVQ6BC9 3h2NUeBxLV4i59XJv1WiQLv7NB1LqmSh4mLBk8PLFPpvpMAV0ga+VXrjlDqKwTa8JKVY 19J/EhirIlYa8hwGt7SlrxPrb1IVr3GCRCHPzFAFNXITjhc9P9QzmrurCxCiytcoCyak Wlx6YvMfmp63FSMSogXzTaDfAcKlYKTdXtQ+G5j7wnKCJjGVOzjMT3ql/vzBkddn7KiF poNg== X-Forwarded-Encrypted: i=1; AKwUvBwjLc7GSwyVdesirOm98PAZh818r8ThJ0W9yyvRZkYeNRE7vd0J3XeerixHeCA9bcUFgo2WtI/VtuDl4SY=@vger.kernel.org X-Gm-Message-State: AFuF++lKeMIBinnYg/5wt9HsBwwRtbG1PladOWMnMjIDUvEoMI7/IL6i 5ALyH3pHh44+eO1dlfxmktMswZKNwPUaVqBXCuyudWwNeaD8vCzlUNiM X-Gm-Gg: AYBFou1NWse4STFdL4jhwqyROXFDy4DvUI1zMAPuC4ypCQuG08GJZ1t8FklJP+Ge9F6 nO2CsMW86NlWARusX/cN9XBX59irnMTKAUPtqCQZ+qLBQb4VvNPLOUAerQSAHRuXvxDTx1YLabx 1Hhp2aLedjAieHx8E5hj48zxRecJrZWa6Hmf4sCRxB72UNjvj6xluHTt6raDmz6a9iXrWY4f/Iw FkAUFIBAYvHw/ZhTokCe7+R0/U2eoqeVnuQJNPJVmrLtGXEYR3ItTM5tMFlCHCx27rKNuVpyMST wHFqm+5mUeqpTtLoR7qBxsPbPWFy6NnZk7k4EWdHLV6J5TQVGKeYEX01gE7RZmxU6XvNhswXdSn pZlCFYy/eIq+GEYE+Sa3mx4fskv0CCgzHk1ZtEz6zIP5eEm2KlFZR2xXvCEZ09YH9Cc5RbshK8T JSeI5KKQ3mblRaQ95nzyXk+bg0BAPKGluRyc97p93E+xk0NFpmgXXKid1sapo0NQqb2zq8WQwi3 +cJQaTUBGpCIaX3DFr5l9HXByVzno5ViqhcL5Jw2byaAnWK3R6jke0aFWk7kf8yWQ7yxRZUzcww baVK X-Received: by 2002:a17:902:ed8b:b0:2c8:2808:3ec9 with SMTP id d9443c01a7336-2db126d8fc2mr211708425ad.12.1788782652165; Mon, 07 Sep 2026 05:04:12 -0700 (PDT) Received: from phuc-desktop.. ([183.91.15.56]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-2db14ae85eesm43064815ad.82.2026.09.07.05.04.08 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 07 Sep 2026 05:04:11 -0700 (PDT) From: phucduc.bui@gmail.com To: Mark Brown , Matthias Brugger Cc: Liam Girdwood , AngeloGioacchino Del Regno , Jaroslav Kysela , Takashi Iwai , Cezary Rojewski , Kees Cook , Kuninori Morimoto , Trevor Wu , Douglas Anderson , linux-sound@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-mediatek@lists.infradead.org, linux-kernel@vger.kernel.org, bui duc phuc Subject: [PATCH 7/7] ASoC: mediatek: mt8188: fix clk leak on error in audsys_clk_register Date: Mon, 7 Sep 2026 19:03:10 +0700 Message-ID: <20260907120310.135693-8-phucduc.bui@gmail.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20260907120310.135693-1-phucduc.bui@gmail.com> References: <20260907120310.135693-1-phucduc.bui@gmail.com> 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 Content-Type: text/plain; charset="utf-8" From: bui duc phuc devm_add_action_or_reset() is called after the loop that registers gate clocks. If kzalloc() fails mid-loop, the function returns -ENOMEM before that call, so cleanup is never registered and all previously registered clocks leak permanently. Move devm_add_action_or_reset() before the loop so cleanup is always scheduled. The clock from the current (failing) iteration is not yet stored in afe_priv->lookup[i], so it still needs an explicit clk_unregister_gate() call. Fixes: fd67a7a1a22c ("ASoC: mediatek: mt8188: fix use-after-free in driver = remove path") Signed-off-by: bui duc phuc Reviewed-by: AngeloGioacchino Del Regno --- sound/soc/mediatek/mt8188/mt8188-audsys-clk.c | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/sound/soc/mediatek/mt8188/mt8188-audsys-clk.c b/sound/soc/medi= atek/mt8188/mt8188-audsys-clk.c index 972f097a13ca..9f3b3a777577 100644 --- a/sound/soc/mediatek/mt8188/mt8188-audsys-clk.c +++ b/sound/soc/mediatek/mt8188/mt8188-audsys-clk.c @@ -170,7 +170,7 @@ int mt8188_audsys_clk_register(struct mtk_base_afe *afe) struct mt8188_afe_private *afe_priv =3D afe->platform_priv; struct clk *clk; struct clk_lookup *cl; - int i; + int i, ret; =20 afe_priv->lookup =3D devm_kcalloc(afe->dev, CLK_AUD_NR_CLK, sizeof(*afe_priv->lookup), @@ -179,6 +179,10 @@ int mt8188_audsys_clk_register(struct mtk_base_afe *af= e) if (!afe_priv->lookup) return -ENOMEM; =20 + ret =3D devm_add_action_or_reset(afe->dev, mt8188_audsys_clk_unregister, = afe); + if (ret) + return ret; + for (i =3D 0; i < ARRAY_SIZE(aud_clks); i++) { const struct afe_gate *gate =3D &aud_clks[i]; =20 @@ -194,8 +198,10 @@ int mt8188_audsys_clk_register(struct mtk_base_afe *af= e) =20 /* add clk_lookup for devm_clk_get(SND_SOC_DAPM_CLOCK_SUPPLY) */ cl =3D kzalloc_obj(*cl); - if (!cl) + if (!cl) { + clk_unregister_gate(clk); return -ENOMEM; + } =20 cl->clk =3D clk; cl->con_id =3D gate->name; @@ -206,5 +212,5 @@ int mt8188_audsys_clk_register(struct mtk_base_afe *afe) afe_priv->lookup[i] =3D cl; } =20 - return devm_add_action_or_reset(afe->dev, mt8188_audsys_clk_unregister, a= fe); + return 0; } --=20 2.43.0