From nobody Sat Sep 26 23:51:02 2026 Received: from mail-pf1-f170.google.com (mail-pf1-f170.google.com [209.85.210.170]) (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 B532E36B903 for ; Fri, 28 Aug 2026 09:16:01 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.210.170 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1787908563; cv=none; b=Asq5UWQ+xK+olyFUpxE4BMOPab6AlIvcZXUTtUmYnYXdQsv5b3CDyeFbdPXY7FraPX//cII2PuZKPLmusRq64uDteZyNVW0VBd9ac9xrzY4gvlmnUUCI5ZMTIeR2dlzGZ8gMLeiIURIxTdJK3a4rv7yIJtd+pm6rBc/o5PHrMfE= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1787908563; c=relaxed/simple; bh=YdGYLhvtvptCpYDC3ICVM4oOhiZ9/gCcjjUKAA8PwCM=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=fWww+dcgxD3kOG3ROF7pJLEhdnay2+LwVRjYrnh6kZxYssAJBHqOcsz70KeP0EK9L5XI6K9qZzKZ7sTr8zgr3gFMsddrDYMGbxEb9zuiOoNU1GE1BF5d90YugijKsQdXNRJwjufqyvhqh5zLNpOnAxCUyY1K/NWFgUr/xqdH0og= 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=Z5h9+NPL; arc=none smtp.client-ip=209.85.210.170 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="Z5h9+NPL" Received: by mail-pf1-f170.google.com with SMTP id d2e1a72fcca58-84864086bfeso660654b3a.1 for ; Fri, 28 Aug 2026 02:16:01 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1787908561; x=1788513361; 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=Z5h9+NPL+5CR8X9HAQjzUFN0Xv9xFCEYHNugA+I2RxyYGeknuAzvm0xbGJ5RwP/3gD G2IyFmxaoO4cfqGO5pBVvMJFqPuoy0YeNXLbOkHgvJrHk9c4x8lhFGGXH7mYkP8lP30X eHZQBYcIymFRo1D8ZoLl7aPm1uJHf8NFkIO76VKNcefHvYZyTkK/7fwu7tI9QOYqTlaZ gViD4DFujWZQEFKhhksXqHBIZdSUnWVGJP9CU39h1vNU/7mF9zYi0+tnhK9xG4Qm444F suatTGrvjunbEgcYLySI9X+Phd5S43qX03Oe0uWaVEZY1GYImDMVDzoX9GWFesGMxhyY u0Qg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1787908561; x=1788513361; 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=Vgbh4yIzDHdbaEfvLA2766wFd+jA9jhSKDdIsMMnxeg6J5ESwqTVJ/Bu7JTFkQioKk ABvH7l51Jt5Ui4kXhlogqaOQ6nAD67+7UXljhrf0WUVigP5H0aaxTQZcrklLKkUwDsSM l6pedASw1wcEsTcn/aH7XhqltMOGzeMIuTwohOH16UkLT4Wyl4NBdVEyUFBAU8/eS8UA +7zyWs6j0c1+sAF437czgXan6WhQdsUyS5We877d/lP+guj4lA67LvclmwoB8akI7SvO ntmROTm53ekUxa1/s0K4S5ad7/qfLqCmO7vnYwqc1E7gfWhx3nfvRloVX2gedNFOwere t1mA== X-Forwarded-Encrypted: i=1; AHgh+RrZ6i2VCMWq87P8dsIypVoATwBr37ayBt/tVLXXZsnbdwDP+X/gwJ4xp7IYOSFVWFwwjH8FAMz8WS1PAW4=@vger.kernel.org X-Gm-Message-State: AFuF++lOtuUAcDk7qWbUfMHLKP+1auA7is2dZX9GAEYUND/jZQPLTxZO UmYbwmUw3ICVgtdpmkRonDUb1iqJD8G8yz4O+u7NybZjI4CPpF1J4dM7 X-Gm-Gg: AR+sD102KtNoHRXXyOBWIaXFoYnmjGjnIIF5qrZ8shKxTLHimuzhrJJjTabveopqKix 9KVYfysiLTS9HhwMzMBhYXDXyH5kTwvFvLct+0xoAj4ReG4TigJzVHKVUfGawiPDqwmDsvcVVJC /LClyjewZ/mjgOyIVw2z74KpYTOhYlHpdpuVlXB3MeZ3Pzve31oSrV9ZVGd/1+CsIMOAbsgQaWm H+OwV2Wleb+vbS+ThtfIhCSXhqf/Wz2mwUY5Majj+2WICoya5M4xTBJTp+2HFh9DbFt9LrEQgkB 39YJXMbFWhkqhAzj9ebXBsFEe3Lj+40vFqXz8Yvk4lb1HeAv+lV52yycD9+23z3nSpDPP9Q7ry9 mCQYDPAgp1y/H8EHcVIF2LCZ8jaPLcUeGAXCWc62YCY/Ub5KNMPmbmBII2qOB3mSmfpWr+lRX9m eUcWTVlsv7m7zwns3vZ6orGirgBXrCoVTm1XTwKsnno33VYLR3BeXVcCybub6963qrymgwT6tbH zlkah95iTvN+z7ftdOzIefZ4nmN8Zlb3tBmHHe8mRRx12lE7TwfJxoz77TcDk6MM7bN4K3Vd0MH FkzI X-Received: by 2002:a05:6a00:2e24:b0:851:8baf:5b26 with SMTP id d2e1a72fcca58-8562a7dc401mr9144983b3a.14.1787908561061; Fri, 28 Aug 2026 02:16:01 -0700 (PDT) Received: from phuc-desktop.. ([183.91.15.56]) by smtp.gmail.com with ESMTPSA id d2e1a72fcca58-8569fe78fc3sm381248b3a.24.2026.08.28.02.15.58 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 28 Aug 2026 02:16:00 -0700 (PDT) From: phucduc.bui@gmail.com To: Mark Brown , Matthias Brugger Cc: Liam Girdwood , AngeloGioacchino Del Regno , Jaroslav Kysela , Takashi Iwai , Cezary Rojewski , 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 v3 1/8] ASoC: mediatek: mt8186: Fix APLL mux setting error handling Date: Fri, 28 Aug 2026 16:15:25 +0700 Message-ID: <20260828091532.600047-2-phucduc.bui@gmail.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20260828091532.600047-1-phucduc.bui@gmail.com> References: <20260828091532.600047-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 23:51:02 2026 Received: from mail-pf1-f170.google.com (mail-pf1-f170.google.com [209.85.210.170]) (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 595302222D0 for ; Fri, 28 Aug 2026 09:16:08 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.210.170 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1787908569; cv=none; b=dky64J3vw5mForKoVNptAu1btYz08tm687F1riIYuF2q5SeGtIZWdC0UAT0QrI3W8ErfLujI9vHnq91feVzpeFPTw8wpdZskRp4yD9HoovQOB4XJk44ePKROtY+9ZJ3FORtaHABKetawW/oQLvwp50b88pvDQv7rvTuMYrquU8A= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1787908569; c=relaxed/simple; bh=KQBIs7Nmnq9Hw8gwAY+Gk44taT8sALXoi/IYHOHY3zc=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=Navc7SD1s06abwDFOMDKqMCkdlZ1KwmdmaFl8B75aYTzX4eN/EO6vOFMBwlZKHLw51Nuu6YUwOHg7H9ikwYdef6JtU8us7QevGTVU3bwbjEBPX6uUJhGD8tKcHGAiJ+slVngrRQFR++MF97fPHXYNrrDoh4ose+IH1QLZJQVLEI= 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=XfVOzqTw; arc=none smtp.client-ip=209.85.210.170 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="XfVOzqTw" Received: by mail-pf1-f170.google.com with SMTP id d2e1a72fcca58-8525efa7274so713788b3a.2 for ; Fri, 28 Aug 2026 02:16:08 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1787908568; x=1788513368; 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=IWC/dN9H+/DLHGkzhHQH4QE0IirXC1qcf+ZR9KcEXL0=; b=XfVOzqTwZ2Ovl7sOMhsZaXZm8IqfBlDFAhSs3HbAGsakFjMKgIJCGd+eaL0pdP8cAi cIo5uOwvO7wCMjJj430T5ZrPa1iR3wQgK94BiI1V0WV1PGRuzmx2XfnzJalDGe5LunFv 0BoyOZS9wVLW5ABj77D+ET8ehfrNW8wdQ54yrqBDxpLC0Hl/2yEI+am2WKjsrkWc+cyc LuRlpQURI7MRkrhdzAzlW2PE/7YeeYbtnvIsH7C5qSQKIX8/ImMu+OO82qYd8c0tDbV+ Z9XIGOf91nAWhO5Q6vCTGrRaU+w0oGXOY+zGSUBHHRgsGuOQN6c5Dv1wr/dgSSPFKKsr xifQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1787908568; x=1788513368; 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=IWC/dN9H+/DLHGkzhHQH4QE0IirXC1qcf+ZR9KcEXL0=; b=lPvxciNNoqmzb5XxLSl6RYXsdeYUKPavcjrNfMGhgqfzakPQDcHCERUCmrOnF1Rm7Z brnIbMR0iihUb9jKYOhJkaa1Ge8+w+A0RDHLh3GXnqA81cLMnm17UEsvFDAnAQZSZQl8 YqcglT6zRwVJC2csxjHS+qHznI0vssqlKZbsOXeBNIqrXvw+ql/DdEow3XyXY83GwslG IccnFZCAQ1sg+X6SZ58nSVGSSwA9kLTiYDeehYhpFjGhbRibwdF83LM+PrY7xUESKAQT HnTOmYM6qwDEiW7W304pYNKh2xF+VQo+w7i635n9P0fcIAR3HGCJBh+iehTgmoUQnYSn 69pw== X-Forwarded-Encrypted: i=1; AHgh+Rq6dbIKf3g4obosxLjTruzH+LAARiWHaNcgOnl8Gujfx7/5zGEpLFAufzkjzl6IRNtAwfFemQbQ7nZSM30=@vger.kernel.org X-Gm-Message-State: AFuF++n5k/CJEFGCrwEedcJi77Z6tWskD4Akg/3k1fajPSKE7ncjPXwP BlGYWdQgj7C1SMViwtETKHMxCEk2vUF/DrnDneKWyfcHGE6xYRJ8pETF X-Gm-Gg: AR+sD103nEdj/vhYYnhMeFGs2WpJZxMm6JcIa/jDB3S+Encc94RsNfVK06bINTg8GZ7 4JnlIrDW0Q3RFjWPGoVNKHj08vTdPpFufmA/l/nRdaTmVp/Ab3k5qW8vkutObQr8ORuWF3BXSe4 dK1z768Z1jDmosm8jCLZInZ8nTHisnADFBQEhAULXK6ZgPxA605yHW9F02zHGagEtUhbZVUtj8T rec1h1UYd4kPE6zfje885sGJTxG/PBVoT763vxo/2P24OCjCZ/zgkiS6c0+Ij3WmYoLkxmnuurA CvzfZSp2Cj5WLb0vNmCDjp/npwopjP/MetPQmtBlK57Mb9lcx6j+XKDqi3JvHrTp0lmCPpH7nJd QtIrxzrkVNdw8m+J2vBiAU+PX6df3VShm5LTC741n25FgLsAGCllnIA/gzCy/8Qn6dyETM2myYu sYoKZWRHLEzMX4rU+Sh304i7+gtXaW+D3sfv2HCg1YIefydFIIbV6aqDt34AbLi+6z2z/0bKvBf s4IVcfQOYB5qiZvh1KSBT2cpsbOSh1VP5L52k6KZ4iv/UhHs0KwC/WFmRNJVEdH/Fymljw6i6fH +R86oA== X-Received: by 2002:a05:6a00:2d84:b0:845:e8b5:8c49 with SMTP id d2e1a72fcca58-85629a25879mr10588287b3a.10.1787908567583; Fri, 28 Aug 2026 02:16:07 -0700 (PDT) Received: from phuc-desktop.. ([183.91.15.56]) by smtp.gmail.com with ESMTPSA id d2e1a72fcca58-8569fe78fc3sm381248b3a.24.2026.08.28.02.16.04 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 28 Aug 2026 02:16: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 , 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 v3 2/8] ASoC: mediatek: mt8186: Fix clock handling in mux disable path Date: Fri, 28 Aug 2026 16:15:26 +0700 Message-ID: <20260828091532.600047-3-phucduc.bui@gmail.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20260828091532.600047-1-phucduc.bui@gmail.com> References: <20260828091532.600047-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. Move the clk_disable_unprepare() calls before clk_set_parent() so that the clocks are always disabled and unprepared in the disable path. 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 | 70 +++++++++++----------- 1 file changed, 36 insertions(+), 34 deletions(-) diff --git a/sound/soc/mediatek/mt8186/mt8186-afe-clk.c b/sound/soc/mediate= k/mt8186/mt8186-afe-clk.c index aa8b2eaf7b95..a517aa67abf6 100644 --- a/sound/soc/mediatek/mt8186/mt8186-afe-clk.c +++ b/sound/soc/mediatek/mt8186/mt8186-afe-clk.c @@ -125,25 +125,26 @@ static int apll1_mux_setting(struct mtk_base_afe *afe= , bool enable) goto ERR_SELECT_CLK_TOP_MUX_AUD_ENG1; } } else { - ret =3D clk_set_parent(afe_priv->clk[CLK_TOP_MUX_AUD_ENG1], - afe_priv->clk[CLK_CLK26M]); - if (ret) { - 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]); - - ret =3D clk_set_parent(afe_priv->clk[CLK_TOP_MUX_AUD_1], - afe_priv->clk[CLK_CLK26M]); - if (ret) { - 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]); + + ret =3D clk_set_parent(afe_priv->clk[CLK_TOP_MUX_AUD_ENG1], + afe_priv->clk[CLK_CLK26M]); + if (ret) { + 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; + } + + ret =3D clk_set_parent(afe_priv->clk[CLK_TOP_MUX_AUD_1], + afe_priv->clk[CLK_CLK26M]); + if (ret) { + 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; + } } =20 return 0; @@ -199,25 +200,26 @@ static int apll2_mux_setting(struct mtk_base_afe *afe= , bool enable) goto ERR_SELECT_CLK_TOP_MUX_AUD_ENG2; } } else { - ret =3D clk_set_parent(afe_priv->clk[CLK_TOP_MUX_AUD_ENG2], - afe_priv->clk[CLK_CLK26M]); - if (ret) { - 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]); - - ret =3D clk_set_parent(afe_priv->clk[CLK_TOP_MUX_AUD_2], - afe_priv->clk[CLK_CLK26M]); - if (ret) { - 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]); + + ret =3D clk_set_parent(afe_priv->clk[CLK_TOP_MUX_AUD_ENG2], + afe_priv->clk[CLK_CLK26M]); + if (ret) { + 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; + } + + ret =3D clk_set_parent(afe_priv->clk[CLK_TOP_MUX_AUD_2], + afe_priv->clk[CLK_CLK26M]); + if (ret) { + 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; + } } =20 return 0; --=20 2.43.0 From nobody Sat Sep 26 23:51:02 2026 Received: from mail-pf1-f177.google.com (mail-pf1-f177.google.com [209.85.210.177]) (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 A1E743876CD for ; Fri, 28 Aug 2026 09:16:12 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.210.177 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1787908575; cv=none; b=RcT8U1JFJSgRD8P4x0LJKjTsm9dV45gMLfyiNgvTiuUV3g9m2xtvQ2gcBBEdE4hDFazS0+nAxiitb1GRoBmFl07u2LDT3+sOKSdgIhLzmAx6Di9e/1hGPAsfUkiZ/vB3CNeSp/4zBYs1j2kDqG4U+jo6mKKMhSB0sqZb+3nmU7Q= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1787908575; c=relaxed/simple; bh=LgWe9C3Q+Q2sxxa3s225OxRX5s799/v0ot6Hkn693Po=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=ZfH3cEEGgGnlOVw7PN97t9sJC7gaxFpS4K/1DauV4lJ9gkHLMIhBfdfzMinWzKNO5XU3ZViwqsviLEuOonS/Lee0Tt3M5303JWJt7eDi0AzzZM2tGeCkvHLfA8DbBSXXhqJbi8+tiCMTLfNbJ9S59pPyRgWXZpPYr6irBPO0Bzk= 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=jQrhMRVL; arc=none smtp.client-ip=209.85.210.177 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="jQrhMRVL" Received: by mail-pf1-f177.google.com with SMTP id d2e1a72fcca58-84faf0fa17eso692071b3a.2 for ; Fri, 28 Aug 2026 02:16:12 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1787908572; x=1788513372; 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=U1BDXxXSUCLeZPbuvphrpbuZ7FoRllZXIG8FCJIUlfc=; b=jQrhMRVLXhAzqMVN6rtHI7KEeYWfGsrmaZNoUWWLhmoPRq5pDv65H+avfqdZjWjJjJ cHVJh17UpgZvS0pv7cOn+jj3ovORVv7Mg9o4xPBWrSPe5J8KVmxVYuchxlPA/fcA5cMz oahICgdwaM2k5/7iSvSKNxwOVqbSfoTPtxt/xB51kggqyObikLQmZ1KvMa8Y9IXExPoy UKs3YpQoyzOliweykE302adfxlKEhTAMC/F5aJs0a4WhN3shUOvORDk55b4qO7/1yoDp gx1AepnIcziOHEtlZV6x0r7mWCPonzP5mTvhGCggbvEgu00kbm9EYgphsz2VpGMDiB24 GBow== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1787908572; x=1788513372; 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=U1BDXxXSUCLeZPbuvphrpbuZ7FoRllZXIG8FCJIUlfc=; b=YYzucjyKJtQKHpBE0agoFdBMqh4JuygPaUH05fQWn4LPuayZEAngBZBM1i0Ce4SKAz dv2beWHexNd4mxz4JnoLuk5LZydGzXM4xUmh/9IEHIIupsaqNH3Fia3uGFl2d8AOOLmO NrB1Il1X68+JQ2W5KCyyiRIOYk4Wry0fra3Iz8fcWpZsQ9++ChDVEqV5eAkbdHZ/n3Vx PGrcFAPY7fbIaMteiYk4SzwIC1AmHArqORLqoh2lFXb4mb8AAwjkItCkbw449MoegVnB X3cDOBkaP3+B2hCiuRxiMSwrOf6l5tnPcpAkV/rsXzotFxjwsMxn60+AmYEQEBDl/2jo as7A== X-Forwarded-Encrypted: i=1; AHgh+Rokd1ROF4FKYM5u9QC9PA2pvt7DVCDFiZp993RcuXx4KE1wPjNErKX1/JkhTmQiPTev9sNV4s+NW8e872k=@vger.kernel.org X-Gm-Message-State: AFuF++kXSH6kgZV4jA2ky18Uf+9z8RiL3gLB4f2iTyNFA6B8BSvb9pPr gRZu2I8ICJPAo/OKCo+v0h8roi7jDRKVHdzYORnUDtQJBXFVvqafG/7l X-Gm-Gg: AR+sD12LGvK9g/cxZgGlzrS1YVi1d420xOrVwz3oEw1YOkiTS12mg/5ihNLonmcEpUf RgGwbjhNm82gLAkfFuKRmoBlAE7Byhz9U+FkA8yJdDC/+7G/Yi3TWS7lSZKB9GqPsIGNEZAqxDB se+zxHJx2BcvC+rjIpZTwDKTwvNUnztrgssbRalpZ+qdglerKYuwIHF5V8cvjw/rOPCPYb40hD+ OIWDFS5usVpN0htDCYmXlKDQSxMPwgIcGCzWlj51lz71JiofpcVVdA51wS30/l0XK+A5rbT48AN VjrZhROGVkYqIy72gteAmAsYU8vPzfuRNPe2seQxg5Enyyqc+pK3b74gXp6tLLPXxg0O1aqcBzF U8LjS6DKjhvyCxkNly+eCUGjGUc/fgOM5U6BLW85uSjDCQB6SH2kf0FsOMsc4W9AUKY4yYCkqfR 62WCtX625i4TXzxfG9Mazo1XceDUIL95ty21JPAsJQGy10ywTuWkHEed4vhpp996IwbL9O9svVT /0KV7MZDcqKQTH9Tdmvn5z8y/K8eUUJp3FjolkfepiljwlcA+eqn6hPlDolu3VHE1v7Xr8qO1T8 0u4o X-Received: by 2002:a05:6a00:1143:b0:852:131f:b9d2 with SMTP id d2e1a72fcca58-85626f06db3mr10697213b3a.2.1787908572039; Fri, 28 Aug 2026 02:16:12 -0700 (PDT) Received: from phuc-desktop.. ([183.91.15.56]) by smtp.gmail.com with ESMTPSA id d2e1a72fcca58-8569fe78fc3sm381248b3a.24.2026.08.28.02.16.09 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 28 Aug 2026 02:16: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 , 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 v3 3/8] ASoC: mediatek: mt8186: Fix AFE clock error handling Date: Fri, 28 Aug 2026 16:15:27 +0700 Message-ID: <20260828091532.600047-4-phucduc.bui@gmail.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20260828091532.600047-1-phucduc.bui@gmail.com> References: <20260828091532.600047-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 a517aa67abf6..b3e938088a7b 100644 --- a/sound/soc/mediatek/mt8186/mt8186-afe-clk.c +++ b/sound/soc/mediatek/mt8186/mt8186-afe-clk.c @@ -296,7 +296,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]); @@ -323,24 +323,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 23:51:02 2026 Received: from mail-pf1-f170.google.com (mail-pf1-f170.google.com [209.85.210.170]) (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 7CB5B36B903 for ; Fri, 28 Aug 2026 09:16:16 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.210.170 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1787908577; cv=none; b=XkYEZoWEgI7wCO7K/VNx5s92eegx6pXDikZw305iDm3o4QMJekE1dhNFSArxjIJFUHrliqwxN/JnkktahbMeucAchULaxsmpJ7PRTymVSI1C0c5lveBoY6Koc03rYkjhJFNAtw2sBJK7IXaY5fV144Tc7EFFfwsGs8HcJTzCIr8= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1787908577; c=relaxed/simple; bh=uWaIJLrp3bYszczP+rUWUCw6rT/vSZX1BUIy643qHEM=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=sZ4NmnBpa7xf1XYKEhkp24qjtShq0fcmNruMUrik051p7z9m7vSh+62+egzov/yml6cdE4ErxWMsKMfXSOMFs0kFbcAbejaLejBWTmv1Rt3LHOCpk1snOyb1gyx3ybT2JTJEZhlcp6anotmh7sjQxS2t92EPJFRb4WwedrlEl/E= 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=M3v6gn11; arc=none smtp.client-ip=209.85.210.170 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="M3v6gn11" Received: by mail-pf1-f170.google.com with SMTP id d2e1a72fcca58-8534d507f59so743740b3a.0 for ; Fri, 28 Aug 2026 02:16:16 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1787908576; x=1788513376; 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=IlDfgda0dYFq9rxw3JdEQPpWay5cHlVA/Z3MyCDCs5g=; b=M3v6gn11d2HXWX6OpHTG4QOUVmO8mGG8GC5hjFHF+AT9/VMvYHHv8C5HvJx+8qARL6 0E3L+FvFCOvvIRzlO2DwZjk/bwxCBRwF81jQ/GK3ltEML/gY47dBRw7XIMthAIBvA5Fq Q20fgwOlYlnuxIoA6UBVRkzf5azSQayT4t4N7tVVerxJz+qCk7wJSNiMj7Ky/9YbaP3i JkCIeFzEzjVYAN9hiZpPq5MI71AU2BSbYmgMngD+wBo3jZmy6+/VB+RxxPD5EjXxlqNI 1DUY1AHjpMucomItBcBvXlWasNypqQ9YaxraqD/58o0muqLyhEbrq260t28UDCwWUyVk EiLQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1787908576; x=1788513376; 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=IlDfgda0dYFq9rxw3JdEQPpWay5cHlVA/Z3MyCDCs5g=; b=QSJrzvDnTUVMo3F5gt9JkpJBunU3bqRT2JtKr31rjvYPBNF0RFrvhKDndVEGHElHRT JDTKkCbxRP29n2NcxNDv1G5fjSFfDJe5pn0ootzZ3oHdqTpJ5TPGIjWPdZ6+RLzgifH3 iJVj6bFwM0z+k+8jbP1II7rGhd+/VxqJQW2guJkXOXBN07TePvmSz6q4qaNj4fpAKs8Z oz8QwM2BVKeSoxgq8tYrr2Y5ZasFu9sUlxJc+A96ql11AjtLv/2Y0V6f56p245YV/9zt BSpulB9kstI8uPcnWKhi4Rqiha2ZUcILrYcIQMhkZ5zFxplEXEyH0qJ+7++C9iPSlVp1 eIyQ== X-Forwarded-Encrypted: i=1; AHgh+RpMLqwrLVBmW25w2S7HlY2silR1POMnoEYQwUICcQllXQ2aSCLPHGwtbnA0aPWTo2/n6KBOGX8VFtyWV0Q=@vger.kernel.org X-Gm-Message-State: AFuF++mGYFL6nUplGwtavBvStp9gEqoe56hz82lztmL0wJFdxD1cnO7t cGHKoghzqK6JlSAXATXHM3vyVKzBpGo42VcRfbP4iM1iZYeOhea8oC+1 X-Gm-Gg: AR+sD13PTMwh/mhe1L4F/78QCVUecZSLZDdQZVVUHLHG7QERfeGi7qWM3rDNq9nq/ty Hb7ORvEfQrPkquFVVst/SIEV3DmwxhrZKPrXoqK5zOzP8o5hUdUKf/GVoP3QygaDca+KIJqia5s aYPp2GPrDQXmv+tRM1CNWNTVFdLg3lpRwICJLPEkV2bPl3JnkF9LlYmSzkdg2LAiaDX2wj5doAk mJQzITwxcwwNakgbT0bNrQBVsGa7TkclFdoAK5LI4hOuXBCM22aK5bJ9urKhIJ8b8N0/mmnaPu8 jj/Fl9ciwLSlEC3mQLVaSBrL5/3pjDtc3cXYp847zBe9ZrnmIlGqcBbl6Z3VBmeFM6juGG+wJ9r Uy6cL2hrnynbqxYEkg5LmmnU57j+SG4PwTyN/hOWYn9Xl+H/bup11eeIzgznXm0bm94Cn007Ngk G6CheZBcpqED/4+sV36eMR39mhDTIHA8zkQ37XlD2nnDOfiQ+ASdART4zrmAhmF7TFkAlyECjXh KXzfPOU241jTlHenS91EQwE7dwDk3NFoTwA59Opwo0j+ZPaaRhJ+7z9C0UzU1pGR3ck/oTA6ggc ipWn X-Received: by 2002:a05:6a00:c83:b0:853:6571:9567 with SMTP id d2e1a72fcca58-85626f06dcbmr11500046b3a.4.1787908575762; Fri, 28 Aug 2026 02:16:15 -0700 (PDT) Received: from phuc-desktop.. ([183.91.15.56]) by smtp.gmail.com with ESMTPSA id d2e1a72fcca58-8569fe78fc3sm381248b3a.24.2026.08.28.02.16.12 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 28 Aug 2026 02:16:15 -0700 (PDT) From: phucduc.bui@gmail.com To: Mark Brown , Matthias Brugger Cc: Liam Girdwood , AngeloGioacchino Del Regno , Jaroslav Kysela , Takashi Iwai , Cezary Rojewski , 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 v3 4/8] ASoC: mediatek: mt8186: Fix APLL enable error handling Date: Fri, 28 Aug 2026 16:15:28 +0700 Message-ID: <20260828091532.600047-5-phucduc.bui@gmail.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20260828091532.600047-1-phucduc.bui@gmail.com> References: <20260828091532.600047-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 b3e938088a7b..85fe828ca5ae 100644 --- a/sound/soc/mediatek/mt8186/mt8186-afe-clk.c +++ b/sound/soc/mediatek/mt8186/mt8186-afe-clk.c @@ -361,7 +361,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) { @@ -386,9 +388,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; } @@ -414,7 +416,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) { @@ -439,9 +443,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 23:51:02 2026 Received: from mail-pf1-f172.google.com (mail-pf1-f172.google.com [209.85.210.172]) (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 C31AA390CAC for ; Fri, 28 Aug 2026 09:16:20 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.210.172 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1787908582; cv=none; b=ejCvcq0CLxePP3fZbbBt3B5WcoKkZuuH4Y1+/qJkQiiNksn8Tz4iM+BHvGUyzOK+iN7wsIoKOiDLdmEfFfp2dZ0KD9XMa9hb1qbqa5k3xy9XdD09O00FCcOzo9bo56vnjc1dX7rS/8APV+ezgb9egMJz7ylLIqdbnKlffxj66lI= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1787908582; c=relaxed/simple; bh=DdqB6KbiIKlpMDTCTBrubAh+8Ofs/e0ikTAPMvgixQY=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=pKjQZZkqbhkhHRsFZUoTxK7p4zGbHuFPKQ4tXCF/LUiBwyCVmU5fTlcQsv+14XJE/6e6d1RyEcoXwhy0MlSX9vtkhYSwYDwCSrvuZK8Awoh44p7NTdiJMKaKvxe01hiVIgMGX0Ho32Tx7MZUQm3nrEC1MkCYXZVhuOvYWUAmQK8= 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=n2JAEPkI; arc=none smtp.client-ip=209.85.210.172 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="n2JAEPkI" Received: by mail-pf1-f172.google.com with SMTP id d2e1a72fcca58-854f8068301so538473b3a.0 for ; Fri, 28 Aug 2026 02:16:20 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1787908580; x=1788513380; 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=3L4YTV08OIKXaB2YzOzTLg/mRS6RPqOe2hfmq9TrFik=; b=n2JAEPkIlIgEiPokERhTKRE3hGQq1jMkJfNOrT9baB8zhsI0GgDPznzRWGdszuMMoP ApdcXarQoBYjtnABL2nlmmDgJNvFMaKvFPUg+QEFoaicuxB2bot2A2LNGfV+RR5f6PRC 3P2m6G6bhE/gf8zA4eeB7Dcfvq3zJcfgeUL0hkwGWll7GDq80W7j4BSoTF1iHKSxkHx2 1ymHlZ1itvfbjT18LKg3ld7Z/U9lb4TTF+CQ+J7eqjQ4fASRwPdsE54kr2zJ3jMVvfAB aQ/ON3lvJS9HEPnKjry/X1tXmEDlIXsQIV2l/PwDqZpK27m7HejKnJyv9sK/x4Qgc7kH PRtQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1787908580; x=1788513380; 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=3L4YTV08OIKXaB2YzOzTLg/mRS6RPqOe2hfmq9TrFik=; b=DKcmckxePC53zAxT8moAUvbuVycgaGihsEUX7Ci1FS6QIiSZOhKmO2UTwXVi5k4eBU 7yjT2Phb+6JUZ0Lz+o/3dwM4h3fJ3+DKdsJr+j8sHMXnvo1hPX5lpw6v24ZqHY20kb+E x+E7X4wK2iGf0xVSSv7p3+7gmSQRExrIFNJnyS4dT4X+gnpQZz+Khc7uv1LmG9RO/nEo 0axC0denSO0WKQdCfOFgizgTMvOvbBnyzQCHoyBwKbP/g4M1SJNglfExPWTtVUpX1V2+ 8WnmilAJJH0HsYAOuVnc/DBC3khwVRf/jrYDwTe90f3Q27YRPWx1xFIswui4Mg3Z1efr EKCw== X-Forwarded-Encrypted: i=1; AHgh+RoD9ePJ6hPlAyImdTsh8ZDl3r4Xx4csCBtNjgi/IgHRJo7B0dKy7d11t0yLYoVxQ6omRo1hXE0bnxqBVys=@vger.kernel.org X-Gm-Message-State: AFuF++kxunPKqZYvKq6thJce+swi+9diGSU7ghZB3qAkvHDYu9BcN8it 5zXZbaresOVgLiy3TplmZKBT45hNRTv8feJ/EGkudBkXOEfjgHIpsg7g X-Gm-Gg: AR+sD116PkmBFZKubgnNuSc5J5/sS0oqwORaFSCxs0IXMUjDAm59Rop5k16Z0MSoOEq rTBu6EQPGPw3BajQedm55NJSZvkX4OUrEo67aiJ0TYGZCbwglLQHS0uHNW/4SjiHVyfZZWVNxV6 lsqIvUmJrkeGA2SNsyBi7IqlSQM61COu4yRZ92vXg2mLDmfJnOmE4GUqFh1YKDQAibyCdDjPBQ4 qn+u+GT2V09NRdyo5B67xR4XG4qlyOrZBNtrRLfFiU1nd+nj/rPASLncSSo4a/YQ4OVXgrYiJoW GbWC1vsjNI4KRQgJuF1Vg9St1cmlJix3IuZ4Ldo3qxywuUR1HQKEDd/e8Ic00vaPlmjC52RHKXr iQQCf/pXGxLfVtRRDUSkgUr8RtCG4fpDg+NTrx6POQbWZcGL/gEKfU90zM3o6bi2fcTdqp2Kmyk BVUdkuligMu4z+nloyiAnkkqfI/xYVH5hT4fNV4VKAAiSTPZxPJpDUMzHKIdSSjaUYlYGlHoLeI gJwZfdeIamDdIZHdvHlX/pBYu1Tg/NxoB25qE7qnxqOQNJEoSB4gN1bNiEMdQlYJxdIfzG0iKv1 xDpp X-Received: by 2002:a05:6a00:4109:b0:852:38ea:3fd with SMTP id d2e1a72fcca58-85629a252e3mr11093863b3a.11.1787908580220; Fri, 28 Aug 2026 02:16:20 -0700 (PDT) Received: from phuc-desktop.. ([183.91.15.56]) by smtp.gmail.com with ESMTPSA id d2e1a72fcca58-8569fe78fc3sm381248b3a.24.2026.08.28.02.16.17 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 28 Aug 2026 02:16:19 -0700 (PDT) From: phucduc.bui@gmail.com To: Mark Brown , Matthias Brugger Cc: Liam Girdwood , AngeloGioacchino Del Regno , Jaroslav Kysela , Takashi Iwai , Cezary Rojewski , 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 v3 5/8] ASoC: mediatek: mt8186: Fix MCK error handling Date: Fri, 28 Aug 2026 16:15:29 +0700 Message-ID: <20260828091532.600047-6-phucduc.bui@gmail.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20260828091532.600047-1-phucduc.bui@gmail.com> References: <20260828091532.600047-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 85fe828ca5ae..6d2871254e32 100644 --- a/sound/soc/mediatek/mt8186/mt8186-afe-clk.c +++ b/sound/soc/mediatek/mt8186/mt8186-afe-clk.c @@ -528,7 +528,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]); @@ -536,7 +536,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 @@ -545,16 +545,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 23:51:02 2026 Received: from mail-pf1-f178.google.com (mail-pf1-f178.google.com [209.85.210.178]) (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 0E84B392836 for ; Fri, 28 Aug 2026 09:16:24 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.210.178 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1787908586; cv=none; b=csmZ0rTEmU8HW+9xL0YVMl6D9WR8Hhc+tjxsz9rZ4tva9yHfHWzhidKhmh6IG1Xa0IEqa40CY9LC37WMjKMuMbGVmjWZRt2tGII9y7qfJ139OKj82pDzMtW4QHTF1hx8q2HlOgy3xAbyE7jP2A1pboxlojbqDY4ZwqJDGnC43EM= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1787908586; c=relaxed/simple; bh=57WzuTndarJ7qPiYwu6aU9mNYVkBNYV5ZI02Raa7014=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=VFLHwAqLh7Xm2W8LlRCFl7Xs7YoekhVksv7m3x95u8sP2maWSokz8PqmnMTEO0ySCxK2dWqolVxPHA4DaechXjppzirT2XcdBz4LJqLY6Wx9gZmQR1+XoeZJ8YgAL2+bKYdOOfcANptqMhrZoV4wRTj5+wfMWrKYffAJf5GI3/Y= 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=GyKutsq6; arc=none smtp.client-ip=209.85.210.178 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="GyKutsq6" Received: by mail-pf1-f178.google.com with SMTP id d2e1a72fcca58-852c481415fso777883b3a.3 for ; Fri, 28 Aug 2026 02:16:24 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1787908584; x=1788513384; 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=GyKutsq6K7ql6JYNWmcgJvMT60lbTJwLAI90gqUC7ItW+vAGGbfDpNrWOdt7SMZ/1M 3KDs4Gd40NAi0ccYE9wMpYXjCL35XAJa1b+nOpzKNeF7r8iswbQmTIBSUuqL/KyKEkoH NHqug4WpXDyVRIYUjZBmrpCLXee3HkhK3RivKj98XgrDZVwSlC/VXWvJ0mZxbfRXXzbg KuLCPTHCLaPzGTvRMURPIoYX/tdBm+Zn1Fakp3PQ2LcstcDWLa6/sMm7KyQVRoFcK7Ea 6NOAA7lrNdh2hu3dl9b5tzpXHCB+BpWhmncrNnCFQC9O8MUfr6525CBA8/a/tS2qZIP7 vi5w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1787908584; x=1788513384; 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=LoSu9a7KIVwV7YL+oJglMrIOD1rAhN+5caWMEDX2borBjyB+y6LElyDWJyiSgZJ210 BCr+r5XXsLmMB9mW7OfaMtTPimcVFu0AOM7dX/O4eOaWax6Sv6l7f6+I8tMs1mUOcWzB LSfVZgzIPGZ0jn0XFh+rTtB55CxfKgC8P3joAQZfSChv+5OXur09pPCoX+NahGmZCBy/ 5R8HJSXSbnJ/Jew9Cbi9XW2h77sTk2OwVeQTT2CzlSWgDhnkfF4yPhz2hkyalx8a13WK Po93RpCX+EqBTTUTJfIJ3aa9dDOw3Az1CNxrW+wMazNa2zbHOdRSsGkCqsHRfYl4Tqtm Ey/Q== X-Forwarded-Encrypted: i=1; AHgh+Ro7YolN99kKTYT6T8icqM7VEcDJYvfPhx2g6kVm6X5f2RXFhgc98/cb+Osjwkj2PWagOeZlBElwXXx+EsE=@vger.kernel.org X-Gm-Message-State: AFuF++lH2bebTcEtRx0OmrJi/5hGYdhFRwGbFOpBDRa+/A7w8/fjn3ke CrEVlceSxY8/N3g7mDAAPIrqpLFCn+2cd2dMkRy1SnHhmB3jnrFoYa1u X-Gm-Gg: AR+sD10zPwqpSBbixQBeVGD8PuNMJQlz9D9Fqmy21Mn0a84EZWRHMrE4n0h0Ul5pH8F N2+/UwpDgTBDL0kOg5VKkCIarWB/Fckwqs4/9hkAprPXg/wSHyOfCA+6zji8/syPMPKhqWd3Q8z fDjc2LWDZ+VBnEf2Al9uf6fmyCoFZO755bbm9Lu3wf/+B0IL9FUUeOFom4yyREGDWo3SatRhTPU NsKqw2m9WzC2uvYF0eeCVmRoK0gAV47/Tmn4zupzDxWXAyLF5NXYG8g7qHHt9J2hqTPqDN94xKA 4ZQRJownC0sogimEDtqc03SfjN8xjHYo7TGxjDp2DE2ETe0uoxxil3LkqfEoycLoxQi/gYjbmV0 w//c37gTyzaUCUE6Obsv7wPE+QzwYxCuiD6QbbxdRU4hO9cIj+ICmGbf4OTR13XiZNmKM/sHAYr PvSJPOGm/RQtX15adM4dzVcFaHKAsPSXh3hd+FpWjH/7kVlZsOux7BXkU27ynNJCFHdcQYMKtAC GoPOZke8jC/isz+al7YebWE0f1NqQFmosv4ywYqvMFizGt/yBQZSCeuEr9T8RD4bqPUa/iWN4EC UTNXvwVXi2lB1bw= X-Received: by 2002:a05:6a00:f0a:b0:853:5152:a3e9 with SMTP id d2e1a72fcca58-85628c7766fmr12100030b3a.11.1787908584414; Fri, 28 Aug 2026 02:16:24 -0700 (PDT) Received: from phuc-desktop.. ([183.91.15.56]) by smtp.gmail.com with ESMTPSA id d2e1a72fcca58-8569fe78fc3sm381248b3a.24.2026.08.28.02.16.21 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 28 Aug 2026 02:16:24 -0700 (PDT) From: phucduc.bui@gmail.com To: Mark Brown , Matthias Brugger Cc: Liam Girdwood , AngeloGioacchino Del Regno , Jaroslav Kysela , Takashi Iwai , Cezary Rojewski , 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 v3 6/8] ASoC: mediatek: mt8186: Fix gpio rollback on adda dl/ul partial failure Date: Fri, 28 Aug 2026 16:15:30 +0700 Message-ID: <20260828091532.600047-7-phucduc.bui@gmail.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20260828091532.600047-1-phucduc.bui@gmail.com> References: <20260828091532.600047-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 23:51:02 2026 Received: from mail-pf1-f174.google.com (mail-pf1-f174.google.com [209.85.210.174]) (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 DF5D13911C1 for ; Fri, 28 Aug 2026 09:16:28 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.210.174 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1787908590; cv=none; b=uPVouuOyt68uZGjMwrJsDtOYHrOQoHHt85E2OvlNBhANsV4/3DyF99OLwU71dvGRKnFH0XStSRHitnm2phpirBYK/Ba9Myaz/Z/QlXDWAknufAEyjk7UoufbLudJuCfKgiUyHyYyd9zL0vUeLeTlA9gxkcdHPvUssVIfRuQZejk= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1787908590; c=relaxed/simple; bh=UHO3oH2Sj6WWxyXwm9+QaU7CNkpCUF4jRBx0s2y56hw=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=Cf5INa+QKOVBnJ5FJpm/rhd1lK+uoZzV+gCjp1118cyAJGMJ+wJhbUUX3suxhm86oIcJdJYozDTJt+/mAjPU46CTZ5k6F1GPSmUiB7ukY6jc8H6eU84JwhRif8i8jVO3EZrTq7WcNEtkRsEClEsbW4AR+WpPdivOmHtGYeGOffk= 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=QdEPUuOZ; arc=none smtp.client-ip=209.85.210.174 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="QdEPUuOZ" Received: by mail-pf1-f174.google.com with SMTP id d2e1a72fcca58-84f216add2eso31167b3a.0 for ; Fri, 28 Aug 2026 02:16:28 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1787908588; x=1788513388; 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=QdEPUuOZ8EXqaa9fVEzt9/s/bV44Q3IXTWQ9HP1bs2yWApZZ+fgdK1/WDSw3I1V72w PQf5SCOlNv1ZLLay1iNG5XUWMz9u/6lfAgv0jFJDPrrB/HbDZ/GOdDjFLQk7/3bOEoLq of1vwSjwBF4sZbi2aCgsafkOzJm03av+YGpjnZhhw0M0ag48WWVYPBr+RoerKlDZvK5C KHlANj1Fke6SS3zaXxxcwdUbnSVTI+X9Zgorly2ggDy5qf2cWqr5wv6Zuoq1vG9hMCzV zkNLTCQ3v7QkahDCqF2vL0Dk6cFWpxUwLyZgJATd/R7thuAWfHOFt5vl8so3XsWekHfv udvg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1787908588; x=1788513388; 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=V3Y9Hyvnpq/xJ596e4Q2fe2w9k0dNx2Jd0UdJqWbr6XJ9cp8X3+qsPYcgeuYMdjzXQ l527bkuKUvf+rB0/LUn0CwPaXlkJu3XycecL0LssH49LJE1LyTfSLh6EOvVU75oCnEeN jyCs/2qgdL+0njIKKOJu2F4mC3817/LmD6fZV/8ZucCZUk4AANwP4jjK8aSkfWHp9hQG hShDnhFWgZ0Wyx/dTUZba4LQIuY3v3cGd+lIdHMCaAKh+y9lqN2XEDF8ILyblQrG1yMA Sc3zAywMOcl0hL8KNRPOESjFK5Q8ifp5DFaiDHkFPeBmU9SSPVnH3tfrAgUmOc2nE4Jl lsaA== X-Forwarded-Encrypted: i=1; AHgh+RozBKKCyeeei2EcGG2CBous0iJ8SkjrBHMvXPUwT3gXv+x0sg+c85UeOgwSQj9TzRPJCmVn9z7r+CtaEqE=@vger.kernel.org X-Gm-Message-State: AFuF++nSSehDaIt9bCCaM16S+g7ah0hZQ/hLyqOjocwnzZAOosOhJlgH H39crTuxGsYuQMESJvp8Cxl2FgkPQ9iA75qhbOBowVLEnCWK7Ey3zIPu X-Gm-Gg: AR+sD10Eu/efCdYtceeUKtrYUGqU7mWpm4EwddHojwuDkXbhWf2qtzNh89XE7Yb+y5h MNhmxFv1O/zsakUzp0bGdt4X1dzFNn/Ja/Mv/RyDx3+iyXDYEyyt62xTGRgn+zwR3wg4DYdfxXF uIIv7xBpLYt191eXQzJtSLLSTv8WV7nTkMwX0/u0geSXUVkgRu4oVHRBMXm10ELnfnehkanP81p fDvRsNu4SLl48qfMvN+RWSD5ijDUblMEx3LnVYE7dDF21tSbZzpKj1BAb3rC1nuNkEnlTHBLPG4 j/H8jo/Bvav0Z5dC0uSDt59UqCC8MbfGzs4atDRyd/qStioCo8cqAMpBcJXiIRaY4xCyHREhQmm QrDljxt0MBjejl/AucZdFSF2ZSmdTjmB4oYXF/mgJ4kvthkMANQzQkyjFNlH8L+bPbkC7cWy+S0 tpSuPwU6GSobTtzzuxRYDLR0jFKMrswBvhk0s1jAZRY7cbiuDlpuZKeSd61kLIfYWiE6qfxvyWV De/5LVGKuVFxQZPYj43wFRksL1wd0RLBE1J5fyKd/E0qpRYmoCZDnLzzPV0yyiz4zCvxt8590ts 7/pi X-Received: by 2002:a05:6a00:4c0f:b0:84e:d5e6:a085 with SMTP id d2e1a72fcca58-856252523ebmr12427267b3a.0.1787908588234; Fri, 28 Aug 2026 02:16:28 -0700 (PDT) Received: from phuc-desktop.. ([183.91.15.56]) by smtp.gmail.com with ESMTPSA id d2e1a72fcca58-8569fe78fc3sm381248b3a.24.2026.08.28.02.16.25 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 28 Aug 2026 02:16: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 , 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 v3 7/8] ASoC: mediatek: mt8186: Handle regcache sync failure Date: Fri, 28 Aug 2026 16:15:31 +0700 Message-ID: <20260828091532.600047-8-phucduc.bui@gmail.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20260828091532.600047-1-phucduc.bui@gmail.com> References: <20260828091532.600047-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 23:51:02 2026 Received: from mail-pf1-f174.google.com (mail-pf1-f174.google.com [209.85.210.174]) (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 8220C3955F7 for ; Fri, 28 Aug 2026 09:16:32 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.210.174 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1787908593; cv=none; b=Vgn7i8sh6mhHo2yXy2KYNFaUGpSVh8D2VMRcXOpcrsExCA5ZaiWM50/lxQgwIi/K5K7HWyj9aTyeJrnmezBrUS+cFn9k6cnSCfc8xJGPaUUmP2aDRtHonekhKL9rCuBhSlxuSVhV2dMTqTXPZdQJOijmu+jhd9VJaUEC1NQvsFk= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1787908593; c=relaxed/simple; bh=flUUxagMMbbwFuTrQc7nygferYAal45fxbtXaeUEeAk=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=Itc/XiViZhmumIEldeh55e6prc2Y84Ysyl0iS2UsIlj4A3esThuV76p0UJF4NqEWoF2MFeOKfh4NVukClZD8XWOOZIZI/WDt9Kg3FKdezMAphEmypvr4J2mcYmegR5YomjCgJTApYIW+/fO/QIMeJ/40yDFO+6zpLtTCDkpuF6M= 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=IQyt4Z5B; arc=none smtp.client-ip=209.85.210.174 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="IQyt4Z5B" Received: by mail-pf1-f174.google.com with SMTP id d2e1a72fcca58-8487214ad2bso1182685b3a.1 for ; Fri, 28 Aug 2026 02:16:32 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1787908592; x=1788513392; 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=IQyt4Z5BZfGgIsKPakgqk4m4GTNyHtnNwEmg82REhTgn5vHycNbGqCV3dq5ASYcfIa XZ7pjZ1IR7FawuiTGRoSJFeEUohzvsk+oMOAS52yKEzDA8PJ92lkDIdg/ToqMnDI+MCo IWvo2Cmxeq0lTHgdyyUaQc1Hve89c0G3J3KH1KPRGhK0vCDHlnYvBI3Gxdxv0n76VYOH cxLwGX5FyIq2LcKfmVRKbkwhevBPTJBamUMezJVM+ALPqkQgVA0wInIDxSLABlLv9OAj WRb75zRicoP1iINAGbLdzXEKsRiissbJXcVJ4HohjAgEAbgupxjpYHXxJTNeR9+/Mzt/ Qrng== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1787908592; x=1788513392; 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=GDu69RUkMs6C8Uk/lndjgpHBw1ZtMMg1r9355/5JkwOaubtYSBxZ82d95frBUs6YvZ 0keSARd0WBb8B78Ede6/D2zKBQsaRtO/N+vF8YZp0N0n+cn26wnGaBqGW0jOsnjOiCe6 Xs3JOp/Frgt6XwIGP4WiIKiu9+nHDTfhB/MiaaeW7g7NrQS1WYps4O5CZUT3/nuf/IFZ keKb5FTCB3Ef19PN2ZGNqoiIquizFDJMI5nfe9BsCvAlTbZPqfXc/2bx1a3arv9batv9 mHhQhWYx1o1RIj8GrvlPd3GWtohCQAgKecSDkTnRPX4HVUoAR7QBfklflaC0zacXnmjv ihBQ== X-Forwarded-Encrypted: i=1; AHgh+RpF/iUe+xmkY7jgVaT619QCrNh6tyJxun8OvcSbfSpJtGXtmM+P/er4oEY9WexNi4DkKdvG5z+fHRjTfvM=@vger.kernel.org X-Gm-Message-State: AFuF++nc8Eeu2Is6DQYMEly0mgnG7mgRCEptnRmw63Xew5V9TE0vAt1x TFPD5zNpGms+fPSm/9O/c/y5mDxzHEuRNK8Fbddi1t1rXmY83qP8VGK9 X-Gm-Gg: AR+sD11XYv35aolLIfA9KI93kIjDHbPm1ixo7KyVC/GttPqg78rZWPFd41CIQNRbDAK Lr/aJC9paBj6GhXwSqM5ay5W8S5eqY+bB8jRe9p784Y23N8dnRpLQoThnAHE8mYCboDSzSgugcI JQQERf82reKPGe0JZOIBgTNyx9Gv9TEP/M5IeUK0idBaeN5eo1sEGTlkA+9XmomrKZX3X5JjZ0L xCAY6WxvmWa/LLRO15NFnV6EB7wHQavb5gA40kKQOw14vstCNRwXmb5az/3OywTV1vU0J79BayY wjhGSaexnuoEuCphMIQvNcMU/95Dm9RIdqizQDjvmqL51IRsolOBMpO6bC8u224uSMitKeUbb0j tMVN1yuledvFQ2JCJjH48XMzqgnWtuUlL9QHCQYrBsTelwG6qrEUiH/NbgoGigy032zxXGDkomG eWafdBpp98/WVisFzDLTCQq25iLnw8bladEHUykjIUG/L45C34obBSrMgO0RdKzc0HkXpTIEKmH 4hUVR+b69ep6zLSf8jEE5uTI0tIJ3JMBA5F5TE9y+TUhsvA4hTJMXGjMdcnJyMVBBcXxN/HzRww WcWtwLlEa0oDt/U= X-Received: by 2002:a05:6a00:8019:b0:851:d12e:389b with SMTP id d2e1a72fcca58-8562a8d4291mr12413048b3a.14.1787908591962; Fri, 28 Aug 2026 02:16:31 -0700 (PDT) Received: from phuc-desktop.. ([183.91.15.56]) by smtp.gmail.com with ESMTPSA id d2e1a72fcca58-8569fe78fc3sm381248b3a.24.2026.08.28.02.16.29 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 28 Aug 2026 02:16: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 , 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 v3 8/8] ASoC: mediatek: mt8186: Drop redundant probe error messages Date: Fri, 28 Aug 2026 16:15:32 +0700 Message-ID: <20260828091532.600047-9-phucduc.bui@gmail.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20260828091532.600047-1-phucduc.bui@gmail.com> References: <20260828091532.600047-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