From nobody Sat Sep 26 08:37:13 2026 Received: from mail-pf1-f179.google.com (mail-pf1-f179.google.com [209.85.210.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 826AC3890EC for ; Thu, 3 Sep 2026 05:12:14 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.210.179 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1788412337; cv=none; b=lhCiUf5hLuZxAMbFyrEyD/95GB03TC28GaME0bdMvNg8Bf/PD44GyXwErV79cQbYKE6z2N+zktV5af1ST5TFQKSGHoMbdn0pi0Kbadjz58IHOfrfLooHiwPnn5t2Fj9CrDkUlFRCOliIks454sB2zsPq48pvHlZ/GUYLVFyMACg= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1788412337; c=relaxed/simple; bh=YdGYLhvtvptCpYDC3ICVM4oOhiZ9/gCcjjUKAA8PwCM=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=bqpMj6pQY87X1ABSFZ9o5ZCSjHc8L895ncTcV3qMpo4fRPcSuHEQuPqlJIa/BN7BlZkuka+CZPZ+QHVwAaXU4n5vW/f2hda61WADQVo/ATPC8cXmjQ67EP8qZwx14fuHMwBed+AD9ZzmyB007A//+EgSdApbOLMbVrWv/+Ns2A8= 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=NF0tt5e+; arc=none smtp.client-ip=209.85.210.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="NF0tt5e+" Received: by mail-pf1-f179.google.com with SMTP id d2e1a72fcca58-84830c774a0so2128576b3a.1 for ; Wed, 02 Sep 2026 22:12:14 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1788412334; x=1789017134; 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=xAiRO/oCYlRl0/keklqXsoT6bN4V7lIX81Jp9VCDRm0=; b=NF0tt5e+3oSOAzJVnuDjQOPtnuebhoOzOtJ/fTjcvwmNWfLnvYC3lsE8cxhsgQNUt3 rm5roUPEkiChdsDIeRzX9ebmUE+pBFQm7rs1cnILCv0Wrl+ynZPD2ZZlgJCZXNYxTSus n4U+7YoBOFechpgq854EaKQE5xBWM2rSp9u5YmKt2fi2iICVGyhGYZJERkDoMJWy3kDK 4u7cQl9zV7LYATms3PL8qo9VxEGoZPOmAa9MD15oV+8Tes2/zkRYEAK6TnVUxKiiIGi1 6lmx50dxJZ+zfhAPTzyW7eAasM9IZTAh7c4MT81ulLNT9M8x84AXuhzxAC/tvuxcgsF0 bKQA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1788412334; x=1789017134; 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=xAiRO/oCYlRl0/keklqXsoT6bN4V7lIX81Jp9VCDRm0=; b=U1JFY+D/mw9NCtcPJ6+INZD4YSZ8OYQwA0p9xzBrlyRJ3MRbeuHuVFi7r1Lbi9DC8T 0nUQb8KbqYd0et6Mm9TkBuw3AO2CYapAtwsRFCEgGuyUcZypGPmIlx2bESBZCJbpm6mK YxW4IyfKimkWWm9XZTQOPfUhIuruGD8WOREp+mjPsmJANKCmRSP9vmgOH2v7z/mkyK72 Hq00qst2ipABoQIeWCS9AxNKtU2408usrEcq+rZvGuCSftOLnEdhOcl3yRTApU3yB63r Aekpj+dwJRNQ7QE7dyVlTfgTRWkhUGH0NLCS63kJCYOYnKAxflFhPHiYYgfNh7/8k1H6 Gz8A== X-Forwarded-Encrypted: i=1; AKwUvBzujc8s0Ha5Ilm7+fn/5vKH0Q4AZ0JXjUTN7ec57CqXYneeSrrAQAzoo22GCPWC4DwF+S5KxdBsmwE8kSQ=@vger.kernel.org X-Gm-Message-State: AFuF++n2Ixwmgi5g/eW3mIjzQgPpZrg4rluQVg+w43t2J5U8CLl5+lOa 446Lz187MbzB6FalgG2zyigfCMO0ltJb7v92ShvtW6/qOlAJQaJ8x492 X-Gm-Gg: AYBFou1zW2xtaQyhM0leUZc9oowt40GJLQWQ8fMS/Ptr7uMpfj+0MGMtqvMPqzGg36y qUqWoF27TgadybB4+uyLfQ9EPPRuzzbZr1kFcbXp8PpYY2PxHKN9qpd8fCttYG9CnAKlU3U7kbV ufPJ1IbO2OCCACKLPQ3Pr6Ba3o8UF3gXSPQYirk4i28M3KvyYI2iLMp4dyQy6KNM6v0YjY1G6Nx 6vnKH+ym0JcSf5Q57x2Vgs4JoLJFmVPVA26bMTyNp0XXs9ktWxmBw04aa8IYRm+H6M7teta7C36 y804zLngvazhR/DlJ8ccjQVHweN/Lruqj8DpdzTwvoJbWwWz/2RrYsFdReGdJXqzkMhvqpfgke+ 3gijfmseON5Yc3msnqz8faEtEf4lf6D9uZ1+2Xia4mQQDBQl40e58YMbehz1B1e3j9heFvNiZgg WhVOE9In6VLlJTGcXIJ/SUsX2WermAfvMT3t8q7oxEPTfDNLAMUD+rQXyLaPnjiaiJkYZwPqBV0 DyJz+LsyDkT7y9e3u3hX0v0mXnFRPSmV413n3EJ3Uh7/nFgSyfPb+oUS3bu/R9isIlPP45MZ0/h WGh1 X-Received: by 2002:a17:90b:4e8c:b0:392:6638:2e6a with SMTP id 98e67ed59e1d1-39aee0840d5mr15450600a91.13.1788412333744; Wed, 02 Sep 2026 22:12:13 -0700 (PDT) Received: from phuc-desktop.. ([183.91.15.56]) by smtp.gmail.com with ESMTPSA id 98e67ed59e1d1-39b0875ce14sm3218092a91.13.2026.09.02.22.12.10 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 02 Sep 2026 22:12:13 -0700 (PDT) From: phucduc.bui@gmail.com To: Mark Brown , Matthias Brugger Cc: Liam Girdwood , AngeloGioacchino Del Regno , Jaroslav Kysela , Takashi Iwai , Cezary Rojewski , Jiaxin Yu , Kuninori Morimoto , 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 v4 1/8] ASoC: mediatek: mt8186: Fix APLL mux setting error handling Date: Thu, 3 Sep 2026 12:11:43 +0700 Message-ID: <20260903051150.178057-2-phucduc.bui@gmail.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20260903051150.178057-1-phucduc.bui@gmail.com> References: <20260903051150.178057-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 APLL mux setup functions return immediately when a clock operation fails, without undoing the clock changes already made. This can leave clocks enabled or muxes configured to an unexpected parent. Restore the affected muxes to CLK26M and disable previously enabled clocks on error before propagating the original error. Fixes: 55b423d5623c ("ASoC: mediatek: mt8186: support audio clock control i= n platform driver") Signed-off-by: bui duc phuc --- sound/soc/mediatek/mt8186/mt8186-afe-clk.c | 50 ++++++++++++++++------ 1 file changed, 38 insertions(+), 12 deletions(-) diff --git a/sound/soc/mediatek/mt8186/mt8186-afe-clk.c b/sound/soc/mediate= k/mt8186/mt8186-afe-clk.c index daaca36a2d08..aa8b2eaf7b95 100644 --- a/sound/soc/mediatek/mt8186/mt8186-afe-clk.c +++ b/sound/soc/mediatek/mt8186/mt8186-afe-clk.c @@ -98,7 +98,7 @@ static int apll1_mux_setting(struct mtk_base_afe *afe, bo= ol enable) if (ret) { dev_err(afe->dev, "%s clk_prepare_enable %s fail %d\n", __func__, aud_clks[CLK_TOP_MUX_AUD_1], ret); - return ret; + goto ERR_ENABLE_CLK_TOP_MUX_AUD_1; } ret =3D clk_set_parent(afe_priv->clk[CLK_TOP_MUX_AUD_1], afe_priv->clk[CLK_TOP_APLL1_CK]); @@ -106,7 +106,7 @@ static int apll1_mux_setting(struct mtk_base_afe *afe, = bool enable) dev_err(afe->dev, "%s clk_set_parent %s-%s fail %d\n", __func__, aud_clks[CLK_TOP_MUX_AUD_1], aud_clks[CLK_TOP_APLL1_CK], ret); - return ret; + goto ERR_SELECT_CLK_TOP_MUX_AUD_1; } =20 /* 180.6336 / 8 =3D 22.5792MHz */ @@ -114,7 +114,7 @@ static int apll1_mux_setting(struct mtk_base_afe *afe, = bool enable) if (ret) { dev_err(afe->dev, "%s clk_prepare_enable %s fail %d\n", __func__, aud_clks[CLK_TOP_MUX_AUD_ENG1], ret); - return ret; + goto ERR_ENABLE_CLK_TOP_MUX_AUD_ENG1; } ret =3D clk_set_parent(afe_priv->clk[CLK_TOP_MUX_AUD_ENG1], afe_priv->clk[CLK_TOP_APLL1_D8]); @@ -122,7 +122,7 @@ static int apll1_mux_setting(struct mtk_base_afe *afe, = bool enable) dev_err(afe->dev, "%s clk_set_parent %s-%s fail %d\n", __func__, aud_clks[CLK_TOP_MUX_AUD_ENG1], aud_clks[CLK_TOP_APLL1_D8], ret); - return ret; + goto ERR_SELECT_CLK_TOP_MUX_AUD_ENG1; } } else { ret =3D clk_set_parent(afe_priv->clk[CLK_TOP_MUX_AUD_ENG1], @@ -131,7 +131,7 @@ static int apll1_mux_setting(struct mtk_base_afe *afe, = bool enable) dev_err(afe->dev, "%s clk_set_parent %s-%s fail %d\n", __func__, aud_clks[CLK_TOP_MUX_AUD_ENG1], aud_clks[CLK_CLK26M], ret); - return ret; + goto EXIT; } clk_disable_unprepare(afe_priv->clk[CLK_TOP_MUX_AUD_ENG1]); =20 @@ -141,12 +141,25 @@ static int apll1_mux_setting(struct mtk_base_afe *afe= , bool enable) dev_err(afe->dev, "%s clk_set_parent %s-%s fail %d\n", __func__, aud_clks[CLK_TOP_MUX_AUD_1], aud_clks[CLK_CLK26M], ret); - return ret; + goto EXIT; } clk_disable_unprepare(afe_priv->clk[CLK_TOP_MUX_AUD_1]); } =20 return 0; + +ERR_SELECT_CLK_TOP_MUX_AUD_ENG1: + clk_set_parent(afe_priv->clk[CLK_TOP_MUX_AUD_ENG1], + afe_priv->clk[CLK_CLK26M]); + clk_disable_unprepare(afe_priv->clk[CLK_TOP_MUX_AUD_ENG1]); +ERR_ENABLE_CLK_TOP_MUX_AUD_ENG1: +ERR_SELECT_CLK_TOP_MUX_AUD_1: + clk_set_parent(afe_priv->clk[CLK_TOP_MUX_AUD_1], + afe_priv->clk[CLK_CLK26M]); + clk_disable_unprepare(afe_priv->clk[CLK_TOP_MUX_AUD_1]); +ERR_ENABLE_CLK_TOP_MUX_AUD_1: +EXIT: + return ret; } =20 static int apll2_mux_setting(struct mtk_base_afe *afe, bool enable) @@ -159,7 +172,7 @@ static int apll2_mux_setting(struct mtk_base_afe *afe, = bool enable) if (ret) { dev_err(afe->dev, "%s clk_prepare_enable %s fail %d\n", __func__, aud_clks[CLK_TOP_MUX_AUD_2], ret); - return ret; + goto ERR_ENABLE_CLK_TOP_MUX_AUD_2; } ret =3D clk_set_parent(afe_priv->clk[CLK_TOP_MUX_AUD_2], afe_priv->clk[CLK_TOP_APLL2_CK]); @@ -167,7 +180,7 @@ static int apll2_mux_setting(struct mtk_base_afe *afe, = bool enable) dev_err(afe->dev, "%s clk_set_parent %s-%s fail %d\n", __func__, aud_clks[CLK_TOP_MUX_AUD_2], aud_clks[CLK_TOP_APLL2_CK], ret); - return ret; + goto ERR_SELECT_CLK_TOP_MUX_AUD_2; } =20 /* 196.608 / 8 =3D 24.576MHz */ @@ -175,7 +188,7 @@ static int apll2_mux_setting(struct mtk_base_afe *afe, = bool enable) if (ret) { dev_err(afe->dev, "%s clk_prepare_enable %s fail %d\n", __func__, aud_clks[CLK_TOP_MUX_AUD_ENG2], ret); - return ret; + goto ERR_ENABLE_CLK_TOP_MUX_AUD_ENG2; } ret =3D clk_set_parent(afe_priv->clk[CLK_TOP_MUX_AUD_ENG2], afe_priv->clk[CLK_TOP_APLL2_D8]); @@ -183,7 +196,7 @@ static int apll2_mux_setting(struct mtk_base_afe *afe, = bool enable) dev_err(afe->dev, "%s clk_set_parent %s-%s fail %d\n", __func__, aud_clks[CLK_TOP_MUX_AUD_ENG2], aud_clks[CLK_TOP_APLL2_D8], ret); - return ret; + goto ERR_SELECT_CLK_TOP_MUX_AUD_ENG2; } } else { ret =3D clk_set_parent(afe_priv->clk[CLK_TOP_MUX_AUD_ENG2], @@ -192,7 +205,7 @@ static int apll2_mux_setting(struct mtk_base_afe *afe, = bool enable) dev_err(afe->dev, "%s clk_set_parent %s-%s fail %d\n", __func__, aud_clks[CLK_TOP_MUX_AUD_ENG2], aud_clks[CLK_CLK26M], ret); - return ret; + goto EXIT; } clk_disable_unprepare(afe_priv->clk[CLK_TOP_MUX_AUD_ENG2]); =20 @@ -202,12 +215,25 @@ static int apll2_mux_setting(struct mtk_base_afe *afe= , bool enable) dev_err(afe->dev, "%s clk_set_parent %s-%s fail %d\n", __func__, aud_clks[CLK_TOP_MUX_AUD_2], aud_clks[CLK_CLK26M], ret); - return ret; + goto EXIT; } clk_disable_unprepare(afe_priv->clk[CLK_TOP_MUX_AUD_2]); } =20 return 0; + +ERR_SELECT_CLK_TOP_MUX_AUD_ENG2: + clk_set_parent(afe_priv->clk[CLK_TOP_MUX_AUD_ENG2], + afe_priv->clk[CLK_CLK26M]); + clk_disable_unprepare(afe_priv->clk[CLK_TOP_MUX_AUD_ENG2]); +ERR_ENABLE_CLK_TOP_MUX_AUD_ENG2: +ERR_SELECT_CLK_TOP_MUX_AUD_2: + clk_set_parent(afe_priv->clk[CLK_TOP_MUX_AUD_2], + afe_priv->clk[CLK_CLK26M]); + clk_disable_unprepare(afe_priv->clk[CLK_TOP_MUX_AUD_2]); +ERR_ENABLE_CLK_TOP_MUX_AUD_2: +EXIT: + return ret; } =20 int mt8186_afe_enable_cgs(struct mtk_base_afe *afe) --=20 2.43.0 From nobody Sat Sep 26 08:37:13 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 89F3C3859CE for ; Thu, 3 Sep 2026 05:12:19 +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=1788412340; cv=none; b=STCRtAQqKgG5S34PAzGAHfdfFWMJIn7dcEjat1xmP8ecQxHKHXiPMxYcXDE4qNByopV1rsMfOcQKvyz0b36RrPOoOnFYwlY+iKHz/brNUC0Z6kNH51aKhkk2oRZeSHSb9gHYyuCdPuIXIjAIZm649hRimh3K6VMLSbFW0evWieo= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1788412340; c=relaxed/simple; bh=odPnwzTim5VJzRoqJDHtv4SSFk1321MGuPADe6BBZ6I=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=oKGM986Hc4fWdDW9QWaeDlnXARHVQuMZTd4RAIvQp2QjmTWIx0bTGcqgaQs5iOCQWv7Yg0oRd7dnsLIcuJEv21QYzJKgCVeCeCmIzP0AwAhozYDuMu7N6/SmHBVGMCys4N+vQQo7z8eKzWe/ETwRdlN9utt0zBefz2tbHh2DJZs= 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=USMSwsGC; 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="USMSwsGC" Received: by mail-pj1-f52.google.com with SMTP id 98e67ed59e1d1-398b3c37877so2362360a91.0 for ; Wed, 02 Sep 2026 22:12:19 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1788412339; x=1789017139; 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=5wPkQ2yKZRMb3dr4gnYaeyOoBnx66i8isM9HTrrtk6Q=; b=USMSwsGCFXaVZ0NyKpTrBXaZdBXjspKncE4I4GEdmB5T2hxzPP9T+FuA2kkUlmxfh+ j4LUtrarnD6QxXIR3FnECoeRcsh2Nel4xo5/X9qsDR6ZgFe59yQTtzPnIJWAyLk5/GZt qRnSsTW38GwFHqRYE7XmP8A0IbuIWO6vzzuJs8WH1UCLiG7lvgy2EfgvfXmoh2YvFDkd TcRUdMZ4rqAk3fYwrfkR584mLUjosUkOgEAsdK4RkccJs2lHnjh+g1hS43ESrYOwBK8s dHRDBh2RPpaehF+sOzO90kUyVx/XUnoB95gBeeUlV7ueznH7vMoAJpMaJzyIa1SS63RF yqJw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1788412339; x=1789017139; 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=5wPkQ2yKZRMb3dr4gnYaeyOoBnx66i8isM9HTrrtk6Q=; b=NAJFe9MlMQxWT6f9t6ysg9nWZmKOIxaRdgNmRs/2jSi7uTgRey3HWq1yRUCwWAZY75 wht6sT8EHcwRqPTTYUg+8fFyESMD9KTVicX0XgKzU1Kx9low9SCgAiZmvaL365+DLdSY mCf71fzMcX1ipdX/vbTRKnJN/b/MbaET/wsd002odhYAksZRyB2B67sRanvBWSw+qBA8 FqoaTh2927IaJbqR/CNNmWLF2Dl0CX1HXMbVfEPF5lIFX9YItG3VoUQUnVms+UnxpPqk YJr4MF0Hjpq4tnDFxifFT9rpfz8cK/szcS8/E5dlaGNn5Q9ASbW0YFgetjEn0h1U1pTU N2vw== X-Forwarded-Encrypted: i=1; AKwUvBx4b19Rn6TFk78r5i3Wo09ikTTMWDOMigJqzJiOjcv7BNYVDw7Zem/6/WGIMZA51ONI/KidxASPqnKSsCw=@vger.kernel.org X-Gm-Message-State: AFuF++nOLgo6AuHOeWFf8YZEsqYLpRw/xKwOOklpBOJkEJfhtTc2FrSq hqw1+ZsIxXGQi2erv4nm10a8RsS8PpwU2dTpM2tiS1LSW8BY1A8idHIo X-Gm-Gg: AYBFou2t9SII/o4GGWov9DC+LNAl7b/8ry+ETy0Vi0LDRW6JC2VMoBosVYZupU7pXZM +rSCRBw0mi/2O6XEhqGmOXKnOcJSV4zbnwo0enga8tUfFLH9TiATIYSDjnnsAl2CLIG3/lyLQu5 /t0RfuE5HU7G/sZODTvRrgHkkf/KkVPjVsGJ78Bq6stDynHDNmoo7Q7oBwdyyTNFnu2pJAGBszv tMKbs/Ys16kJbkyB/SpPoxE6MRbv9INpQjeQM64s85Fy6In/PRzQz66S6Ku7W+GoaiHpZNuLCoe UdtYGhPBurKd2ylgLPBDHedG1lPa0EsjF5EwKmHO9TNrlUk3jVQ3ynSB5HFT+7tUJlWN6BsF9Ck zJnjNRgR7U4DhEfqGYT6H42Mw6eM88ROOlYH7NH9pH1ajRfTf+K4eBfnN3fFKM+IQhbHZCeWnYY 1udXQKNRiYpm4upb9g/Y7iM21nbYFVIFtBxBo++jQKBnenJWBGqfj5yBOjdJn/oTxa9Up8TpshU 2pPfP4T0SkrQMEDFQIIbKP9u4R5tSNnNfS5loOikPghQgSy4DqM85xr9U4bQTqfouTqapeZNvly 5cUxwHq5P5vCLh5h X-Received: by 2002:a17:90a:dfcd:b0:398:ba0e:96f6 with SMTP id 98e67ed59e1d1-39aee1ad8edmr15910160a91.23.1788412338925; Wed, 02 Sep 2026 22:12:18 -0700 (PDT) Received: from phuc-desktop.. ([183.91.15.56]) by smtp.gmail.com with ESMTPSA id 98e67ed59e1d1-39b0875ce14sm3218092a91.13.2026.09.02.22.12.15 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 02 Sep 2026 22:12:18 -0700 (PDT) From: phucduc.bui@gmail.com To: Mark Brown , Matthias Brugger Cc: Liam Girdwood , AngeloGioacchino Del Regno , Jaroslav Kysela , Takashi Iwai , Cezary Rojewski , Jiaxin Yu , Kuninori Morimoto , 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 v4 2/8] ASoC: mediatek: mt8186: Fix clock handling in mux disable path Date: Thu, 3 Sep 2026 12:11:44 +0700 Message-ID: <20260903051150.178057-3-phucduc.bui@gmail.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20260903051150.178057-1-phucduc.bui@gmail.com> References: <20260903051150.178057-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 In the disable path of the appl*_mux_setting() functions, clk_disable_unprepare() is called after clk_set_parent(). If clk_set_parent() fails, clk_disable_unprepare() is skipped, potentially leaving one of the clocks enabled. Remove the goto exit paths so that all teardown steps are attempted and any errors are only reported. Fixes: 55b423d5623c ("ASoC: mediatek: mt8186: support audio clock control i= n platform driver") Signed-off-by: bui duc phuc --- Changes in v4: - In the mux disable path, remove the goto labels so that all teardown steps are attempted and any errors are only reported. sound/soc/mediatek/mt8186/mt8186-afe-clk.c | 6 ------ 1 file changed, 6 deletions(-) diff --git a/sound/soc/mediatek/mt8186/mt8186-afe-clk.c b/sound/soc/mediate= k/mt8186/mt8186-afe-clk.c index aa8b2eaf7b95..3edd0dd20eed 100644 --- a/sound/soc/mediatek/mt8186/mt8186-afe-clk.c +++ b/sound/soc/mediatek/mt8186/mt8186-afe-clk.c @@ -131,7 +131,6 @@ static int apll1_mux_setting(struct mtk_base_afe *afe, = bool enable) dev_err(afe->dev, "%s clk_set_parent %s-%s fail %d\n", __func__, aud_clks[CLK_TOP_MUX_AUD_ENG1], aud_clks[CLK_CLK26M], ret); - goto EXIT; } clk_disable_unprepare(afe_priv->clk[CLK_TOP_MUX_AUD_ENG1]); =20 @@ -141,7 +140,6 @@ static int apll1_mux_setting(struct mtk_base_afe *afe, = bool enable) dev_err(afe->dev, "%s clk_set_parent %s-%s fail %d\n", __func__, aud_clks[CLK_TOP_MUX_AUD_1], aud_clks[CLK_CLK26M], ret); - goto EXIT; } clk_disable_unprepare(afe_priv->clk[CLK_TOP_MUX_AUD_1]); } @@ -158,7 +156,6 @@ static int apll1_mux_setting(struct mtk_base_afe *afe, = bool enable) afe_priv->clk[CLK_CLK26M]); clk_disable_unprepare(afe_priv->clk[CLK_TOP_MUX_AUD_1]); ERR_ENABLE_CLK_TOP_MUX_AUD_1: -EXIT: return ret; } =20 @@ -205,7 +202,6 @@ static int apll2_mux_setting(struct mtk_base_afe *afe, = bool enable) dev_err(afe->dev, "%s clk_set_parent %s-%s fail %d\n", __func__, aud_clks[CLK_TOP_MUX_AUD_ENG2], aud_clks[CLK_CLK26M], ret); - goto EXIT; } clk_disable_unprepare(afe_priv->clk[CLK_TOP_MUX_AUD_ENG2]); =20 @@ -215,7 +211,6 @@ static int apll2_mux_setting(struct mtk_base_afe *afe, = bool enable) dev_err(afe->dev, "%s clk_set_parent %s-%s fail %d\n", __func__, aud_clks[CLK_TOP_MUX_AUD_2], aud_clks[CLK_CLK26M], ret); - goto EXIT; } clk_disable_unprepare(afe_priv->clk[CLK_TOP_MUX_AUD_2]); } @@ -232,7 +227,6 @@ static int apll2_mux_setting(struct mtk_base_afe *afe, = bool enable) afe_priv->clk[CLK_CLK26M]); clk_disable_unprepare(afe_priv->clk[CLK_TOP_MUX_AUD_2]); ERR_ENABLE_CLK_TOP_MUX_AUD_2: -EXIT: return ret; } =20 --=20 2.43.0 From nobody Sat Sep 26 08:37:13 2026 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 B6647168BD for ; Thu, 3 Sep 2026 05:12:24 +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=1788412346; cv=none; b=GQFIMRpQ7g7AWryph1idUY2DcSmmrYyMvovvsbfgdxuE8OlSNYDHIrEABp/rkN3o6qHrMWTUiqp9vMVlsdx4fyWd0Slr2ml2bo2I0rKKD8tRGwb18DXDd4Gl4h0fDIISA1/UYY/H271nIIzvFBeCwQyItMTyuWh1G0I1qEVdGGs= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1788412346; c=relaxed/simple; bh=UmnqL6M25drr5zDmIxrr/zQAOZdWt9FGZuHi/bpNqM4=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=kjzTtjTc6qVtwVlPGvwB/vz42NuIN3GJijxdOELo0Us4ysglUWmjJQfT7IgR8WfeTGitM5nmZVOh+PheV3yQvdF95xLX/LPYTicqss2ZlCG89NZKCNw0XifpUXiDwa9R77bZnK0Ovm3fzY0fMLZd7HJcfP4xQjV6aBzsAEQKBME= 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=ArdzoqXH; 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="ArdzoqXH" Received: by mail-pj1-f43.google.com with SMTP id 98e67ed59e1d1-382ef647e20so2311595a91.1 for ; Wed, 02 Sep 2026 22:12:24 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1788412343; x=1789017143; 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=MkJ39B1HLIjudCYGC3Enm23IBUt9PIrUzK1D2BnlrWM=; b=ArdzoqXHtQyTSXVipafzxLkbhvHaoA+TFUYJ0Fdnc3Mwo2bpS1cQELWV4sbKbeDIyH xjGOV9+oalwJOgylE0YEK2flAAol1LU8cOkhFixe5/8pInjH+KArQAiyNkOlQCuUiMY2 wyW3IN/ubb+dB5ZAlHdP1tid2j1GmM/ONJIasYa9LPE2UJPTH8qlgCbyMjHGT7LfAOI2 MV+RYno691bVjoxneidxowb0N1yvVt6tz/1F2oymoRyjcclZDWNWlqRMX7ZztPbQ3NCw BMbSwlbg/rybS6wn5aNLulMyq1xbb2S+y6/0tNqa07lNySb1ydqB37Oz1uoduokfVDh1 d9Mw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1788412343; x=1789017143; 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=MkJ39B1HLIjudCYGC3Enm23IBUt9PIrUzK1D2BnlrWM=; b=hygqC1H9PsyBi8hCZHxG95921YGTbLBUrEYrTT2/cT3MvvEAAPkYEgNnki178cIuZY eoNkyfwr1EByTOaM9ZcHCH4bDtpcv7VVq6FALCBHpcwtPKnDIkoJIEvX0y9+kvHe7REx QagbnA1HdNGASZfWkbruNL2KfOE7jMEjzf73NpnLYNtSgvxBwjo7XDOmkOdfPsw9XL9M dtiGDuAYC488MBJjBVGE/+TjpkuooS4fpgiVqVnWiVLOqOxnAB9Ak2m1o0eM8dhcvXIA 0pB0sd1jCh9dZxStX5YwVcMdEeMFHpTkCQ6n7u0vKxj05NsKzWJoL/KSNUUcSFjP8WGy k+ig== X-Forwarded-Encrypted: i=1; AKwUvBy4h/uybxYvdzLSMgoQfxe5IiNc0Xb6mxakusyCEiiy13X7uBLafwMLQAcXtTmQBRUfk8vHEMPKltszJig=@vger.kernel.org X-Gm-Message-State: AFuF++ne8Ws4hGrxrfpdXj3kOfCWNbQ+CkKwRXCkCiO4CfwK7ZtNpKpe cv3XzYY6qSj9GbsGbwbtoJuSWLXKOtL2RO48MCQHHsGSrWqn0S7x36AR X-Gm-Gg: AYBFou1YV9TZewwdPzUG7BDqu8+nIrDtkGs7cbfTtJZJqioBUP5rFrW/C8+6UC1mEY4 Tbi711fbp/k28iT08+9WQ47FYpg5m7QmdpzBN//LV959jjJhaVwSwKCRP8xkUeeydzSvJRU/dWG Bc3mkXRQZuyxBHwP9ab9mfPdhqwAbvLohRf+PGETsXgZXRTEIEQrR3aiSMfMaDZCHNuHeAIHNay JmZiAXKYydbJu0M8JIK/l28AFDUOqx12jielkRo2AtnzmMwDaTNhDul9z/ddArUoVE3xTKPtQLD QvbWnIfVdU8YfLEX8SpFou8qFkJ2EeiAjaYhNe9UD6mKSLaC+eZcvksQcEjIYsiJufriWtRXkK2 cElbsSktpJdK6m7g6ePjJ9NXsF9IH94Tbmo9AwyiFKzbggmPR4xKTzzT3RH6NVY5HJvl8ycOwlw B5WnIPEPXIehcuZ7w1KMbdYD39jUXw/kRjI2CXCIaPI3rqQraiLtd/eURMqQSJgBv6qBN+qbGGt WntPeIdcy1whA+FkOSwSOQuR4h3EjD3sv61/U4WNrdQCEFsaXnc/e1jXYy8/rDl0TZcZVdg1Ubd DIeXk8gVzcyLhc93 X-Received: by 2002:a17:90b:1c8b:b0:398:dcfe:967a with SMTP id 98e67ed59e1d1-39aee0ab6f2mr12102665a91.17.1788412343352; Wed, 02 Sep 2026 22:12:23 -0700 (PDT) Received: from phuc-desktop.. ([183.91.15.56]) by smtp.gmail.com with ESMTPSA id 98e67ed59e1d1-39b0875ce14sm3218092a91.13.2026.09.02.22.12.20 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 02 Sep 2026 22:12:23 -0700 (PDT) From: phucduc.bui@gmail.com To: Mark Brown , Matthias Brugger Cc: Liam Girdwood , AngeloGioacchino Del Regno , Jaroslav Kysela , Takashi Iwai , Cezary Rojewski , Jiaxin Yu , Kuninori Morimoto , 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 v4 3/8] ASoC: mediatek: mt8186: Fix AFE clock error handling Date: Thu, 3 Sep 2026 12:11:45 +0700 Message-ID: <20260903051150.178057-4-phucduc.bui@gmail.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20260903051150.178057-1-phucduc.bui@gmail.com> References: <20260903051150.178057-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 error paths in mt8186_afe_enable_clock() do not consistently undo the clock operations performed before an error. Fix the goto targets and cleanup order so that the audio internal bus parent is restored to CLK26M and all previously enabled clocks are disabled before returning the error. Fixes: 55b423d5623c ("ASoC: mediatek: mt8186: support audio clock control i= n platform driver") Signed-off-by: bui duc phuc --- sound/soc/mediatek/mt8186/mt8186-afe-clk.c | 18 ++++++++---------- 1 file changed, 8 insertions(+), 10 deletions(-) diff --git a/sound/soc/mediatek/mt8186/mt8186-afe-clk.c b/sound/soc/mediate= k/mt8186/mt8186-afe-clk.c index 3edd0dd20eed..685dc27c7780 100644 --- a/sound/soc/mediatek/mt8186/mt8186-afe-clk.c +++ b/sound/soc/mediatek/mt8186/mt8186-afe-clk.c @@ -288,7 +288,7 @@ int mt8186_afe_enable_clock(struct mtk_base_afe *afe) dev_err(afe->dev, "%s clk_set_parent %s-%s fail %d\n", __func__, aud_clks[CLK_MUX_AUDIO], aud_clks[CLK_CLK26M], ret); - goto clk_mux_audio_err; + goto clk_mux_audio_intbus_err; } =20 ret =3D clk_prepare_enable(afe_priv->clk[CLK_MUX_AUDIOINTBUS]); @@ -315,24 +315,22 @@ int mt8186_afe_enable_clock(struct mtk_base_afe *afe) if (ret) { dev_err(afe->dev, "%s clk_prepare_enable %s fail %d\n", __func__, aud_clks[CLK_AFE], ret); - goto clk_afe_err; + goto clk_mux_audio_h_parent_err; } =20 return 0; =20 -clk_afe_err: - clk_disable_unprepare(afe_priv->clk[CLK_AFE]); clk_mux_audio_h_parent_err: + mt8186_set_audio_int_bus_parent(afe, CLK_CLK26M); clk_mux_audio_intbus_parent_err: - mt8186_set_audio_int_bus_parent(afe, CLK_CLK26M); + clk_disable_unprepare(afe_priv->clk[CLK_MUX_AUDIOINTBUS]); clk_mux_audio_intbus_err: - clk_disable_unprepare(afe_priv->clk[CLK_MUX_AUDIOINTBUS]); + clk_disable_unprepare(afe_priv->clk[CLK_MUX_AUDIO]); clk_mux_audio_err: - clk_disable_unprepare(afe_priv->clk[CLK_MUX_AUDIO]); -clk_infra_sys_audio_err: - clk_disable_unprepare(afe_priv->clk[CLK_INFRA_SYS_AUDIO]); + clk_disable_unprepare(afe_priv->clk[CLK_INFRA_AUDIO_26M]); clk_infra_audio_26m_err: - clk_disable_unprepare(afe_priv->clk[CLK_INFRA_AUDIO_26M]); + clk_disable_unprepare(afe_priv->clk[CLK_INFRA_SYS_AUDIO]); +clk_infra_sys_audio_err: =20 return ret; } --=20 2.43.0 From nobody Sat Sep 26 08:37:13 2026 Received: from mail-pj1-f46.google.com (mail-pj1-f46.google.com [209.85.216.46]) (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 51DE7388397 for ; Thu, 3 Sep 2026 05:12:28 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.216.46 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1788412349; cv=none; b=g7ls7MhgujkCASPG/y9j1rqmn+WXSxBJ15kuUtNTYKrLPyOjTs6iBU09LMGCcqGsAWevMT9t1oVM34a79s+zPjXbvtR7jg1Av5ozCVgd6zhT/Vqvx5GiOENoH9QsvDDaM588aDeZsVIjNZl+nDjo6UL7cLBRZfeGFAkxn3rNBrE= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1788412349; c=relaxed/simple; bh=Lu9ftL++z7WjSD5MPMDlXb7QZyJAM5mSBPMFjz6MMrA=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=KiLTDEUYfIMgbrb+v88UdwH4pPldsZET0oTNWSRsvYFjr18N7tRnE+0ZZPdH8fJmozpnDpieR/E2kWfo3OLr3drTRUGDWu6XCLCbnvGjtvrpF5tCbrWkiKjbbrOqpStagivickZwOgli+u2TQ8NR/ZzD1+1avVEDOracWzqyVPQ= 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=fdKwpUmL; arc=none smtp.client-ip=209.85.216.46 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="fdKwpUmL" Received: by mail-pj1-f46.google.com with SMTP id 98e67ed59e1d1-39675172593so1877141a91.2 for ; Wed, 02 Sep 2026 22:12:27 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1788412347; x=1789017147; 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=teLAShLua5VCgT/jcx7hzSu9pxqI7I/30dsuHzraqHI=; b=fdKwpUmL/dNbkMxazywB7B5oHX1yMxA2kkHJPS/l02cXe+9j88T/fL6O1PiLKbXWXY Ha6f6fSEVzQly1oPu6OrV4NZwLoiKLB8E6TFmne09wdCJHQIgDjpLAVcl09VaPuimpoJ YicoyahMoo4BiZTvIF/CL3ZYBVH0ycv42dfXsBBcYyPT+fuGrD3Ntnf1uJ1u3QcQNMGR UTC6gsBD4dNC46fSmMURvT+bCsKzkAEkrQ/HXQmqisxYi+U+qxWO4uxDW1TBD5Y0NA9q ln4ojTCdw5qnoE54zFg/8aLSwAbkmSnarYpfJViezZrusHxeUBJfF7SXR+Zga7Ynm/af rTgQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1788412347; x=1789017147; 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=teLAShLua5VCgT/jcx7hzSu9pxqI7I/30dsuHzraqHI=; b=slF/jVU6Ubsd/r+G+53rD0GAm2GofCoCPUovkkUtZA9LnKDBxNGSdA19hOhx3q5sKk qBFyWSQMmOXoA+iE+wlnBbeic6A8pcHQr59LZqYwTJvJKGncY85Ps1IsY4naTBcPJYem GFetUpGZGQG3ZmcHRDS32jDx4HUe8Vo/7NnTcXlWMoZFtJxm412FYsROArWoCu1TAo3V 1MnM68qQ5BXJCo1TLyDt3obm4TC+hcS8brjUXc/B2lO7OhFROyQfzndTHkysNL/R2UHk DOa6dKfrEfyUa1BOl/ofAquJSvgkdAFiT/nGJKOUMNBDAp6oHWYlEhNjRTWYif3yaioi m4Sw== X-Forwarded-Encrypted: i=1; AKwUvBwquoaip9+ZfMgJvWSBgsRnn+B66YTi+VgwYkL/e8aQ07ZL8rM6hFoRl3/1jr/ioXg2FgSpySu2DK7SU5c=@vger.kernel.org X-Gm-Message-State: AFuF++mEifYfo8LNAPM8lmJxFxrXb1HJWd3bwQEtzvL+TNgl1pqyg/Np 1cYfTxTrP0lRMoxKahAuH+OSC8Vy4gFUJ5MvNjQAvR1+pViPQJ3cMb6fRR8gzw== X-Gm-Gg: AYBFou1TrBfnAED3OFFawZ57iqDSAMi2FmrBCAkTrrVY1xUp54+m5uTlLqhddul7qEj dMt5Il6MojTH0LIMvtRkhfoEj5kGg5RoRj6b/B9TCmaVwvPceyMW6RNV7IQs6p33Bl9OOrOv6FG WWqWW5aXs368HDVerj79C5AXSID6r1RhdgBEKtfOwMAWceZnL0443gaBUrALYwewYEImfNxj11G FuTUkhKOIdCQxkNwaEpnY2B2TgrCBqrt1l6t0fyC4X4qPWJ5bmPoDjTv0GzTkVs6endQmEFeNtG OIaEXVX0RhzY5MeV4G6+N+B0JImvvfe5ds5G1aMQzJIvYoEow7oXskn0Qxf7vakqkU33MRs/hvw 42VuEYJlds7Tows7bWH2o5pCUhyFaFdapwhyciy0N+CkcccNPozIvzhAgdxE6R4Q9jwiIJ0ZwZd vpgPCk8+p5RPmvbctABShyDocq050pTEGUZzihPyrUkbvt9rv4cJdqr+aO/PV97fWca2nB1gOCk UKQWlNdB3pk6s5NRUNJQvzKCmh9MTntT5wJuTmYVWX/S/p9RdahrHOz0ONvwhcDWwqQqxJGxH0B IQRRz/M6Tkuj0po= X-Received: by 2002:a17:90b:520f:b0:398:9c00:29e9 with SMTP id 98e67ed59e1d1-39aee1b72e5mr16164501a91.17.1788412347415; Wed, 02 Sep 2026 22:12:27 -0700 (PDT) Received: from phuc-desktop.. ([183.91.15.56]) by smtp.gmail.com with ESMTPSA id 98e67ed59e1d1-39b0875ce14sm3218092a91.13.2026.09.02.22.12.24 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 02 Sep 2026 22:12:27 -0700 (PDT) From: phucduc.bui@gmail.com To: Mark Brown , Matthias Brugger Cc: Liam Girdwood , AngeloGioacchino Del Regno , Jaroslav Kysela , Takashi Iwai , Cezary Rojewski , Jiaxin Yu , Kuninori Morimoto , 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 v4 4/8] ASoC: mediatek: mt8186: Fix APLL enable error handling Date: Thu, 3 Sep 2026 12:11:46 +0700 Message-ID: <20260903051150.178057-5-phucduc.bui@gmail.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20260903051150.178057-1-phucduc.bui@gmail.com> References: <20260903051150.178057-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 Currently, the mt8186_apll*_enable() functions call mux_setting(afe, true) but do not check its return value to handle failures. In addition, the cleanup paths of mt8186_apll*_enable() do not call mux_setting(afe, false) when the enable operation fails, while the mt8186_apll*_disable() functions do. Add error handling for apll*_mux_setting() and call mux_setting(afe, false) in the cleanup paths when mt8186_apll*_enable() fails. Fixes: 55b423d5623c ("ASoC: mediatek: mt8186: support audio clock control i= n platform driver") Signed-off-by: bui duc phuc --- Changes in v3: - Return directly from apllx_mux_setting() instead of using a goto label sound/soc/mediatek/mt8186/mt8186-afe-clk.c | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) diff --git a/sound/soc/mediatek/mt8186/mt8186-afe-clk.c b/sound/soc/mediate= k/mt8186/mt8186-afe-clk.c index 685dc27c7780..77a0cbc8ee24 100644 --- a/sound/soc/mediatek/mt8186/mt8186-afe-clk.c +++ b/sound/soc/mediatek/mt8186/mt8186-afe-clk.c @@ -353,7 +353,9 @@ int mt8186_apll1_enable(struct mtk_base_afe *afe) int ret; =20 /* setting for APLL */ - apll1_mux_setting(afe, true); + ret =3D apll1_mux_setting(afe, true); + if (ret) + return ret; =20 ret =3D clk_prepare_enable(afe_priv->clk[CLK_APLL22M]); if (ret) { @@ -378,9 +380,9 @@ int mt8186_apll1_enable(struct mtk_base_afe *afe) return 0; =20 err_clk_apll1_tuner: - clk_disable_unprepare(afe_priv->clk[CLK_APLL1_TUNER]); + clk_disable_unprepare(afe_priv->clk[CLK_APLL22M]); err_clk_apll22m: - clk_disable_unprepare(afe_priv->clk[CLK_APLL22M]); + apll1_mux_setting(afe, false); =20 return ret; } @@ -406,7 +408,9 @@ int mt8186_apll2_enable(struct mtk_base_afe *afe) int ret; =20 /* setting for APLL */ - apll2_mux_setting(afe, true); + ret =3D apll2_mux_setting(afe, true); + if (ret) + return ret; =20 ret =3D clk_prepare_enable(afe_priv->clk[CLK_APLL24M]); if (ret) { @@ -431,9 +435,9 @@ int mt8186_apll2_enable(struct mtk_base_afe *afe) return 0; =20 err_clk_apll2_tuner: - clk_disable_unprepare(afe_priv->clk[CLK_APLL2_TUNER]); + clk_disable_unprepare(afe_priv->clk[CLK_APLL24M]); err_clk_apll24m: - clk_disable_unprepare(afe_priv->clk[CLK_APLL24M]); + apll2_mux_setting(afe, false); =20 return ret; } --=20 2.43.0 From nobody Sat Sep 26 08:37:13 2026 Received: from mail-pj1-f48.google.com (mail-pj1-f48.google.com [209.85.216.48]) (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 2220638736E for ; Thu, 3 Sep 2026 05:12:32 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.216.48 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1788412353; cv=none; b=RTd+9i5lVK6Df0uxlquB4n0rBHS9RixTheievMTiPaSQZHQYgI5N82w1ww+kOU3KjtbeyuLG5i4PJMK/lreDvrHsR0X0aKf1WgCYRjS67S98jhmVYSmlCfI2GvPETad1H4yttwb+Sv2i652Vi2o+GAsrb17zlqfd04fX1TtWvcI= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1788412353; c=relaxed/simple; bh=IMMNfAHA925c8xRPeFIaX7picSPtRX32u3H+Rxm6mmY=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=PixcqpEvjwkqu4FUPeyxp0nDr8vsrkl/Ar6OZYsoNImYqNFS/Z7/YBxTGFem8/iff/8YCzPe2BWwlPOkGElSvIk7cXby5Xa/VPvr5H9xCacSjVLCdfS4v5/jsm9NuXjo/YwV5KNBEcUSsWYj3Q0Gc362PhNCxsCCn0zUlv7wWL4= 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=NFL8vXf3; arc=none smtp.client-ip=209.85.216.48 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="NFL8vXf3" Received: by mail-pj1-f48.google.com with SMTP id 98e67ed59e1d1-398e9698a70so1838629a91.0 for ; Wed, 02 Sep 2026 22:12:32 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1788412351; x=1789017151; 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=bQlCZdv6KNUR0PACOoD9lgtTeqoM7wiIPRUAOQBrgJY=; b=NFL8vXf3VGaIJZPqkSa0ofqQsno/jCjN0fUr424mibkV4jdAXzx+ctAiGkJyKghWih N0HSqNtIwqUwIFNo+YwbWMjaOLMC/IMA+MeRDS7IfOnUerO2tU+VY1wasyqzG4PSRi55 vzMZk3xjycpEzCaEaX+ovc7HLNM1ILrJ2z7E5dluvrAHBLRSfxctJ3csREUCQDKttwYa /6xkWk9HmQpWf7fV0Etqt9CGR7eZgnDKnIwvj7i7LQGulgpaEktByj2ChR8JlqqiDas7 DRM+FuS//DGr0ojGHZfd1/Jqj3t0cEpvpNt9rOaW2g3lajD3wYuonSksBs4yMIIZB6hd 4LaQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1788412351; x=1789017151; 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=bQlCZdv6KNUR0PACOoD9lgtTeqoM7wiIPRUAOQBrgJY=; b=eTN3Py+/TNSyKr3av0b/TkoKZPvHRL/5RvmMfGCwAQ5VK6DvPo9iTSDRKnHk1HK4F6 +oY14uCpQ6NnLM2fm3chuUQEWc5qQUlc+pHt1py8QSjsrZEL0zJxw0ZoLRpyF5Xj2i/r rsgP/nXp54nA+okJeCljNeaHLsuInh5nVShhc+XpCVzCsJ704i42/yKw/mO6nUymAsWe KX0MKSuZL5+KyU2lHU+H9nrD4y+3j2MLoDhdck/3BXdDrW/wqR6Jxo7zBnwqyaoqi0Y2 7r2Ugus4258LQE3U0uiCQArKbkVX/8ljByH5Q3T9xBqCXbowO5/RndxSBdQwvtlqgNE/ MbGQ== X-Forwarded-Encrypted: i=1; AKwUvBzhH1v23W9Dc+x392a8pexD/b9CTkNTJSXAepMFDA4TCe5NV7qKYUT7T4NxKgBUwU8mWt7ViCEbjD9g8TA=@vger.kernel.org X-Gm-Message-State: AFuF++lpEA1IBQ3Gx2l7tYVkP0tW32cYNo6Yk7OehrLgalQiMOIfBQ65 PKLBF3MBs+6EZoacLn+wOUt/dP3nNSc3Rg1ag+dBcuA4STQbxxnypUWw X-Gm-Gg: AYBFou0NyoP4rXZ3XvglZ+5Him1adJ93NpvTqs+Q0CFEHcArKf0nPhoyPQ0F4ERS8S8 6xJiLE82hpzrSnZEnq4Tknwx9y8oQ3EJEsmXsqzWqSbyQgNHzTPpjCYQKv52nzcu7aGA1S4cYu9 5rHrEZa1FKt3GMjGWVb4lFM2wuo8KbTAElo7YiIt94FGbYzAmfvqetV20GEzH2+nGND3tAkucP/ tTKlVEzk5H7vjS4fOtSbzF5iCNuigftGL9M9Qb+HYWkyARhtTBH+tkkLGSHX8g3unOVtv0PGfOM IhX9khqzSfM4d7Yq0Vl+mm75ljFEoZOii61IAWx4I+eGgkqtjm+Gi7cVnu/XCAUWwvmE6W5/E42 4hUGaBGU5GAe3LQfri/jWIl0ymsEpIjwU9/yl+ntn/nYouGYQiCdwNdid/wkGvmHLd+3E5VDOGS VzeM1/Np+AS7XuMUOHbwWPbJ42sDRjXNpDsXdKEzcZVlOXR2l1q2RRmZQla63PdLO0B8UEOjo7B HhX1RwdNeudp3w2lQHBT502lmU6lpOoktnjqopoTB5gtIeqRxbVRPvp1XwmdKU+5XSTlDO17daH kWx2 X-Received: by 2002:a17:90b:5288:b0:398:9bd1:3214 with SMTP id 98e67ed59e1d1-39aee123ff5mr15589958a91.21.1788412351417; Wed, 02 Sep 2026 22:12:31 -0700 (PDT) Received: from phuc-desktop.. ([183.91.15.56]) by smtp.gmail.com with ESMTPSA id 98e67ed59e1d1-39b0875ce14sm3218092a91.13.2026.09.02.22.12.28 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 02 Sep 2026 22:12:31 -0700 (PDT) From: phucduc.bui@gmail.com To: Mark Brown , Matthias Brugger Cc: Liam Girdwood , AngeloGioacchino Del Regno , Jaroslav Kysela , Takashi Iwai , Cezary Rojewski , Jiaxin Yu , Kuninori Morimoto , 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 v4 5/8] ASoC: mediatek: mt8186: Fix MCK error handling Date: Thu, 3 Sep 2026 12:11:47 +0700 Message-ID: <20260903051150.178057-6-phucduc.bui@gmail.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20260903051150.178057-1-phucduc.bui@gmail.com> References: <20260903051150.178057-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 mt8186_mck_enable() function returns immediately when a clock operation fails, leaving previously enabled clocks active. Add error paths to disable previously enabled clocks before returning the error. Fixes: 55b423d5623c ("ASoC: mediatek: mt8186: support audio clock control i= n platform driver") Signed-off-by: bui duc phuc --- sound/soc/mediatek/mt8186/mt8186-afe-clk.c | 17 +++++++++++++---- 1 file changed, 13 insertions(+), 4 deletions(-) diff --git a/sound/soc/mediatek/mt8186/mt8186-afe-clk.c b/sound/soc/mediate= k/mt8186/mt8186-afe-clk.c index 77a0cbc8ee24..62b008b7caca 100644 --- a/sound/soc/mediatek/mt8186/mt8186-afe-clk.c +++ b/sound/soc/mediatek/mt8186/mt8186-afe-clk.c @@ -520,7 +520,7 @@ int mt8186_mck_enable(struct mtk_base_afe *afe, int mck= _id, int rate) if (ret) { dev_err(afe->dev, "%s(), clk_prepare_enable %s fail %d\n", __func__, aud_clks[m_sel_id], ret); - return ret; + goto ERR_ENABLE_MCLK; } ret =3D clk_set_parent(afe_priv->clk[m_sel_id], afe_priv->clk[apll_clk_id]); @@ -528,7 +528,7 @@ int mt8186_mck_enable(struct mtk_base_afe *afe, int mck= _id, int rate) dev_err(afe->dev, "%s(), clk_set_parent %s-%s fail %d\n", __func__, aud_clks[m_sel_id], aud_clks[apll_clk_id], ret); - return ret; + goto ERR_SELECT_MCLK; } } =20 @@ -537,16 +537,25 @@ int mt8186_mck_enable(struct mtk_base_afe *afe, int m= ck_id, int rate) if (ret) { dev_err(afe->dev, "%s(), clk_prepare_enable %s fail %d\n", __func__, aud_clks[div_clk_id], ret); - return ret; + goto ERR_ENABLE_MCLK_DIV; } ret =3D clk_set_rate(afe_priv->clk[div_clk_id], rate); if (ret) { dev_err(afe->dev, "%s(), clk_set_rate %s, rate %d, fail %d\n", __func__, aud_clks[div_clk_id], rate, ret); - return ret; + goto ERR_SET_MCLK_RATE; } =20 return 0; + +ERR_SET_MCLK_RATE: + clk_disable_unprepare(afe_priv->clk[div_clk_id]); +ERR_ENABLE_MCLK_DIV: +ERR_SELECT_MCLK: + if (m_sel_id >=3D 0) + clk_disable_unprepare(afe_priv->clk[m_sel_id]); +ERR_ENABLE_MCLK: + return ret; } =20 void mt8186_mck_disable(struct mtk_base_afe *afe, int mck_id) --=20 2.43.0 From nobody Sat Sep 26 08:37:13 2026 Received: from mail-pj1-f53.google.com (mail-pj1-f53.google.com [209.85.216.53]) (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 C4BF43890EC for ; Thu, 3 Sep 2026 05:12:35 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.216.53 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1788412357; cv=none; b=EPWhAaGYgr+O95DHyhNf+Xww6SAVRCCFcQvBPy+KEA/M8E7fJcCwRGhfxTJV1Wo68i/0GDkLRt3CvZYV4ARTnOXR4KCoCyA4U64wOF7K+3nhafpJevicfUHzxh+x+T47kP8PfdNc1AHjf3EYxiR8I3Z/8sok4w2vlOVAJ//cNww= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1788412357; c=relaxed/simple; bh=57WzuTndarJ7qPiYwu6aU9mNYVkBNYV5ZI02Raa7014=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=cGvACQoYlOwSO4I3yQWN8FF92wvnN5xjZFkaCnRTe/Icw2A4WxJgUcR+wph9/BucUzk+Z+cw0H7NakWHa/G6IYQ+cSHJgV0WM7AJwQLZZRk5MavG5rdBdcBZfrTOeljs9pckBwr64YOQ7T9N4Of1OyMzwfLjp1d3aELb/3CNroA= 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=Fjkbw8WG; arc=none smtp.client-ip=209.85.216.53 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="Fjkbw8WG" Received: by mail-pj1-f53.google.com with SMTP id 98e67ed59e1d1-39266382df6so1766941a91.3 for ; Wed, 02 Sep 2026 22:12:35 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1788412355; x=1789017155; 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=dEPYMs3oUZAAKTHc6QxaYvJkApkADKiVPKec4AR+Oag=; b=Fjkbw8WGsNJ5twUSwmsaP8oJ1iZ3S20DFcaBFTd+eDYNAQ3BpG2jQaKxKS4DmxUd82 fuHQ1dwHnaaiyVhC5Z0VqTI5g6KQyCoJbH5oFd6l/ZD6GSE3YSZirBh3f54uu4o20/CK 3QnA8PSCbx0LMoO8TLx2WYzs+IZzCv8eMsnXssId+Xrg5hTD3BX5Jc2tBl2daYilDdo+ nUW/NtWzzbbUG/HjRF6GTJvU6Z7wNXN3iZ/dvJC6Tx9S+WJnU0jw8KMWB1/iuEbCuLn1 l2NaxhXc/LjzrDJCmS8eqWZ1YUu/3Lzouzqi9gX9Cn3xgHvG9sX1gSBZA4Y9RwLsqcHX PPhQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1788412355; x=1789017155; 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=dEPYMs3oUZAAKTHc6QxaYvJkApkADKiVPKec4AR+Oag=; b=CRoNgB/CPiXIp3ier8z7l5IGJIpWjnHRJKV2djxnImpo9jVR3PzNXFJDAFvPZEIogt RHMklBPql8Ee24EuA5wzeWtAYJdCUyTJM+O31rf4+pg9x2O8wuXMhY3O82DEFf0Vpbpl TKv6/qUmkvfrctZVJmpIVaglK98+h8XgHYnBDNLzBWW9mxBIaFBj0g501VZEQqdGydNc M4Ic3j0X4wrB2pAaYi/Sna293QpW56J/gSpjkpVcoX+9YhQMvaPT6hj6jrgX6UcWyx+x BIL/HtRuuxclBxHSsDD1fwSQBJiqpH1JkF28lzxrt0hDfpsin5QvPGnqk0cZoscK/g/V BK2w== X-Forwarded-Encrypted: i=1; AKwUvBzyTqHNxKB5dJX9YXbnEYhN3jbkxmg69tuT3/7m4yudHyrVgWvsLVwQ4Lm0VJNcAixHJaA0iK61aVUepfE=@vger.kernel.org X-Gm-Message-State: AFuF++lrWhnQzuK1w2gzqMEoMVPpfhqeFXeogrC1mu27wjeFW77xOVAi 6jodYfE0EICWIQuiUZVOU8ZQAkV4S+lZSgREvJOGrB7uSQ+ggIsLzWtOgHzndQ== X-Gm-Gg: AYBFou0u1SrWdY1f8OyO9NKyGwo8dGq+ntjEmRHDVEUp3s406wwo1tM7ivbTIipC7mT 1s68/HpUSaOtH0TzagxInPc4sM4UPLW8XGJ4SMotsm91Fc5BCUjDktI2lN0b96YOqWZbSER/pPY 5X5guDWTJdkSWIdxt8rImRN0e5e5UQ97k5SP51fNY7DV7BFNH2PYw5viogFDI50l9rETbahu7IV pxifQ3EfBSsvu4Mm/Zc/9mDSD31l01S8xiFuDjtK4wM127lKWi7u6JoOVYoYntRtgdpFYeoQJbX 3tJ6/Fu9V2Ju3r5n/VTrXM1zmku03t4UUfi50yEpwolGgHFL5jyRYYiCUjWqyLcfj7vVavfbT8z AFR9Mhi7AywnrAGCwhQID6GhBZRatiUR3acBL4e91MLdQnMpLP4KKZGxpIJK3/f5HgxSadVUL0G JLCmxLIqNvlKodLKOFkwVMJ4/hkTRbxdSDYx/IKkZZBlJM9rs2gf701Oo8PniaEG2vbNF+IlAoY ZCKRiENoUXfM5N4OX5QJWk3M9LNA7Wy1MCIhsV0dspLSBYtdEltuzwWrOCGusly3n/to3St8ZbZ jTKu X-Received: by 2002:a17:90b:4c05:b0:398:d93a:b343 with SMTP id 98e67ed59e1d1-39aedebf901mr14551384a91.3.1788412355201; Wed, 02 Sep 2026 22:12:35 -0700 (PDT) Received: from phuc-desktop.. ([183.91.15.56]) by smtp.gmail.com with ESMTPSA id 98e67ed59e1d1-39b0875ce14sm3218092a91.13.2026.09.02.22.12.32 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 02 Sep 2026 22:12:34 -0700 (PDT) From: phucduc.bui@gmail.com To: Mark Brown , Matthias Brugger Cc: Liam Girdwood , AngeloGioacchino Del Regno , Jaroslav Kysela , Takashi Iwai , Cezary Rojewski , Jiaxin Yu , Kuninori Morimoto , 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 v4 6/8] ASoC: mediatek: mt8186: Fix gpio rollback on adda dl/ul partial failure Date: Thu, 3 Sep 2026 12:11:48 +0700 Message-ID: <20260903051150.178057-7-phucduc.bui@gmail.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20260903051150.178057-1-phucduc.bui@gmail.com> References: <20260903051150.178057-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 If the second mt8186_afe_gpio_select() call in adda_dl()/adda_ul() fails, the first one's state is left applied, leaving CLK/DAT in an inconsistent state. Roll back the first select on failure. Also fix a copy-pasted "CLK ON" debug message that should say "CLK OFF" in the _dl disable path. Signed-off-by: bui duc phuc --- sound/soc/mediatek/mt8186/mt8186-afe-gpio.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/sound/soc/mediatek/mt8186/mt8186-afe-gpio.c b/sound/soc/mediat= ek/mt8186/mt8186-afe-gpio.c index aced8e7e920c..1cff2a63ef37 100644 --- a/sound/soc/mediatek/mt8186/mt8186-afe-gpio.c +++ b/sound/soc/mediatek/mt8186/mt8186-afe-gpio.c @@ -143,6 +143,7 @@ static int mt8186_afe_gpio_adda_dl(struct device *dev, = bool enable) ret =3D mt8186_afe_gpio_select(dev, MT8186_AFE_GPIO_DAT_MOSI_ON); if (ret) { dev_dbg(dev, "%s(), MOSI DAT ON select fail!\n", __func__); + mt8186_afe_gpio_select(dev, MT8186_AFE_GPIO_CLK_MOSI_OFF); return ret; } } else { @@ -154,7 +155,8 @@ static int mt8186_afe_gpio_adda_dl(struct device *dev, = bool enable) =20 ret =3D mt8186_afe_gpio_select(dev, MT8186_AFE_GPIO_CLK_MOSI_OFF); if (ret) { - dev_dbg(dev, "%s(), MOSI CLK ON select fail!\n", __func__); + dev_dbg(dev, "%s(), MOSI CLK OFF select fail!\n", __func__); + mt8186_afe_gpio_select(dev, MT8186_AFE_GPIO_DAT_MOSI_ON); return ret; } } @@ -176,6 +178,7 @@ static int mt8186_afe_gpio_adda_ul(struct device *dev, = bool enable) ret =3D mt8186_afe_gpio_select(dev, MT8186_AFE_GPIO_DAT_MISO_ON); if (ret) { dev_dbg(dev, "%s(), MISO DAT ON select fail!\n", __func__); + mt8186_afe_gpio_select(dev, MT8186_AFE_GPIO_CLK_MISO_OFF); return ret; } } else { @@ -188,6 +191,7 @@ static int mt8186_afe_gpio_adda_ul(struct device *dev, = bool enable) ret =3D mt8186_afe_gpio_select(dev, MT8186_AFE_GPIO_CLK_MISO_OFF); if (ret) { dev_dbg(dev, "%s(), MISO CLK OFF select fail!\n", __func__); + mt8186_afe_gpio_select(dev, MT8186_AFE_GPIO_DAT_MISO_ON); return ret; } } --=20 2.43.0 From nobody Sat Sep 26 08:37:13 2026 Received: from mail-pj1-f41.google.com (mail-pj1-f41.google.com [209.85.216.41]) (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 CEDFD1E1A3D for ; Thu, 3 Sep 2026 05:12:39 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.216.41 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1788412361; cv=none; b=tcR1vl4gjh8QvavqIHK/cRKNbCWGEskU2qy7tPJ0a9yVjg4ZeuEkbxUbFTAwqrcv2Ou0s0VIS//mQNi5Ov4UdBsn29MX8K5YHjBvEABFQjHKBT2p9fQduGk8NvZH1Mgwf25UZ/cgmBV8QoTAMPvrj8MCdSuXPWKbMJIVy0YWC1E= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1788412361; c=relaxed/simple; bh=UHO3oH2Sj6WWxyXwm9+QaU7CNkpCUF4jRBx0s2y56hw=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=pRR/N0ohCbybkLinFROQE8XPTrjm5n+QvDtEqKGCUo7R/6xe3L8zziNA5IpW8q9uLTnq2VsC2PnvTxGxiHsXXGcbFxD17obPGCl7QflgT/yExwq+RPb7TdbdlD04VyJ5H4qRq4vJEdq4DWvmKfSdiaxyU2kvxgR3dczraXdiv2I= 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=lDOudsl0; arc=none smtp.client-ip=209.85.216.41 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="lDOudsl0" Received: by mail-pj1-f41.google.com with SMTP id 98e67ed59e1d1-3964dfb5b9aso2543519a91.1 for ; Wed, 02 Sep 2026 22:12:39 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1788412359; x=1789017159; 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=jrW30Al+vmkO4YXsfGyVaS6XNDTUobyD5Gl2CjSaQLg=; b=lDOudsl0Dg4iplIqMn80WFQWCrLDxtRSrT/ngu3wEeTTNsjgh+vdlT+zWrt0xrwaOP XEbHQFmcDrz/UI4tWhtRjynepa5eJJ3P/POXxzAnBxybz2f9gb2CI7SzOx8Mz7+COptb 4sUmy/IXZ3U0tTt9KU9nYnP7QvppdP3FZ6//2b7QxvD25f4mn7VmElrmeRrtmQZh8jL/ hJg5KI/3FmeUkFN1S2FQBO5DdIxy2adMZKHkyS7WbvCH/fNa2fGIODaMx7jsVr/4uIGK LSvigHebQ6PxyJZ9yWzKvhk7gFQJmhsbItdC4adiUrL0S4ROR1Dxt0/0OkShevp5s9up gUSg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1788412359; x=1789017159; 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=jrW30Al+vmkO4YXsfGyVaS6XNDTUobyD5Gl2CjSaQLg=; b=QJ9qPr8TTmD7DmiUePb6NpeYizEMrHHq7gUp2bG3RYeRFiZhZUW0rhulwcFbx/NAyR q7V+iLW4JH+II5Y3kTMUzH+eH74L0ROPfCfFPzto1HyRnqvXS8LS3D/XCMk+ENJLqFbj TrMzPRk7U2RUmc3m+O8JJ3ayJ8qcnJHUJWHc5ipjfAXH/0vlFdJOWHpgTwdz/YmsZLtn TYPN8UVWCmAAQpQo3fGBs5A5586V9COLwL13u84RHKow1V0L4yvY+60rvFD00VbBfY1/ Jc86qwjsxxoLn+xNffwDEH3gXi+x/Y6zaLYr/WdU2+amYhRny8Ub8meEcMpUNW0oeyLH koZg== X-Forwarded-Encrypted: i=1; AKwUvBxiPtpcj2Zx3FhJRAYRwAA/zyWcHQz1d+4a55wrtg9SKRvNGAc7ZRC/DiuRGvv6ORCdaKNw30nArb+NePk=@vger.kernel.org X-Gm-Message-State: AFuF++npQlk+i8dRf05XbDqWLSJIdKqBkZUi4JyfVzRl3Y28B7lAijVz RvTJ0uXjAY5JG1I9OmkRlo/zuJ/xfIwHktiRAardhPK0lgW6WyE32Rf8 X-Gm-Gg: AYBFou0BgnPuLgE3iisbDVZTMv25+F5AM2eInceWgywe8NbUVf3JFDoCeXmBGhnJF+8 nhcU+muJRiJFXpvbZ6l6Q+zg3d9kWyCTVljC4lOPapiWP9zLUpZiIwjbSzQIIlguRktcmJuEpYS J/1yt6prvgmd//K9tgAnHGA2k17LKxP1ZLCejqRzuY+Lql7dTRnZe3m7dAUNgijKG9O/HXNZCx/ PZaRXnKWNAOe1m2w6dRAIXmuSzyrBo4z4myz3ObvCcg3LPpG5O2lly8QnlREtJlx4OW7SVAdZsl FoN7gPZzgfSNdK+WQMVSh7P3nI3SGI7NhKhAhSvcn75007WLsUrsLMpC9UswBgnZTFR1ez1bF6Q DIp2V+Y5IGnCnV1bPzV/FlO9Y8Dy8EkYTU43UKapCnyhvTzbJ/ZGfwiSwdnnEm5i6ZD29Q4Fg2U P+9eIOWAZW+BhtcbzD0s4IDLhHTAh47cZReCAc6HLbVXkeY7gq9S2O9Xy7cFJSNkbe1cGur7Bmu RsTLPHD4MPdBqcdOVXB0b4L0ARq2MpsXaRnXBMBbl6YW96MNef7uz2fMiJr0+Nsl3mVcXZ0dln0 F/9x X-Received: by 2002:a17:90b:3842:b0:398:e46e:ade3 with SMTP id 98e67ed59e1d1-39aee22248fmr14029377a91.23.1788412358993; Wed, 02 Sep 2026 22:12:38 -0700 (PDT) Received: from phuc-desktop.. ([183.91.15.56]) by smtp.gmail.com with ESMTPSA id 98e67ed59e1d1-39b0875ce14sm3218092a91.13.2026.09.02.22.12.35 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 02 Sep 2026 22:12:38 -0700 (PDT) From: phucduc.bui@gmail.com To: Mark Brown , Matthias Brugger Cc: Liam Girdwood , AngeloGioacchino Del Regno , Jaroslav Kysela , Takashi Iwai , Cezary Rojewski , Jiaxin Yu , Kuninori Morimoto , 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 v4 7/8] ASoC: mediatek: mt8186: Handle regcache sync failure Date: Thu, 3 Sep 2026 12:11:49 +0700 Message-ID: <20260903051150.178057-8-phucduc.bui@gmail.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20260903051150.178057-1-phucduc.bui@gmail.com> References: <20260903051150.178057-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 Check the return value of regcache_sync() and restore cache-only mode if synchronization fails. Signed-off-by: bui duc phuc --- sound/soc/mediatek/mt8186/mt8186-afe-pcm.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/sound/soc/mediatek/mt8186/mt8186-afe-pcm.c b/sound/soc/mediate= k/mt8186/mt8186-afe-pcm.c index 44a521c3a610..143386c54dd7 100644 --- a/sound/soc/mediatek/mt8186/mt8186-afe-pcm.c +++ b/sound/soc/mediatek/mt8186/mt8186-afe-pcm.c @@ -2743,7 +2743,11 @@ static int mt8186_afe_runtime_resume(struct device *= dev) goto skip_regmap; =20 regcache_cache_only(afe->regmap, false); - regcache_sync(afe->regmap); + ret =3D regcache_sync(afe->regmap); + if (ret) { + regcache_cache_only(afe->regmap, true); + return ret; + } =20 /* enable audio sys DCM for power saving */ regmap_update_bits(afe_priv->infracfg, PERI_BUS_DCM_CTRL, BIT(29), BIT(29= )); --=20 2.43.0 From nobody Sat Sep 26 08:37:13 2026 Received: from mail-pj1-f49.google.com (mail-pj1-f49.google.com [209.85.216.49]) (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 BD532386441 for ; Thu, 3 Sep 2026 05:12:43 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.216.49 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1788412365; cv=none; b=r/wYcaeQ4G4NsGzirScVUu1BP70/Q2OiuP6h8XDQfaFf0b6ShYgWdyO6OEpvF3lhPZObKiXW1lsBjLDOOPR5KIbmgep6oJSBYk5E3k1Is/a5d5D+LzScQm2lu+8YkIfyRc0eMohK8Me3GWwiN4QsLIJc8m72I8yxi+qrwt7ER6Q= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1788412365; c=relaxed/simple; bh=flUUxagMMbbwFuTrQc7nygferYAal45fxbtXaeUEeAk=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=own7yW7fH0O1PihHJjKtlu6zoUJ+EcTbFjg0c+GiWuwllBUzT1JRvCK5BX6z3IAWzmOkChLwbpmMJKEKdcYSMCWa/72BrVOLG/It+TX5SUoRAHsYXuOZq+iWPAyvUX5IY7eXZsigjOhVCaq4PH8CdvHxqEEIc9j7LbfYk9HYT/c= 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=ra9Lmt8q; arc=none smtp.client-ip=209.85.216.49 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="ra9Lmt8q" Received: by mail-pj1-f49.google.com with SMTP id 98e67ed59e1d1-38e041ea211so1810336a91.0 for ; Wed, 02 Sep 2026 22:12:43 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1788412363; x=1789017163; 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=H8NabRqeVDl6V/0Mf+sYcOuuE1n9qJZPVQBsEE5OZg0=; b=ra9Lmt8qykVXchYl3k78dLka0Dzua2jGwnv+TRZNUuH69nHM+z9jR3I+7dh5EfJIrY 9McuXCYxjYQxDvVSUCiC482xNo1JljIOaSHXuQXNkTB/NfOIHYaIsMkuyXXCTWi0GEq5 COYcfDpHKzr8OgPtSjKRaNKMrvfVA0sDb1JZ8/vEt/RHQg++OUWuc42Vh9dS6bZiPwMC sSF+FWxT/YUN/yOwsPCEcWZaIq8NvB2dAsZiMkmp6gJqDlouICWtGYUnoGunjLPvRnCy lyhntSZ/rpRtppgRsRELS31fuEjLXsysQ2NPop6lk1V6xO2dhTpo4/8U5jJaOoh1J3uk TGwA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1788412363; x=1789017163; 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=H8NabRqeVDl6V/0Mf+sYcOuuE1n9qJZPVQBsEE5OZg0=; b=L+l4AC7y8690TMDjVX5w+NClvqIbnlYAmBMwQx0KRV2N3B0AmJcP3p/fQYnm4RxZBf sXARNfvDrCd4S2y1uMosWm/qIuEj1FWH4ZhuYqSfrwV8qWJfU4X2MPEXHL/w/6+yXeJ/ 1IEKCRhrqxIf9IN9UgZNi9jNoWs6hA58JPVvowFFyY+f8FJC4wDuDs2GN1TYX6G2bmvL /tnKI25HIRuS7md9kWTvr4i6B++qKEdqQ5ZKK/ixKG53SrgF/n17UlsgqSJtRECVHH3J 0V1e/lI1WNjUZE5jCluyC9cA9vVFzBBSwFl95+CM1SP/xaRqpcUfUT9pog2pNyEuMRl8 4c8A== X-Forwarded-Encrypted: i=1; AKwUvBxO4dusaoWrFe4kCbkh23KPBm4zNf92NLjW7KvJUgHuWjMdkG3CZQzO799+W8Mxnd09qSUggDl0OhNO9TU=@vger.kernel.org X-Gm-Message-State: AFuF++lY0Dx3R0CLJ8q+ZUHjZwlvIFCY/i43o5mNjaOQrYsS0KxFWs92 8zBs2rPamT8V0KRsGCOvukgrtu8dk/5RGtVzLymVGuo9qZ95Wu4W1QOy X-Gm-Gg: AYBFou2wbb9C2ZEi1SelTVrrRqmDdPrWUgP8G8YT5DUKO47m6Lx+VIzIkU5Mrv+DDpG Yu0KcqaIfYqCv4p9MxT0qgQjE85RccpDAYBY7kJBJ2YDBZQQQRaDqmATOJsjrg4G+BuqDwzOAmO wjkhuutlTpTgsLV96maq3o8+oFBOZOdyFA2GU5er20c7ElupuK2Ia4wjvRAytVH66sNAkPIkKZP H+Ypojqb3qmxzedaJ90f+XUasi9L3I7CYjhM1YX22DY5LKsvCVRYmwQw6CvZD9vBjnrwo1iYCto 7g+3ZpWCfDtfM5TJIsJBbFV0Cpu/IqUIgF5tAAt77altZRLJQI4HrDVCnkbqOz1/FR3j2bNMgFm U53etH8gSjzbnYjfaTa1L7kEDlz5oWyEC5q3Xy+Oazmxiv2wQKQ1Q0GlXRpuGhAvbkkX8vYIA+K S7dQ9IYayH9ENFmCRrMdvmRYVglfAn3fk3sAXKC2miN4W/Whrzmj2gpiD5dlmQmCvPWTm49RLqu qzNLJxukeR3HJR8obsYkM4kzcuRIIenf867mnTYsXlkdWR22GIHP3WTMt+EHG/vnPBhsKZcGAUf +1MB X-Received: by 2002:a17:90b:4c4e:b0:38e:bbf1:de3f with SMTP id 98e67ed59e1d1-39aee0674ecmr13930896a91.12.1788412362952; Wed, 02 Sep 2026 22:12:42 -0700 (PDT) Received: from phuc-desktop.. ([183.91.15.56]) by smtp.gmail.com with ESMTPSA id 98e67ed59e1d1-39b0875ce14sm3218092a91.13.2026.09.02.22.12.39 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 02 Sep 2026 22:12: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 , Jiaxin Yu , Kuninori Morimoto , 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 v4 8/8] ASoC: mediatek: mt8186: Drop redundant probe error messages Date: Thu, 3 Sep 2026 12:11:50 +0700 Message-ID: <20260903051150.178057-9-phucduc.bui@gmail.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20260903051150.178057-1-phucduc.bui@gmail.com> References: <20260903051150.178057-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 errors handled here are already reported by the called functions, either directly or deeper in the call chain. Therefore, the additional dev_err() calls are redundant and can be removed. platform_get_irq() returns a negative value on error and does not return zero. Therefore, only check for a negative error code and return it directly. Signed-off-by: bui duc phuc --- sound/soc/mediatek/mt8186/mt8186-afe-pcm.c | 15 +++++---------- 1 file changed, 5 insertions(+), 10 deletions(-) diff --git a/sound/soc/mediatek/mt8186/mt8186-afe-pcm.c b/sound/soc/mediate= k/mt8186/mt8186-afe-pcm.c index 143386c54dd7..4bf098657fb4 100644 --- a/sound/soc/mediatek/mt8186/mt8186-afe-pcm.c +++ b/sound/soc/mediatek/mt8186/mt8186-afe-pcm.c @@ -2852,10 +2852,8 @@ static int mt8186_afe_pcm_dev_probe(struct platform_= device *pdev) =20 /* init audio related clock */ ret =3D mt8186_init_clock(afe); - if (ret) { - dev_err(dev, "init clock error, ret %d\n", ret); + if (ret) return ret; - } =20 /* init memif */ afe->memif_32bit_supported =3D 0; @@ -2885,15 +2883,14 @@ static int mt8186_afe_pcm_dev_probe(struct platform= _device *pdev) =20 /* request irq */ irq_id =3D platform_get_irq(pdev, 0); - if (irq_id <=3D 0) - return dev_err_probe(dev, irq_id < 0 ? irq_id : -ENXIO, - "no irq found"); + if (irq_id < 0) + return irq_id; =20 ret =3D devm_request_irq(dev, irq_id, mt8186_afe_irq_handler, IRQF_TRIGGER_NONE, "Afe_ISR_Handle", (void *)afe); if (ret) - return dev_err_probe(dev, ret, "could not request_irq for Afe_ISR_Handle= \n"); + return ret; =20 ret =3D enable_irq_wake(irq_id); if (ret < 0) @@ -2957,10 +2954,8 @@ static int mt8186_afe_pcm_dev_probe(struct platform_= device *pdev) &mt8186_afe_component, afe->dai_drivers, afe->num_dai_drivers); - if (ret) { - dev_err(dev, "err_dai_component\n"); + if (ret) goto err_pm_disable; - } =20 ret =3D pm_runtime_put_sync(dev); if (ret) { --=20 2.43.0