From nobody Fri Sep 25 00:01:21 2026 Received: from mail-pz2-f12.google.com (mail-pz2-f12.google.com [74.125.228.12]) (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 DFC4250B8C9 for ; Fri, 18 Sep 2026 13:39:47 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=74.125.228.12 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1789738789; cv=none; b=fp3BevHDvSkB/RUp/uTIe7ql5//QzgAsM99JOkH1/I8IdTmiwSAKEI/w9JBrP0l/Oc8Dgi7ROneeObrA/jvmPA89OQSbKnd7YGkenypP73LKg4x6yMD9GdXqslge5knbkmXvM9/4vTlZROeFMupS3coxr3xQypyLr+V9hB3ucMc= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1789738789; c=relaxed/simple; bh=0YZDgohYU82Y3Z3wgauvg8puXR/i5RfbrYlezzuK8Ts=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=Y7hvMpTc5lUlRXiu5/Oujsf+IVSOQGtsE8ElN/94nysAHLoKjsG/pua2ZPfQUGrhDH2ksjtABZRKTmo5nkpktIaw+RNAHv/tiZ4+pgvCabOk+FVrYnuWP/mlQVlIcuKcH/IHLJAH3353P7rALXOGYh9Wfn+GuYNjyfKAAitoa8w= 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=IUpRSwey; arc=none smtp.client-ip=74.125.228.12 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="IUpRSwey" Received: by mail-pz2-f12.google.com with SMTP id 41be03b00d2f7-cc1cea50dc3so504841a12.3 for ; Fri, 18 Sep 2026 06:39:47 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1789738787; x=1790343587; 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=/qDV/Zz9q7433cXeBFk2dk/vooaqEVgx7zKvutK7uX8=; b=IUpRSweyv5NqoCkU61+tPUs012QGZ/nZqxnhDktplsrBys/5ukmiKaZsvPJFz7C4yd MDVowc7o1z3t9uUYrto2DzWANpyaFX9XWC9O75F4pn1cw1+rVFRnieWMQEv0P97iViP/ 3OrxN1VXLmimZEeVgEGGp51FfIabFMXlsKe4EnEgPuYwEkAZhqU6cZEuVcGnQLfjzhV6 /62xzeqJZGxXCus/0igOt3zuW4PGcBrA3J1NW+MiSJ8KY2CNrLG+MK4fbfM353pb41Ao 6ESxpv+6hFELoWPOIaGtxwQ+RuRCTfcqw3uHAUSIs9oNVkk31FrVDMwrdFiRKbojVPRy 0DoA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20260707; t=1789738787; x=1790343587; 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=/qDV/Zz9q7433cXeBFk2dk/vooaqEVgx7zKvutK7uX8=; b=ApSUVRUwCoNAayb3Y2+mOK75flnEQxhrZN5C3BHBkTGk3/9pNL/VGuc0/e49WgdOOQ evPuNBivvb4MM7EloYXuW6d4z1Vv1Hms8FPvIHeW6HfunHqgmcq5US3Z+8R3RxoOU/0W Q7VCFVRf5bzS8yuRcSx0oc7yT6zm2afo3FIm9A49sVrNvcF0t5Z+wKPVpuym2GzPGYVR ZxXqy+IR2hho3+Ont9qxaDOI2fIB4lqpBTP7p9Q2akoHS473RxYNigXh14Elhz/SLlV9 nQlu4bE/pTLgw8CYWf2gnS4GsjmOmdX6HZbJXk4guSigt0OFgL5ofRQyjyXD/mPI8NHW NEfw== X-Forwarded-Encrypted: i=1; AKwUvByKi/JjGJAgY6Zy5z5B8z0GiqIHOS/ExGIay/pT0VtDuUm14koh2Y9ZL1dgT3V12rLIjD/S/c1ey4Ol7YU=@vger.kernel.org X-Gm-Message-State: AFuF++lY0eD1E9bGsnjpxXfofxguYboKuyMDA5n+TcmsoSQfXpKLpV4/ 0q5cYJekX11Fc/MRYcuyHUbIrd93LBt25zijomfblXAHuuBUasWOgchp X-Gm-Gg: AYBFou39RO2dA7TJa1NCkT2AelgWiytCzUkzgCS988lM/kWomrmsMPfnrxYEfBBEIXt m24ECcokUXiFZ9S8zi261UenTBtoZu+ZoK9RoaZZbCMHmUKpZXMOXdqu7pvSRfW1+SsnfRToFxC kafa/CGlo3hCo80cbhd24EvptvPQYupZt1t+uPkUSk9/rShb/aNK/fdV9NlWvTPtQp7TazKBnJQ 1hfAJ9SzRnmCin3QXga0Zq5MvL/96EOYMavsrF0KxPFdsygXCcRmHNR49fH9FN7ktREWdjqDcxE BkaGjRuf6wzGxns/+QG29xsczhuKL0N2t98yxu7ZHbZBf22clHuaiF6kIyWGbKO0KdiLYlFVJ56 ewEIznCs4sv0gb09qjRFTHfrqmDiNRkAEHzLPegukyhacburLdwIOXIqQeMJRYidGRdLk8GCHGw uCbglhce50+oWa0hU4KB5hKQUCagmZFyeeNBW8cV4mWvtImPDzvYgniPR0kk9TDqlHfiTXkhE/z 9fo01DKYLr16TPWthI+0IoAK87v/PKCrlRZ5EyMi7ptfjxvN6vIAd/BarEKQVYv/gx6L+U2iVxq kZvr7jg2/lQwDQ== X-Received: by 2002:a17:90b:3d8e:b0:39e:2065:5f60 with SMTP id 98e67ed59e1d1-39e54f9d37bmr6277200a91.18.1789738786842; Fri, 18 Sep 2026 06:39:46 -0700 (PDT) Received: from phuc-desktop.. ([183.91.15.56]) by smtp.gmail.com with ESMTPSA id 98e67ed59e1d1-39e3617443asm13253792a91.9.2026.09.18.06.39.42 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 18 Sep 2026 06:39:46 -0700 (PDT) From: phucduc.bui@gmail.com To: Mark Brown , AngeloGioacchino Del Regno Cc: Liam Girdwood , Matthias Brugger , Jaroslav Kysela , Takashi Iwai , Kuninori Morimoto , cassiogabrielcontato@gmail.com, Linus Walleij , Bartosz Golaszewski , Mukesh Ojha , Jiaxin Yu , 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 01/15] ASoC: mediatek: mt8192: fix APLL mux error handling Date: Fri, 18 Sep 2026 20:38:57 +0700 Message-ID: <20260918133912.133799-2-phucduc.bui@gmail.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20260918133912.133799-1-phucduc.bui@gmail.com> References: <20260918133912.133799-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 Propagate errors from clock operations in the enable path and clean up previously enabled clocks when a later operation fails. For the disable path, continue disabling all clocks even if a clock operation fails. Log the error without returning it, so the disable path can perform as much cleanup as possible. Fixes: 125ab5d588b0 ("ASoC: mediatek: mt8192: add platform driver") Signed-off-by: bui duc phuc --- sound/soc/mediatek/mt8192/mt8192-afe-clk.c | 54 +++++++++++++--------- 1 file changed, 32 insertions(+), 22 deletions(-) diff --git a/sound/soc/mediatek/mt8192/mt8192-afe-clk.c b/sound/soc/mediate= k/mt8192/mt8192-afe-clk.c index 416aff726253..bd778e5663b5 100644 --- a/sound/soc/mediatek/mt8192/mt8192-afe-clk.c +++ b/sound/soc/mediatek/mt8192/mt8192-afe-clk.c @@ -87,7 +87,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); - goto EXIT; + return ret; } ret =3D clk_set_parent(afe_priv->clk[CLK_TOP_MUX_AUD_1], afe_priv->clk[CLK_TOP_APLL1_CK]); @@ -95,7 +95,7 @@ static int apll1_mux_setting(struct mtk_base_afe *afe, bo= ol 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); - goto EXIT; + goto err_disable_mux_aud_1; } =20 /* 180.6336 / 4 =3D 45.1584MHz */ @@ -103,7 +103,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); - goto EXIT; + goto err_set_parent_mux_aud_1; } ret =3D clk_set_parent(afe_priv->clk[CLK_TOP_MUX_AUD_ENG1], afe_priv->clk[CLK_TOP_APLL1_D4]); @@ -111,31 +111,36 @@ 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_D4], ret); - goto EXIT; + goto err_disable_mux_aud_eng1; } } else { ret =3D clk_set_parent(afe_priv->clk[CLK_TOP_MUX_AUD_ENG1], afe_priv->clk[CLK_CLK26M]); - if (ret) { + 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]); =20 ret =3D clk_set_parent(afe_priv->clk[CLK_TOP_MUX_AUD_1], afe_priv->clk[CLK_CLK26M]); - if (ret) { + 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]); } =20 -EXIT: + return 0; + +err_disable_mux_aud_eng1: + clk_disable_unprepare(afe_priv->clk[CLK_TOP_MUX_AUD_ENG1]); +err_set_parent_mux_aud_1: + clk_set_parent(afe_priv->clk[CLK_TOP_MUX_AUD_1], + afe_priv->clk[CLK_CLK26M]); +err_disable_mux_aud_1: + clk_disable_unprepare(afe_priv->clk[CLK_TOP_MUX_AUD_1]); + return ret; } =20 @@ -149,7 +154,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); - goto EXIT; + return ret; } ret =3D clk_set_parent(afe_priv->clk[CLK_TOP_MUX_AUD_2], afe_priv->clk[CLK_TOP_APLL2_CK]); @@ -157,7 +162,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); - goto EXIT; + goto err_disable_mux_aud_2; } =20 /* 196.608 / 4 =3D 49.152MHz */ @@ -165,7 +170,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); - goto EXIT; + goto err_set_parent_mux_aud_2; } ret =3D clk_set_parent(afe_priv->clk[CLK_TOP_MUX_AUD_ENG2], afe_priv->clk[CLK_TOP_APLL2_D4]); @@ -173,31 +178,36 @@ 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_D4], ret); - goto EXIT; + goto err_disable_mux_aud_eng2; } } else { ret =3D clk_set_parent(afe_priv->clk[CLK_TOP_MUX_AUD_ENG2], afe_priv->clk[CLK_CLK26M]); - if (ret) { + 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]); =20 ret =3D clk_set_parent(afe_priv->clk[CLK_TOP_MUX_AUD_2], afe_priv->clk[CLK_CLK26M]); - if (ret) { + 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]); } =20 -EXIT: + return 0; + +err_disable_mux_aud_eng2: + clk_disable_unprepare(afe_priv->clk[CLK_TOP_MUX_AUD_ENG2]); +err_set_parent_mux_aud_2: + clk_set_parent(afe_priv->clk[CLK_TOP_MUX_AUD_2], + afe_priv->clk[CLK_CLK26M]); +err_disable_mux_aud_2: + clk_disable_unprepare(afe_priv->clk[CLK_TOP_MUX_AUD_2]); + return ret; } =20 --=20 2.43.0 From nobody Fri Sep 25 00:01:21 2026 Received: from mail-pz2-f43.google.com (mail-pz2-f43.google.com [74.125.228.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 9D8CC50E58C for ; Fri, 18 Sep 2026 13:39:52 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=74.125.228.43 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1789738794; cv=none; b=CILfm0UKHAJ3eVsyxKKwsd9LdDqOlQ2uF0HRvkzOU8CI15kUd8PBvCZ3SqJO8yn4pu1XppCpHuHvtuI6T/kdgkwTA/RN45mFvlLD2u1Npdl1bhJHfczjctha+uWRCNCEYOzpuhMjltPgOWSsRLA1kPJapnSsP/eQHofllRyfuRk= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1789738794; c=relaxed/simple; bh=Yhr/LGNoTuypBOAzfvG820znUChZLtctV2QUCTymu2M=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=s0YU+bD2OeutD6DA1Bfs0Vbs6Sja7+wP6jRmP1t17U8Krfv0/Qh2V7NCtvBfMxPXZfJxNs9CXstK5MnaD6IY1/uVKouVyyAG3yH1JpcgtoJrViHOcWx1aUuUe0XSA3z7CxFOpu2AENtWDzsX7UnNfAAjaH505Au8I4TqitXjo5I= 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=J/iG0jN6; arc=none smtp.client-ip=74.125.228.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="J/iG0jN6" Received: by mail-pz2-f43.google.com with SMTP id 41be03b00d2f7-cc4c08393dfso549836a12.3 for ; Fri, 18 Sep 2026 06:39:52 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1789738792; x=1790343592; 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=ktoNsEAM8yzRGTqWXbn5tE4afzDQIVo6sEvkne09pIg=; b=J/iG0jN6qnv4JLDb6hYYsXt+7hJgiSdN00OmeeMBBp9/oYBpHuSlviKaWbiZEwKQj7 Vc/mdvO81HdYgM5ADuIlMObqq35hqKScFpb5NmQU0PAblF4yFRxpeqlCfvkM8mnAONQF LrgUE6QGVieqRcKjN/5pt7S+m9jArxrZiMnUKNk55Qjoyx7eFkCxZbuHOUSCx+thmgEe HNrCxJnu2IqFml0gkGgL2KWCETbdx/U2J51uoeXmQvN+DiOGbAO1JbgDBpZZg7tsOf8U 6zuAKdhwLjzG1c1jtKs1fWcdOQeYhbgfBUaz3bcyfxTo9rdA436EKfCWm3dbj4JNgQui AH8A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20260707; t=1789738792; x=1790343592; 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=ktoNsEAM8yzRGTqWXbn5tE4afzDQIVo6sEvkne09pIg=; b=fXb40TI2EENxSTzVk0AMM3NRqTLX3AKgM1364T00/7nqilmef/ALvXdiutsoE6PggR pnBhkXBJTDyh+PTK01nDcxOc+llkgdjDaYDluSFSrV1cRoB73/yhFBD5E5tk1eANe2Dz bju4b5QVdE/ismmSBaFIi1ZqvZ+rO3w58EZrVP1UIZQHs3dngz/kA9sXcfrPTCgJ8lEA euJpQeyYMN9qDXdzaBQ4J0P5Jg9Y9dNTDA5GOYMnGzhPLIso1QN3/2aCLPGHz7QuYF3X 2iA6BqDwi63NWI3NPI5LjwYMpSfJiYsPLiCkzIFj/ssueL0b+i/LYMaVBAIY82YvSU4b g7vw== X-Forwarded-Encrypted: i=1; AKwUvBzje5t/k1AsQAHoXxve8h04mGZKOrLk3ffOxcdc0x/6b0puDQr2A2km65ikcFKgBF6o8z0zGQcsFOgI2a0=@vger.kernel.org X-Gm-Message-State: AFuF++nKWLYsPH3t8p6mm7ic55J/w2Js8ymtWlFPnOO2Mo9jxDV1f6t4 22mSpfQIHG1VH3Sr8DAG7ltWhqsdN6+Z7urlkLCnIp8TFDgGNiyY9D9H X-Gm-Gg: AYBFou08lypfXWDs6oKnig8TdHHAieGrc/xV6DmGS4uF87ct4dZWnQbNcwvc80KUQh6 m5CRSWR0Oe8lDg6KQKZCiSnnQ58ZZByrd/2OpQWgLZ/5CxUTqKeEuMnZEk47TsPM8XwhBxloUW9 //jtf1nViXWmSS0NoE6//x9IhD4GvWlFn22ohpGxqAeRrAnzfCNhk171y8gQeHVjv7d2l8UOImc g4Q6iC56/q4qgp23YyI65Oy/Lk5sEHeBY62me8oMSH2T+fNBoFnM5MKIbwU9czlnN5SdVlD9Zg5 782s3odHsrskl8K+/dPHTjbK5W6WSowol5k024tYcLXPsCU1vXR1Gqd8ssN39BC8nVquzvcPIB6 Bsft7ZOqP7xcMskcoOKx929u0tBU1PF3fmEgf8PPMrqgzcqLR6z1r62dGVCtWedQb9t2t24wMDx DSdKeEVzPzt7KK59ydhPdK7VL4uwY5ySTkvzrMgqccwjisLCNj/j4Fhu+3Pj8PyYUl+eOh6lF29 J/qmNgsO7YYMq4P1SgIGQDqfsJStBtItZNsUtMMSXpjOGewgWJk/YcxH53Qpy8VbTF60Xv61Nj7 k6AoLf1AttczNQ== X-Received: by 2002:a17:90b:398c:b0:39e:1c2c:1d4b with SMTP id 98e67ed59e1d1-39e54bcd0a9mr5957619a91.11.1789738791912; Fri, 18 Sep 2026 06:39:51 -0700 (PDT) Received: from phuc-desktop.. ([183.91.15.56]) by smtp.gmail.com with ESMTPSA id 98e67ed59e1d1-39e3617443asm13253792a91.9.2026.09.18.06.39.48 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 18 Sep 2026 06:39:51 -0700 (PDT) From: phucduc.bui@gmail.com To: Mark Brown , AngeloGioacchino Del Regno Cc: Liam Girdwood , Matthias Brugger , Jaroslav Kysela , Takashi Iwai , Kuninori Morimoto , cassiogabrielcontato@gmail.com, Linus Walleij , Bartosz Golaszewski , Mukesh Ojha , Jiaxin Yu , 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 02/15] ASoC: mediatek: mt8192: fix AFE clock error handling Date: Fri, 18 Sep 2026 20:38:58 +0700 Message-ID: <20260918133912.133799-3-phucduc.bui@gmail.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20260918133912.133799-1-phucduc.bui@gmail.com> References: <20260918133912.133799-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 a clock operation fails in mt8192_afe_enable_clock(), the function returns immediately via the EXIT label without disabling the clocks that were successfully enabled earlier in the sequence. This leaves unneeded clocks running and causes a resource leak. Properly unwind clocks enabled before an error by jumping to appropriate cleanup labels on failure. Fixes: 125ab5d588b0 ("ASoC: mediatek: mt8192: add platform driver") Signed-off-by: bui duc phuc --- sound/soc/mediatek/mt8192/mt8192-afe-clk.c | 28 +++++++++++++++------- 1 file changed, 19 insertions(+), 9 deletions(-) diff --git a/sound/soc/mediatek/mt8192/mt8192-afe-clk.c b/sound/soc/mediate= k/mt8192/mt8192-afe-clk.c index bd778e5663b5..7647bdd463d9 100644 --- a/sound/soc/mediatek/mt8192/mt8192-afe-clk.c +++ b/sound/soc/mediatek/mt8192/mt8192-afe-clk.c @@ -220,21 +220,21 @@ int mt8192_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_INFRA_SYS_AUDIO], ret); - goto EXIT; + return ret; } =20 ret =3D clk_prepare_enable(afe_priv->clk[CLK_INFRA_AUDIO_26M]); if (ret) { dev_err(afe->dev, "%s clk_prepare_enable %s fail %d\n", __func__, aud_clks[CLK_INFRA_AUDIO_26M], ret); - goto EXIT; + goto err_disable_infra_sys_audio; } =20 ret =3D clk_prepare_enable(afe_priv->clk[CLK_MUX_AUDIO]); if (ret) { dev_err(afe->dev, "%s clk_prepare_enable %s fail %d\n", __func__, aud_clks[CLK_MUX_AUDIO], ret); - goto EXIT; + goto err_disable_infra_audio_26m; } ret =3D clk_set_parent(afe_priv->clk[CLK_MUX_AUDIO], afe_priv->clk[CLK_CLK26M]); @@ -242,14 +242,14 @@ int mt8192_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 EXIT; + goto err_disable_mux_audio; } =20 ret =3D clk_prepare_enable(afe_priv->clk[CLK_MUX_AUDIOINTBUS]); if (ret) { dev_err(afe->dev, "%s clk_prepare_enable %s fail %d\n", __func__, aud_clks[CLK_MUX_AUDIOINTBUS], ret); - goto EXIT; + goto err_disable_mux_audio; } =20 ret =3D mt8192_set_audio_int_bus_parent(afe, CLK_CLK26M); @@ -257,7 +257,7 @@ int mt8192_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_AUDIOINTBUS], aud_clks[CLK_CLK26M], ret); - goto EXIT; + goto err_disable_mux_audiointbus; } =20 ret =3D clk_set_parent(afe_priv->clk[CLK_TOP_MUX_AUDIO_H], @@ -266,17 +266,27 @@ int mt8192_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_TOP_MUX_AUDIO_H], aud_clks[CLK_TOP_APLL2_CK], ret); - goto EXIT; + goto err_disable_mux_audiointbus; } =20 ret =3D clk_prepare_enable(afe_priv->clk[CLK_AFE]); if (ret) { dev_err(afe->dev, "%s clk_prepare_enable %s fail %d\n", __func__, aud_clks[CLK_AFE], ret); - goto EXIT; + goto err_disable_mux_audiointbus; } =20 -EXIT: + return 0; + +err_disable_mux_audiointbus: + clk_disable_unprepare(afe_priv->clk[CLK_MUX_AUDIOINTBUS]); +err_disable_mux_audio: + clk_disable_unprepare(afe_priv->clk[CLK_MUX_AUDIO]); +err_disable_infra_audio_26m: + clk_disable_unprepare(afe_priv->clk[CLK_INFRA_AUDIO_26M]); +err_disable_infra_sys_audio: + clk_disable_unprepare(afe_priv->clk[CLK_INFRA_SYS_AUDIO]); + return ret; } =20 --=20 2.43.0 From nobody Fri Sep 25 00:01:21 2026 Received: from mail-pz2-f12.google.com (mail-pz2-f12.google.com [74.125.228.12]) (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 A69EA4FD28B for ; Fri, 18 Sep 2026 13:39:57 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=74.125.228.12 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1789738799; cv=none; b=Nl2Jh1w1Lr3KPBZ+W7ftnHf5i2TV4cPlv/JGyHvz0ymS/BRM/bSd/JU3nItRtKoTIs8+wQpnY2GXo/kIzuvktBCXNwDrm0j5onHAOu/p0AAsIioUi/0FZsuT8uLk0ayYkMBXvMiW+OzEzycClPuFZdZhGpuXvlzBEEyhBIPboic= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1789738799; c=relaxed/simple; bh=OWrie+dV2E3Oh3XvLUGUdaBPRj738r+NfpSbomdwbk0=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=s4NAswUi4l8d71dA3BTw/nY3KW1sieuVe26YoO51juIwZab4JUu8t5IBsWp6lhrOc5DfOKHwGxX69GOVIGgaoangv9LFCv53pAVyFoYg+RY8m2jNjJdTz2kL5hXQHODGGzsigaLs2NnSYMpOIOjhNNrCQCLJHQ2Qb54Hk+XLQms= 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=hILWV941; arc=none smtp.client-ip=74.125.228.12 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="hILWV941" Received: by mail-pz2-f12.google.com with SMTP id 41be03b00d2f7-cc4d04d740cso433152a12.0 for ; Fri, 18 Sep 2026 06:39:57 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1789738797; x=1790343597; 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=xZ46FG5TVo6218myQRpLPBR3Fij1s0mvVbflmMAQD4M=; b=hILWV941b4XeVj5vvysZJv+/JgiCoT1z1TFh33eO65+JA+zZXTk1/tSZNiIKO7GEzn dfegvcE8t0/X245xkI+cICpDDU7uNqOOfaOFUd3HJ8wFYiuICkmh8x/RGcjGfAuBIAmF Q0y/xGv3H0zLLPQjaMeiL23CFUNc8ybxRRTPkbiuBRsZ2FlEh3g8FU9h4BNOVUu2uDxB 8SD9xCzdM62ubeDTYWNV1s2EI0mZfGzqnJHOeDeMEP/o74oqXT8kpkB5hWsOEouJt69l UIfUlGT1wv3SHhL59zVbdmHUEu68D7VFz7aliL43PocJdW55svzKbKhflheqzH1Q1wDH WpHQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20260707; t=1789738797; x=1790343597; 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=xZ46FG5TVo6218myQRpLPBR3Fij1s0mvVbflmMAQD4M=; b=HoHomA2mAmdF037WWd/UFMXUSwfPoURHPKtWpNcdFU5AECQBwdiRhRKmgUJKezSxKi 3KDfhJL2Ego/M8gf9OES9FyyJICCEn6ZCEH88a134mJQ+KUXq+SJ2C7cC4rbqvXohM7l tb5Jk6npAfU7BUavtH+AKfkT74lAu/Pwb2wYM4bJzKaMi+d/gYiOX6ZsHS2+JWQhrNmL AondGx9LkswtwuGO3IBUW0fdImRQIsw0N3bbHmozahbrPpyGB4P+Qto0XU6KUGM1g8d1 vGGeMIz7nQS1dSEM0ajx9Xi1lLrBiN8khUgOLQJ2ad35ZV/1pX0KlG4WfPXuarODG6N4 AgdA== X-Forwarded-Encrypted: i=1; AKwUvBy007dhyFShe7dlSRga4i4+A+GM5iZb1haJDyxkDsJDYRH7tI77y/kcOozrNbjvPxkZnhCBKRW3VCPt3zg=@vger.kernel.org X-Gm-Message-State: AFuF++kbknrJlzayMqnAO6r1uNhnVVZwi/CV1blCJ3wcp4Ddjjt3gU8o vWFNeSgT/XrTQ0jtcr8RJeZcHdlLW5AJWKEXmHO15z2LiSau7QnBB9it X-Gm-Gg: AYBFou2RMJZX8hnhke2FJ3dPYglmgP+/mkDsM8rdDtK74IwnR6V/AzAXQFOLtrpN+mP uAWOAmkhCdXucXo4d9vFmU/0aS+Tla0giWm6mlUZEKzX3RLLglBAUxmxKWHIQxpUNd0CgKWf7bk nmfdNEZ1P2oYqBJ2fJWFxaXDSih/aB/6kbAcLzANRNrJ768zaHwpwJGki+tND2LnuXgQUY1+HpK KnGzfMw6qtfhT1x/mphnoZ+ZUvH97aJtSvoq1EmDUhg/YmUO3/VIF4bOkVGo8E7ejSDRyXz8yhE mQsfinns8jpGtYIAyr3F8NUGB7SsXfKXkJ1j6oLhUAMytzOq7lOq5BstMOOZgkhl+zUcgfLaHo1 zvGT2iQ+aqtjRSPM1esleGLK35zn488ZQUn1GxKmF/9lCVxT8Y169krlA/nz+9B06oCZUk5EJTc IjW8y9WF+0hCerROCTB5qMendovf1aguWckwr3u8sQo/s+xRG/6AcXrZjRRY5auxlEa5TVljPre 3nzBzOWFV5Htj9sRTE70PJnlgEzkFYthzxBJxnvWGY9HYVeZTABcv0A/Fe50kmGRAeyw+CsG4IW c71R4PDoIxlBCg== X-Received: by 2002:a17:90b:2d44:b0:39d:8794:5564 with SMTP id 98e67ed59e1d1-39e54ce36fdmr6605508a91.12.1789738796691; Fri, 18 Sep 2026 06:39:56 -0700 (PDT) Received: from phuc-desktop.. ([183.91.15.56]) by smtp.gmail.com with ESMTPSA id 98e67ed59e1d1-39e3617443asm13253792a91.9.2026.09.18.06.39.52 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 18 Sep 2026 06:39:56 -0700 (PDT) From: phucduc.bui@gmail.com To: Mark Brown , AngeloGioacchino Del Regno Cc: Liam Girdwood , Matthias Brugger , Jaroslav Kysela , Takashi Iwai , Kuninori Morimoto , cassiogabrielcontato@gmail.com, Linus Walleij , Bartosz Golaszewski , Mukesh Ojha , Jiaxin Yu , 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 03/15] ASoC: mediatek: mt8192: fix error handling in APLL enable functions Date: Fri, 18 Sep 2026 20:38:59 +0700 Message-ID: <20260918133912.133799-4-phucduc.bui@gmail.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20260918133912.133799-1-phucduc.bui@gmail.com> References: <20260918133912.133799-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 a clock operation fails in mt8192_apll1_enable() or apll2_enable(), the functions return without checking the return value of mux settings or unwinding previously enabled clocks and MUX configurations. Fix this by checking the return value of apll1_mux_setting() and apll2_mux_setting(), and adding proper unwind handling on failure. Fixes: 125ab5d588b0 ("ASoC: mediatek: mt8192: add platform driver") Signed-off-by: bui duc phuc --- sound/soc/mediatek/mt8192/mt8192-afe-clk.c | 32 ++++++++++++++++------ 1 file changed, 24 insertions(+), 8 deletions(-) diff --git a/sound/soc/mediatek/mt8192/mt8192-afe-clk.c b/sound/soc/mediate= k/mt8192/mt8192-afe-clk.c index 7647bdd463d9..118dd4819682 100644 --- a/sound/soc/mediatek/mt8192/mt8192-afe-clk.c +++ b/sound/soc/mediatek/mt8192/mt8192-afe-clk.c @@ -308,20 +308,22 @@ int mt8192_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) { dev_err(afe->dev, "%s clk_prepare_enable %s fail %d\n", __func__, aud_clks[CLK_APLL22M], ret); - goto EXIT; + goto err_disable_mux_setting; } =20 ret =3D clk_prepare_enable(afe_priv->clk[CLK_APLL1_TUNER]); if (ret) { dev_err(afe->dev, "%s clk_prepare_enable %s fail %d\n", __func__, aud_clks[CLK_APLL1_TUNER], ret); - goto EXIT; + goto err_disable_apll22m; } =20 regmap_update_bits(afe->regmap, AFE_APLL1_TUNER_CFG, @@ -332,7 +334,13 @@ int mt8192_apll1_enable(struct mtk_base_afe *afe) AFE_22M_ON_MASK_SFT, 0x1 << AFE_22M_ON_SFT); =20 -EXIT: + return 0; + +err_disable_apll22m: + clk_disable_unprepare(afe_priv->clk[CLK_APLL22M]); +err_disable_mux_setting: + apll1_mux_setting(afe, false); + return ret; } =20 @@ -358,20 +366,22 @@ int mt8192_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) { dev_err(afe->dev, "%s clk_prepare_enable %s fail %d\n", __func__, aud_clks[CLK_APLL24M], ret); - goto EXIT; + goto err_disable_mux_setting; } =20 ret =3D clk_prepare_enable(afe_priv->clk[CLK_APLL2_TUNER]); if (ret) { dev_err(afe->dev, "%s clk_prepare_enable %s fail %d\n", __func__, aud_clks[CLK_APLL2_TUNER], ret); - goto EXIT; + goto err_disable_apll24m; } =20 regmap_update_bits(afe->regmap, AFE_APLL2_TUNER_CFG, @@ -382,7 +392,13 @@ int mt8192_apll2_enable(struct mtk_base_afe *afe) AFE_24M_ON_MASK_SFT, 0x1 << AFE_24M_ON_SFT); =20 -EXIT: + return 0; + +err_disable_apll24m: + clk_disable_unprepare(afe_priv->clk[CLK_APLL24M]); +err_disable_mux_setting: + apll2_mux_setting(afe, false); + return ret; } =20 --=20 2.43.0 From nobody Fri Sep 25 00:01:21 2026 Received: from mail-pz2-f40.google.com (mail-pz2-f40.google.com [74.125.228.40]) (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 769BA50EC13 for ; Fri, 18 Sep 2026 13:40:02 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=74.125.228.40 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1789738803; cv=none; b=fMG2PlQcwXYtKFzhWGdcxIJG0nd+u8CjLsJeFY1teWv5q+1uq4SW3fSI8pBl+Wqnb/graJ9X4AIcaErG7DZ8BSbO51tpb/M5+kvGaAYlzWXNxvjlZoEoO5YctIZa0UTVns1r+2M1TSQ15znpDFExIJSNcHO/7k2sfLKY3ebMD4A= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1789738803; c=relaxed/simple; bh=2UqdzWR6fEALGaK8OyI99ixBfI+hStTDFHDHENoig7k=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=NUIZh0imgS/nURQliysZRB0KB/XGE/P65fjTE/Nibex05TxiLRrCD/yO6ZAur+QtyI1CGsEprVvfV44dTr5MgMqqcJqCQovLltPfWDy6LXgtfAh1jj1IUDdeNmvsNhzVacGfSegH3xKJj5KFA70YOYdxyXeNT27lkJfhWeGuHUk= 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=fQi2m5eK; arc=none smtp.client-ip=74.125.228.40 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="fQi2m5eK" Received: by mail-pz2-f40.google.com with SMTP id 41be03b00d2f7-cc5121bcf1aso571242a12.1 for ; Fri, 18 Sep 2026 06:40:02 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1789738801; x=1790343601; 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=0yFohzMwFY5CpqXlk4lNOz4TrcxA63Dsw69mVQSK8Sk=; b=fQi2m5eKYEgac20JBzaubLzlWYeWt1ikmhRCvCjAR9+YXnSqsCKnpziJha2mxeQfuq GCDal9KuR7AHj7uXMj0Fy4Bb+4YT9NxgaXsP6K0Rne4VH60AP5FtTAwF1dsVkruc22TH VNp+NPHhby5AwMJai8ji5FWaDUDM9+nEr36QQ9IJunZY3hR7uIzkzYiWWBITYk4IYf1h 9LJWSg1dJG7ySIt+1IHTfbxZMWnE+B6dQYg5x8PYzgpude/p6I4nQH/DDCQ+Wf1bhiXp MAI8Z9aawgzaTcWlWFG/ZDvMMT5wkm3CtO/TjpiGj+x8ZwkQ1zqTSKvf10hSrva+Ep3j N+jQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20260707; t=1789738801; x=1790343601; 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=0yFohzMwFY5CpqXlk4lNOz4TrcxA63Dsw69mVQSK8Sk=; b=Rf+RHh5sRdX+wfM1lt7BBFCHhlRhea81YRvA8rlUP28zz/jABwFzhI22pGLTG+OxlO K3q6gpohPv9zBAzsPLQN/xjAQJbMAIIRF8VupvhfGNED0KkgP6djNr6MsCzwOuzsgfjH cURJxkiBlT2KHy05n4+TPCW+TvbXdLKe2/u/yoLkoO3U9kV05AaKye/9Yg4HMs5weUxA zwZ1mSdBRal+4PPDZAJuRtKxuJW4FCJYOUOm/MB5NAxtIuXksibb3UgWLIf+twHSrIZc rdHqdh8szX6p3r3z58b42OfYeZ769g3jz/f2ZiCm+4gHwfU4/JWQWZrbveWoklbhef4z nZ7g== X-Forwarded-Encrypted: i=1; AKwUvBygjgD5WA/1zjDSOL6cMZ6IhKOjSa4Q51Lsb5El8FzIBOG1rKYBMaOIcRnG3BYZFfMq9ZW0lBI9Cs+gaeI=@vger.kernel.org X-Gm-Message-State: AFuF++n9/zbFo75+d4QfaIHx19MJJ9DjI2qIBzKhcFXIfYRcFOUPteWH CBe3NYnZJGzrG0FTHIJ1ZB7VzEt2n04lSHvpjdU1O3bm9TDzqL1Wkb2y X-Gm-Gg: AYBFou3p+SRiamrtufGpKGWGQYaMO/sI9pvZRGqS8Hy9lroELqQuhrAKzAGbpJ+mvLm 5bEluPULDTcTE7OwmSrO6nhzAG6MEDbaNU+tWrSkHL4wClH07i9rYaEu3BbxhpqvegB5lhpF1yo DmrM46PchiVyh2FUKIh/4/3i3EoXt83Tqk/xTJofoDn9D3yfh1AU3lrCBkMDmSZv21zoL2ZTDhC 1xmFoRiIGtRpWqz0f+vQoR/czTL+wJKl/jGHfEQ/36ezPbpHNeGw0JJWjY3GJpQemflI7IOadAp 5aPOPvfkA8cG11nFHWhlUETgunKsaKCt1xmvekAYFwmoczAbw0lxIgZEU6fWHVej39wMjrd97Dy iwmcgS+6buPY7XeSKKJjkAZxCQhg4iT4k9D9M+yQJcATIKacvFd6im412+OP/ZFdToudl7LOtLf 5QY26I42kqNrvCGVw2UhjkOGDmo6Hlm5Ge+GPfl0RWEQlSJrazo7GNYO9Vpf4DiFGsjnn5RaU+X TXsqldLCsuvNirOX108znl6Q+C7nIDOXGpYgQpqoJ0TiEF6I2RFPpzwWE3WzjABj2rX7Gdl1rfs QiwXygxlCA5pXQ== X-Received: by 2002:a17:90b:5545:b0:39d:e54c:8643 with SMTP id 98e67ed59e1d1-39e54d13929mr6237236a91.11.1789738801484; Fri, 18 Sep 2026 06:40:01 -0700 (PDT) Received: from phuc-desktop.. ([183.91.15.56]) by smtp.gmail.com with ESMTPSA id 98e67ed59e1d1-39e3617443asm13253792a91.9.2026.09.18.06.39.57 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 18 Sep 2026 06:40:01 -0700 (PDT) From: phucduc.bui@gmail.com To: Mark Brown , AngeloGioacchino Del Regno Cc: Liam Girdwood , Matthias Brugger , Jaroslav Kysela , Takashi Iwai , Kuninori Morimoto , cassiogabrielcontato@gmail.com, Linus Walleij , Bartosz Golaszewski , Mukesh Ojha , Jiaxin Yu , 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 04/15] ASoC: mediatek: mt8192: fix MCK clock error handling Date: Fri, 18 Sep 2026 20:39:00 +0700 Message-ID: <20260918133912.133799-5-phucduc.bui@gmail.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20260918133912.133799-1-phucduc.bui@gmail.com> References: <20260918133912.133799-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 an error occurs after enabling 'm_sel_id' or 'div_clk_id' in mt8192_mck_enable(), the function returns directly without disabling the previously enabled clocks, leading to a resource leak. Fix this by jumping to proper cleanup labels to unwind enabled clocks on failure paths. Fixes: 125ab5d588b0 ("ASoC: mediatek: mt8192: add platform driver") Signed-off-by: bui duc phuc --- sound/soc/mediatek/mt8192/mt8192-afe-clk.c | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/sound/soc/mediatek/mt8192/mt8192-afe-clk.c b/sound/soc/mediate= k/mt8192/mt8192-afe-clk.c index 118dd4819682..77f596cab92d 100644 --- a/sound/soc/mediatek/mt8192/mt8192-afe-clk.c +++ b/sound/soc/mediatek/mt8192/mt8192-afe-clk.c @@ -619,7 +619,7 @@ int mt8192_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_disable_m_sel; } } =20 @@ -628,17 +628,25 @@ int mt8192_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_disable_m_sel; } 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_disable_div_clk; } =20 return 0; + +err_disable_div_clk: + clk_disable_unprepare(afe_priv->clk[div_clk_id]); +err_disable_m_sel: + if (m_sel_id >=3D 0) + clk_disable_unprepare(afe_priv->clk[m_sel_id]); + + return ret; } =20 void mt8192_mck_disable(struct mtk_base_afe *afe, int mck_id) --=20 2.43.0 From nobody Fri Sep 25 00:01:21 2026 Received: from mail-pz2-f12.google.com (mail-pz2-f12.google.com [74.125.228.12]) (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 695C55111B9 for ; Fri, 18 Sep 2026 13:40:07 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=74.125.228.12 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1789738809; cv=none; b=fh2RE8YUxRyZkNxkyJn/uygK7X8nFpb0jiaT0F+pQADm7EAeoLiwxYgpTgNuYClSiQlMR2906hCQphO9A4UJSTVTu2ICfQ/LMcXYn35Lz4A5KV2rgT6dQT4mwHfNsnLTPOM3P2moJNM38Y3WoQsvZRe3ef+R6EywJc6j0DQG5ZY= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1789738809; c=relaxed/simple; bh=Ion7oeotHUPfHsC8ZZdaBN3kHybJSmfJXlAWCx23Dq4=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=SjR69lfZKkt6ddwcIc9fYeRQQv4zMXTjkVDcpQOitlfsLsMKTWj3+VPrg4k0v+SDO7/4J8oyrjgSGvQ99SQ/nCFiz/BJ60KcFrGIRYTsNiXqBre14JAZuN376QAVs5CYtoFMsOOp5kVUdsl6bJZJWpkU/FEK9d/bAuaT7d0CZJQ= 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=Izhkec9F; arc=none smtp.client-ip=74.125.228.12 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="Izhkec9F" Received: by mail-pz2-f12.google.com with SMTP id 41be03b00d2f7-cc4c08393b0so569001a12.0 for ; Fri, 18 Sep 2026 06:40:07 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1789738806; x=1790343606; 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=ppJ5fgau4uw0MPuW4ZdZtY3EQ3eIT2OOYRbyNQHq6DQ=; b=Izhkec9FKqkZ8qgWA4yX5Ff41xx1hrmTt3HfZw+bz9g902L6zBHe1g3vuPBrCtBBSd zCx9vVHNpFGQdfw89UtgsNUrHYNaHzMEGauIMBLEWWPULIqe7tKlmLU3Grr6U8SZNRjp F+DFefHwhUAqtotoWhZSxoR8/ktsx/jQq70UWn/YmS2qzY06h3SaYU1VuU22No7ehLFj bLWwn9dllengFS3nnQSZ2UUTSkOHf+Emcdn8q1gcvLgrAULkVPdu5NXnIviDiabhyF5G z2WaFKonnsg17qKWA3kRU2B83DJxySV2vv97X9rC46/SF5RbG49ZYI5XuTcUTxb+h51K V/hg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20260707; t=1789738806; x=1790343606; 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=ppJ5fgau4uw0MPuW4ZdZtY3EQ3eIT2OOYRbyNQHq6DQ=; b=dDf/LhEupCOEsFSrUcqpA6a5F+jzsNLMEX6qJIZR7S4GVqae3pmbhrnmaB1TqXQ2Tr +ZWWO6c08aHX3JrN5vqPVOppA7JEuhc/lJRadOttHERtdXd4MO6VRqeOtoB3CrYVyyLZ MBdFdw0Con0l/j9TpTOE3i+qbE5Al/0Wx5lPE4UZ28LKXVF2IMktYZyL3uuVjC5WgPav klA94tTStJjx+zi7bD9kB4H+W2Lt5A60X9fs8If7ilBLN1ksCdiyv0i+YlOBZXmffkjO Cka5j6YSFXX5r1ajcThTyEDypJgMVkPL/R2t/52XRJfHVFTuqTDwECcGSe6XN2IbTbat 4pOQ== X-Forwarded-Encrypted: i=1; AKwUvBzK5NpiQlgPpiBfojVP8bFLs7KrZlKGBUQRReXw3sCG8Ogd2m/XCTe4a5lByeBGkB3/al0h8mbtEGDfTv4=@vger.kernel.org X-Gm-Message-State: AFuF++lh0C5wJkd7eg7HdgiErRGpmRDuXrr8m/ex07AXKrwEbnlsQx4O jp87zI2AQ8ObKyDsMEq49Fs8q9joP7aG6QaGSyW3ISzYcyC1d5JKwklB X-Gm-Gg: AYBFou1jW/WwfwGpIyVwwRLab7F0OzXKxjSR3ZxVsDd+02yk+RKkmo1aIWR/yfbMCYa KZeL/57YWwOvLhDtyrg71a9P6JXBoe20RvDLTzVizS+bA75+4sMraB5x07UKCcjGChJE01HU5B/ vkqebQKm+c/2ChcJkOgJP+qL/xjAJNtYLn+Zf+d4dt/zuf1dR0xA8e+zrEx3XWHvEIMoJD9lRRY XzkB21xrsVBL9T+6UUppfCGDfm2MyWPZpuEHORY7YwqnfZ5yhjoGINwazPobW55FpN2/V4MbW9m 5hlaDxY7Zf0oEpd/xqRNYetPA8dPfaJ+vJ/WtBQkJ1SzeJ5tNwqOHzsniDwatba938lFgBq1Hph 16uaLLORH09jQegJey94NZG3PYMrZ8suYiIQNeOs0jMtoe+O+9xVfrbTT5Sj2CXnXCREq0+xK1J FD2FdSWIRJ0i0QFY4HGH9G/4EsfUNRRfsh6vQE0tr3gI/CEP1N4mDgzAOcGHRQSUsRalsZdkLxG xhaU1I5/FJYuoIwr4XHC9xfIcJdHZHcxMpTbdc3szKGGoWDBF4ptUPYYqo2ylkbaAEd5AeQ8PFU 1lHQoZa8pZVadw== X-Received: by 2002:a17:90b:5281:b0:39e:4c7f:8b17 with SMTP id 98e67ed59e1d1-39e54cf8bc1mr6408347a91.28.1789738806339; Fri, 18 Sep 2026 06:40:06 -0700 (PDT) Received: from phuc-desktop.. ([183.91.15.56]) by smtp.gmail.com with ESMTPSA id 98e67ed59e1d1-39e3617443asm13253792a91.9.2026.09.18.06.40.02 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 18 Sep 2026 06:40:05 -0700 (PDT) From: phucduc.bui@gmail.com To: Mark Brown , AngeloGioacchino Del Regno Cc: Liam Girdwood , Matthias Brugger , Jaroslav Kysela , Takashi Iwai , Kuninori Morimoto , cassiogabrielcontato@gmail.com, Linus Walleij , Bartosz Golaszewski , Mukesh Ojha , Jiaxin Yu , 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 05/15] ASoC: mediatek: mt8192: switch to devm_clk_get_optional() Date: Fri, 18 Sep 2026 20:39:01 +0700 Message-ID: <20260918133912.133799-6-phucduc.bui@gmail.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20260918133912.133799-1-phucduc.bui@gmail.com> References: <20260918133912.133799-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 Switch from devm_clk_get() to devm_clk_get_optional() when requesting clocks, as optional clocks automatically return NULL when not present instead of requiring manual check and NULL assignment. Additionally, handle clock errors properly using dev_err_probe() to propagate error codes (such as -EPROBE_DEFER) on failure instead of just printing a warning and continuing with NULL pointers. Fixes: 125ab5d588b0 ("ASoC: mediatek: mt8192: add platform driver") Signed-off-by: bui duc phuc --- sound/soc/mediatek/mt8192/mt8192-afe-clk.c | 11 ++++------- 1 file changed, 4 insertions(+), 7 deletions(-) diff --git a/sound/soc/mediatek/mt8192/mt8192-afe-clk.c b/sound/soc/mediate= k/mt8192/mt8192-afe-clk.c index 77f596cab92d..9b9a3465ddb5 100644 --- a/sound/soc/mediatek/mt8192/mt8192-afe-clk.c +++ b/sound/soc/mediatek/mt8192/mt8192-afe-clk.c @@ -672,13 +672,10 @@ int mt8192_init_clock(struct mtk_base_afe *afe) return -ENOMEM; =20 for (i =3D 0; i < CLK_NUM; i++) { - afe_priv->clk[i] =3D devm_clk_get(afe->dev, aud_clks[i]); - if (IS_ERR(afe_priv->clk[i])) { - dev_warn(afe->dev, "%s devm_clk_get %s fail, ret %ld\n", - __func__, - aud_clks[i], PTR_ERR(afe_priv->clk[i])); - afe_priv->clk[i] =3D NULL; - } + afe_priv->clk[i] =3D devm_clk_get_optional(afe->dev, aud_clks[i]); + if (IS_ERR(afe_priv->clk[i])) + return dev_err_probe(afe->dev, PTR_ERR(afe_priv->clk[i]), + "failed to get clock %s\n", aud_clks[i]); } =20 afe_priv->apmixedsys =3D syscon_regmap_lookup_by_phandle(of_node, --=20 2.43.0 From nobody Fri Sep 25 00:01:21 2026 Received: from mail-pj2-f43.google.com (mail-pj2-f43.google.com [74.125.227.171]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id CF5CA51121B for ; Fri, 18 Sep 2026 13:40:11 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=74.125.227.171 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1789738813; cv=none; b=RiQU3Tyq+l6gEEVh94w9LZNEat+AMLnfRs9RlYV8TMxe1nUQ2sSojvyp+FCXVmdMuLFdgj0o/uE7XVb5HuPIa4WUrEGVsiBBOZO/v+cmJT41C6IQd5WDKaFNhw9UrqjT4azd9/uknwZz+14XP3y9sBzP6r9Fft0PjQi6Xp6CF6Q= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1789738813; c=relaxed/simple; bh=py0ZrKaM8DbzSWplMOWdiU7mC/SzmDtkED2SS4JnlbY=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=jQNooyYtV/ZG8/4+eZ+vXqgGHIkucKMG+ger+0mAo++H+Y2sV0Zo/RAux4zf61g0dzBuk/JJc3oi9DwdapGQiETL3cZtEhbNyBzjEkVIJDg/8hb/u/tqj20TDOARztT/ljux6PqR1w+E9teOMd4sB1vzJaZPV+oAESLQkleXqwM= 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=KllhrvJx; arc=none smtp.client-ip=74.125.227.171 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="KllhrvJx" Received: by mail-pj2-f43.google.com with SMTP id 98e67ed59e1d1-39b9184fa80so735170a91.2 for ; Fri, 18 Sep 2026 06:40:11 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1789738811; x=1790343611; 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=47miggGna65qNmT8xI9ufxte8NSMbuV+wMsl3roErvo=; b=KllhrvJxPPaQAm4itC6AAuwdWI5fyipgGpb82XDBO+s+Mbjav6GfhNZIzCGF4NaxtE OfrS16FRPCH5589trDyEJVkHBLj9SWHWaOAcmxxOr+yFt4OQXa8SzVIYsCjpsMEhxNK4 Z7dOo4QFgXlVyxURw8w/Vk6RwDcIWZlHsjarYH9VvdmwMGR2CEhJ7tUUYd508Z2KLn8F 69FuZPAj8H8tWFngcdG/pntEK3QDNDTX1XMhsagHxarTKhMxaiLUNOMlDDRQ3Q4jLj5s duMi9VDWHgRosA/EO1gOIcpwR4uW9YwOyUEmFFvV9M1euY/gO5LGBZfdyfNUCJubSH+k 9uPA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20260707; t=1789738811; x=1790343611; 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=47miggGna65qNmT8xI9ufxte8NSMbuV+wMsl3roErvo=; b=PXvmY/thoSVnn/Y92emWdKffO/698/x1VHAUVt4eVb2NjG40JKa+hV4snVUYJ+3BRo RTEgKyvMiCWMX3xdqmDWpiIfD3R3TRb31JvFeKg8CHmVuGUiT7JYpvFwEvd4V4HSowvF FaTXweJx6YJ0rU4pTju4J/lWy3Avr6mG2ykH/6Cg95px+E1g4FyxrzOhaLb7xjQBSIsA MP1wawe0S1Ay5SoG4ENrWD8ILNUQZZ1Ql6F8wk4ZLTx6YQyraxpjbffc3rp9enLNC3LD Pf2D8HZUgyE0N8G3kMFDS7kOGUkBidh/DkEalPo+0+OS2MzaKnHB/LlNg+zZI2V3nSnk zkTg== X-Forwarded-Encrypted: i=1; AKwUvBwcbV+yaMQ/WXbMWl+VGT8gRe/9hlT2rgHL9Mn8n0WNe0PzTbHt0NvVVRdY2LgKMAB6ST3D+13ckD6iQUY=@vger.kernel.org X-Gm-Message-State: AFuF++nwcdPLo7sKds3TT+q6Ygvf3QTSOWjunZZjpvInDQJoUwjjPPeD GopFJGjFUJofF0aOp6YlfTySSNOL+fgNoCjq9W+gndXQENpFWayzvuBw X-Gm-Gg: AYBFou2l5bxTN09Nt1SSnm2JpXdgj9Mq32JQ7LQZQ/+7HUoVVlxcZJNJdRMDivNPedI YI2BcegkZK8eOkWTmlL7ySVcKkYG66qj4KXJGm5XXX0z51rn3f45eQFPGY6I+87IrIrqaZ9UOgr K9RUt0P/Q29x+43DAxIklKfQyFdkS2pDRhNjxokpHpMiG9bXCSxebWZhusVXyqdNKL30wybyMcT 9b617cm2+Zy2hLmCCo1U378GMlnyG7HC4NtvBbFpreHkOUtBB9X3c+oQ+9K7XlU1UJd7nXb+Jav tHUWHJg8oiJjAfQfgBtO/dnmmhSp72BV3jYU3bzoRxgXsAoOEUCg8fvKbxUlPKos/Fboyw18sSh 6vHAelsMI/+1uh/09Y7A1E6ct+yVvf7wwVnzEIJcAuM+vgxuiuMiBl+RZgPbHY7F/HLOGA4wfsW ORiRuYxWQHmhzqALiMjkO5O+P87IuK4ze7wnWiVEnNVaacGBdA60l4TlbnWAPWVxsr55gvusnv3 f5DDUxUXn2wr3nh1z1EdQk7m9w2gReelIW/zQywfRZxb3IQA3sCE8xJRnzeB2j4nbDtbDYYncUU 9fn19IdyNTZH5A== X-Received: by 2002:a17:90b:4b86:b0:39e:21a7:5dfe with SMTP id 98e67ed59e1d1-39e54c5a1ecmr10006575a91.3.1789738811052; Fri, 18 Sep 2026 06:40:11 -0700 (PDT) Received: from phuc-desktop.. ([183.91.15.56]) by smtp.gmail.com with ESMTPSA id 98e67ed59e1d1-39e3617443asm13253792a91.9.2026.09.18.06.40.07 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 18 Sep 2026 06:40:10 -0700 (PDT) From: phucduc.bui@gmail.com To: Mark Brown , AngeloGioacchino Del Regno Cc: Liam Girdwood , Matthias Brugger , Jaroslav Kysela , Takashi Iwai , Kuninori Morimoto , cassiogabrielcontato@gmail.com, Linus Walleij , Bartosz Golaszewski , Mukesh Ojha , Jiaxin Yu , 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 06/15] ASoC: mediatek: mt8192: Use dev_err_probe() in mt8192_init_clock() Date: Fri, 18 Sep 2026 20:39:02 +0700 Message-ID: <20260918133912.133799-7-phucduc.bui@gmail.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20260918133912.133799-1-phucduc.bui@gmail.com> References: <20260918133912.133799-1-phucduc.bui@gmail.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" From: bui duc phuc Use dev_err_probe() when obtaining clocks to avoid redundant error messages, particularly for probe deferral. Signed-off-by: bui duc phuc --- sound/soc/mediatek/mt8192/mt8192-afe-clk.c | 24 ++++++++-------------- 1 file changed, 9 insertions(+), 15 deletions(-) diff --git a/sound/soc/mediatek/mt8192/mt8192-afe-clk.c b/sound/soc/mediate= k/mt8192/mt8192-afe-clk.c index 9b9a3465ddb5..c6ca4fe7fb19 100644 --- a/sound/soc/mediatek/mt8192/mt8192-afe-clk.c +++ b/sound/soc/mediatek/mt8192/mt8192-afe-clk.c @@ -680,27 +680,21 @@ int mt8192_init_clock(struct mtk_base_afe *afe) =20 afe_priv->apmixedsys =3D syscon_regmap_lookup_by_phandle(of_node, "mediatek,apmixedsys"); - if (IS_ERR(afe_priv->apmixedsys)) { - dev_err(afe->dev, "%s() Cannot find apmixedsys controller: %ld\n", - __func__, PTR_ERR(afe_priv->apmixedsys)); - return PTR_ERR(afe_priv->apmixedsys); - } + if (IS_ERR(afe_priv->apmixedsys)) + return dev_err_probe(afe->dev, PTR_ERR(afe_priv->apmixedsys), + "Cannot find apmixedsys controller\n"); =20 afe_priv->topckgen =3D syscon_regmap_lookup_by_phandle(of_node, "mediatek,topckgen"); - if (IS_ERR(afe_priv->topckgen)) { - dev_err(afe->dev, "%s() Cannot find topckgen controller: %ld\n", - __func__, PTR_ERR(afe_priv->topckgen)); - return PTR_ERR(afe_priv->topckgen); - } + if (IS_ERR(afe_priv->topckgen)) + return dev_err_probe(afe->dev, PTR_ERR(afe_priv->topckgen), + "Cannot find topckgen controller\n"); =20 afe_priv->infracfg =3D syscon_regmap_lookup_by_phandle(of_node, "mediatek,infracfg"); - if (IS_ERR(afe_priv->infracfg)) { - dev_err(afe->dev, "%s() Cannot find infracfg: %ld\n", - __func__, PTR_ERR(afe_priv->infracfg)); - return PTR_ERR(afe_priv->infracfg); - } + if (IS_ERR(afe_priv->infracfg)) + return dev_err_probe(afe->dev, PTR_ERR(afe_priv->infracfg), + "Cannot find infracfg\n"); =20 return 0; } --=20 2.43.0 From nobody Fri Sep 25 00:01:21 2026 Received: from mail-pj2-f13.google.com (mail-pj2-f13.google.com [74.125.227.141]) (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 31D9551121B for ; Fri, 18 Sep 2026 13:40:16 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=74.125.227.141 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1789738818; cv=none; b=Fl85V3TIN5DPtCJ4ZuEvXTfOT2aHidWTUyaBmx4SbxIFYgYL49B+iYm2mABwyMQU24vDMqX+IZozSTdotxsOtBmJ8V724uV494zQS7DwoOPpQ0v/uQ2Cs/iSIxtlZWm0iTb1pGTyvcAu82PGhZgwmFPmHBrYlon6b8omQ3UasBY= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1789738818; c=relaxed/simple; bh=zF3/ckz404Yi/c/ZZWGulZd1TWbyZZLDncJjcMPvwY0=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=p3KBP8TrJyCYAcdMQRLMQrFVf94ZC9/yLO4s6va24aX68lQsjdcbCU3+fr9tLqe9HBN6f06LpFTJ0njEnht4I6om/B0PJRg0cYTXiRSRJVq3gO7mt5wthUIPaKB20D31/ZknOpK5N35hK7l9ITqW1HTSSBVYiB6tJzNM4UVnC3A= 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=Q6FokFMi; arc=none smtp.client-ip=74.125.227.141 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="Q6FokFMi" Received: by mail-pj2-f13.google.com with SMTP id 98e67ed59e1d1-396ccd5cf03so742867a91.1 for ; Fri, 18 Sep 2026 06:40:16 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1789738816; x=1790343616; 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=cT4KjTlEVnVWRGXoeui+h6lXwGfVb9+9GPpMaARw3xA=; b=Q6FokFMi5kZALJfEGr3D9lUieZG+RlywhU0gHtTbrKAzMwCqKC8sXQrol/KR8xqzax GdWLUKP+USeZIsITUG4/nXNcUcRmgulAnm0n5LyRZ2+yInRDykKR19oEEsh0FkLYr40V v6Rq80AH9v3vKh+/tk1DIckWI642jTxRYCQZAxv0Jk8VE++oBLPXlC/99110jyGUAZAW 6h1b0SQbuqGBMch+FSPnB37HSenOb1ciBcQYHWnfsMy+S0CGRRnAuJEEVNRKkBVDllv7 WxFKO6QPhyQK0m69Nv84Dy26WxaeyKV37hosMVTUqCD0gGPSnRSC/H/Bn3RmgeCsTh2h oK9g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20260707; t=1789738816; x=1790343616; 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=cT4KjTlEVnVWRGXoeui+h6lXwGfVb9+9GPpMaARw3xA=; b=KT9CEjSEF/kFidsunAZ4IDIvIlbqwBByx8sUEh09jusUSLZWafGvhf7yHdsBl2HWlb hUrRYqtVqShtMNlZKRgp8iLiKHCFXX7gA+9axqSK28ZRu72nJY6/m3bAbBIMOJOfT5tY cvzTJzQ/4KbFFCwcOkngrOVtf96qN3IRycMeaNlZHm+LwgH+hfWnDAEFi1YzJmW+GmKo kbii08RaD/FPq2IE/1Dv/TV1ProKoAgWZGjX8sSjP0W9BpoO9F2nt+xeG4/w1fhcH+PY VdLa6VZ6yCFSIfAzNGiFZb16AtlGTEjAb+man0+IA8Fy+T7UGbvs3zprjlY+/BsjKcCP hn5w== X-Forwarded-Encrypted: i=1; AKwUvBzguy1/0BngeX18rB0qQlx6/xWLXy8y7+Bc1I6GPR5oaNwobYaa/CYdVKJ+qXD6qTjSentjXuwMKPltmuk=@vger.kernel.org X-Gm-Message-State: AFuF++mF9wifwr9WwT+M5MaKLhu0H6zIymbGuRmc+qmC3ooslW2ZHDfr 3oGdBZ50pxVtG0ch6E6dSYIPftoelcqJlcLMP+WKzLZ0XGk8ggddFcY1 X-Gm-Gg: AYBFou2OlU8MSdtqRuNmArUJTB6W0NKXYQx8G9i/sWSs3mqVMWX/T/GQZKMDKvRSz7e lQXspOIkcgigM+u/63D6QKrKJEKJVOcP63Grd3EzvNQAukE/bvAEXVcdK/5szJJG2Ekr0JRCt1n sX3qizbopqb3lLpYIj9JgAmXp9lluS5NRXljJ29CrpAuA28UXd9CX2ZhHtPvR1mGVTsetxyo+Y7 qvT3K+K/rd0UarfpFfDek3chi6rRayP3uAUiv8NiV6YGlecmBtUttRfeKFQu2aor18IQ0D/JyU2 RUQHr3OakdJdbSuPCA5DJvTp6T51Q9HKpcLfc/ZXgDFUXUDfzh582PwQdiQfCXLoVwEbz4EvHAe 8bacTBXO8S/IEP1xE+AM6IHvyYHHqQHjdIgVkVgpbcON1uZmxiar8B+I+dXlnJ/pblnQBivUyQA RXOZekd8CteP/x3CvhUQc2EleHVDNEbx9qM2skxOvsh/Yo3+yQ/VW7s80r/ajnoqXdbb24i8RDu 0jKz2zmJz9sSm9tusYlUj4gKfkhU0tMFJF4YurK1hGsS4Yb6q/x1Pml0ZC62y1HPm6WXJ4dZNAV GPEvprZNmX6Ntg== X-Received: by 2002:a17:90a:e7c3:b0:39e:261:4e12 with SMTP id 98e67ed59e1d1-39e54eb2281mr5551712a91.23.1789738815772; Fri, 18 Sep 2026 06:40:15 -0700 (PDT) Received: from phuc-desktop.. ([183.91.15.56]) by smtp.gmail.com with ESMTPSA id 98e67ed59e1d1-39e3617443asm13253792a91.9.2026.09.18.06.40.11 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 18 Sep 2026 06:40:15 -0700 (PDT) From: phucduc.bui@gmail.com To: Mark Brown , AngeloGioacchino Del Regno Cc: Liam Girdwood , Matthias Brugger , Jaroslav Kysela , Takashi Iwai , Kuninori Morimoto , cassiogabrielcontato@gmail.com, Linus Walleij , Bartosz Golaszewski , Mukesh Ojha , Jiaxin Yu , 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 07/15] ASoC: mediatek: mt8192: Propagate errors in mt8192_afe_gpio_request() Date: Fri, 18 Sep 2026 20:39:03 +0700 Message-ID: <20260918133912.133799-8-phucduc.bui@gmail.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20260918133912.133799-1-phucduc.bui@gmail.com> References: <20260918133912.133799-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, mt8192_afe_gpio_request() ignores the return values from mt8192_afe_gpio_select() and other helper functions. If configuring a GPIO state fails, the function still returns 0, hiding the failure from callers. Fix this by capturing and returning the error codes properly. Fixes: 125ab5d588b0 ("ASoC: mediatek: mt8192: add platform driver") Signed-off-by: bui duc phuc --- sound/soc/mediatek/mt8192/mt8192-afe-gpio.c | 74 +++++++++++---------- 1 file changed, 40 insertions(+), 34 deletions(-) diff --git a/sound/soc/mediatek/mt8192/mt8192-afe-gpio.c b/sound/soc/mediat= ek/mt8192/mt8192-afe-gpio.c index b993ca2dbd7c..ed6dfdf2589b 100644 --- a/sound/soc/mediatek/mt8192/mt8192-afe-gpio.c +++ b/sound/soc/mediatek/mt8192/mt8192-afe-gpio.c @@ -208,98 +208,104 @@ static int mt8192_afe_gpio_adda_ch34_ul(struct devic= e *dev, bool enable) int mt8192_afe_gpio_request(struct device *dev, bool enable, int dai, int uplink) { + int ret; + guard(mutex)(&gpio_request_mutex); switch (dai) { case MT8192_DAI_ADDA: if (uplink) - mt8192_afe_gpio_adda_ul(dev, enable); + ret =3D mt8192_afe_gpio_adda_ul(dev, enable); else - mt8192_afe_gpio_adda_dl(dev, enable); + ret =3D mt8192_afe_gpio_adda_dl(dev, enable); break; case MT8192_DAI_ADDA_CH34: if (uplink) - mt8192_afe_gpio_adda_ch34_ul(dev, enable); + ret =3D mt8192_afe_gpio_adda_ch34_ul(dev, enable); else - mt8192_afe_gpio_adda_ch34_dl(dev, enable); + ret =3D mt8192_afe_gpio_adda_ch34_dl(dev, enable); break; case MT8192_DAI_I2S_0: if (enable) - mt8192_afe_gpio_select(dev, MT8192_AFE_GPIO_I2S0_ON); + ret =3D mt8192_afe_gpio_select(dev, MT8192_AFE_GPIO_I2S0_ON); else - mt8192_afe_gpio_select(dev, MT8192_AFE_GPIO_I2S0_OFF); + ret =3D mt8192_afe_gpio_select(dev, MT8192_AFE_GPIO_I2S0_OFF); break; case MT8192_DAI_I2S_1: if (enable) - mt8192_afe_gpio_select(dev, MT8192_AFE_GPIO_I2S1_ON); + ret =3D mt8192_afe_gpio_select(dev, MT8192_AFE_GPIO_I2S1_ON); else - mt8192_afe_gpio_select(dev, MT8192_AFE_GPIO_I2S1_OFF); + ret =3D mt8192_afe_gpio_select(dev, MT8192_AFE_GPIO_I2S1_OFF); break; case MT8192_DAI_I2S_2: if (enable) - mt8192_afe_gpio_select(dev, MT8192_AFE_GPIO_I2S2_ON); + ret =3D mt8192_afe_gpio_select(dev, MT8192_AFE_GPIO_I2S2_ON); else - mt8192_afe_gpio_select(dev, MT8192_AFE_GPIO_I2S2_OFF); + ret =3D mt8192_afe_gpio_select(dev, MT8192_AFE_GPIO_I2S2_OFF); break; case MT8192_DAI_I2S_3: if (enable) - mt8192_afe_gpio_select(dev, MT8192_AFE_GPIO_I2S3_ON); + ret =3D mt8192_afe_gpio_select(dev, MT8192_AFE_GPIO_I2S3_ON); else - mt8192_afe_gpio_select(dev, MT8192_AFE_GPIO_I2S3_OFF); + ret =3D mt8192_afe_gpio_select(dev, MT8192_AFE_GPIO_I2S3_OFF); break; case MT8192_DAI_I2S_5: if (enable) - mt8192_afe_gpio_select(dev, MT8192_AFE_GPIO_I2S5_ON); + ret =3D mt8192_afe_gpio_select(dev, MT8192_AFE_GPIO_I2S5_ON); else - mt8192_afe_gpio_select(dev, MT8192_AFE_GPIO_I2S5_OFF); + ret =3D mt8192_afe_gpio_select(dev, MT8192_AFE_GPIO_I2S5_OFF); break; case MT8192_DAI_I2S_6: if (enable) - mt8192_afe_gpio_select(dev, MT8192_AFE_GPIO_I2S6_ON); + ret =3D mt8192_afe_gpio_select(dev, MT8192_AFE_GPIO_I2S6_ON); else - mt8192_afe_gpio_select(dev, MT8192_AFE_GPIO_I2S6_OFF); + ret =3D mt8192_afe_gpio_select(dev, MT8192_AFE_GPIO_I2S6_OFF); break; case MT8192_DAI_I2S_7: if (enable) - mt8192_afe_gpio_select(dev, MT8192_AFE_GPIO_I2S7_ON); + ret =3D mt8192_afe_gpio_select(dev, MT8192_AFE_GPIO_I2S7_ON); else - mt8192_afe_gpio_select(dev, MT8192_AFE_GPIO_I2S7_OFF); + ret =3D mt8192_afe_gpio_select(dev, MT8192_AFE_GPIO_I2S7_OFF); break; case MT8192_DAI_I2S_8: if (enable) - mt8192_afe_gpio_select(dev, MT8192_AFE_GPIO_I2S8_ON); + ret =3D mt8192_afe_gpio_select(dev, MT8192_AFE_GPIO_I2S8_ON); else - mt8192_afe_gpio_select(dev, MT8192_AFE_GPIO_I2S8_OFF); + ret =3D mt8192_afe_gpio_select(dev, MT8192_AFE_GPIO_I2S8_OFF); break; case MT8192_DAI_I2S_9: if (enable) - mt8192_afe_gpio_select(dev, MT8192_AFE_GPIO_I2S9_ON); + ret =3D mt8192_afe_gpio_select(dev, MT8192_AFE_GPIO_I2S9_ON); else - mt8192_afe_gpio_select(dev, MT8192_AFE_GPIO_I2S9_OFF); + ret =3D mt8192_afe_gpio_select(dev, MT8192_AFE_GPIO_I2S9_OFF); break; case MT8192_DAI_TDM: if (enable) - mt8192_afe_gpio_select(dev, MT8192_AFE_GPIO_TDM_ON); + ret =3D mt8192_afe_gpio_select(dev, MT8192_AFE_GPIO_TDM_ON); else - mt8192_afe_gpio_select(dev, MT8192_AFE_GPIO_TDM_OFF); + ret =3D mt8192_afe_gpio_select(dev, MT8192_AFE_GPIO_TDM_OFF); break; case MT8192_DAI_VOW: if (enable) { - mt8192_afe_gpio_select(dev, - MT8192_AFE_GPIO_VOW_CLK_ON); - mt8192_afe_gpio_select(dev, - MT8192_AFE_GPIO_VOW_DAT_ON); + ret =3D mt8192_afe_gpio_select(dev, + MT8192_AFE_GPIO_VOW_CLK_ON); + if (ret) + break; + ret =3D mt8192_afe_gpio_select(dev, + MT8192_AFE_GPIO_VOW_DAT_ON); } else { - mt8192_afe_gpio_select(dev, - MT8192_AFE_GPIO_VOW_CLK_OFF); - mt8192_afe_gpio_select(dev, - MT8192_AFE_GPIO_VOW_DAT_OFF); + ret =3D mt8192_afe_gpio_select(dev, + MT8192_AFE_GPIO_VOW_CLK_OFF); + if (ret) + break; + ret =3D mt8192_afe_gpio_select(dev, + MT8192_AFE_GPIO_VOW_DAT_OFF); } break; default: dev_warn(dev, "%s(), invalid dai %d\n", __func__, dai); - return -EINVAL; + ret =3D -EINVAL; } =20 - return 0; + return ret; } EXPORT_SYMBOL(mt8192_afe_gpio_request); --=20 2.43.0 From nobody Fri Sep 25 00:01:21 2026 Received: from mail-pj2-f13.google.com (mail-pj2-f13.google.com [74.125.227.141]) (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 BEF10513570 for ; Fri, 18 Sep 2026 13:40:21 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=74.125.227.141 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1789738823; cv=none; b=Xz4Esv4S/FP71kIuE/oh0LpmQ28blhM1v/EcuwSd3xgSOsZc5P+5B9J2RY3kzIZlv6T/QESC2z0pTy00Q/JFav0/azcd+0lMBG8XnUHL82yy1Oy1aYdsOhIZYLf0pL0fWoq+Ru6ynOxCh5s6NS5GHoyK3EK9EEJ/uejoLP/mtJE= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1789738823; c=relaxed/simple; bh=Qitf22YVUG4a6YGRxlpw/22OK6F5q8rrk5pZg2Nyz2k=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=sR+ENI/W5KM2tVz0ZZ8GahL9zM1gMW/b8TpdkxgS1tEfSwx67zpZ452Y0P/xaYRDl0C2xdWxRIFSjIvS6NX+X4pujiZJI2/gt5EEVA0GfEyPTj3iYeZzZaSW2mVEqzEZmaOLUzfyFhhwBUdZ0kDYWIf6qQy+Hv30a9D/SErp9pw= 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=GIbSqY3l; arc=none smtp.client-ip=74.125.227.141 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="GIbSqY3l" Received: by mail-pj2-f13.google.com with SMTP id 98e67ed59e1d1-396ccb65437so612910a91.3 for ; Fri, 18 Sep 2026 06:40:21 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1789738821; x=1790343621; 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=GDhRsljiXwH4R/2v4DqxrYu1sHb7R4NiCX/UTlOHxi0=; b=GIbSqY3lrmXgRoYuGGGFoAgTL8KdZvizcEN69GBeV7iMMxezR7hzui1OKdqOQZ1KkM ALrzjPDbRfjqcqcBtuu1QcDdmVwiXyh++WTaxjFiSy362BEs5cCdO7Kx8FKjYW+8lxws rKeNHjFVrOgoAtpSQ0plwkdmR9uOu5pSPFGjCUtMfUm6AGr5pbjwppticNF1zMaLpF/8 EqGo32lzpyTkI9QLI2h75zECSkxMRxcB7oWU50lFaSwR4BEZI+D1AIBXgTZKe4i268R5 PIep+x/5PmwN2E1SP3/zuVRO8IiiGmiXtfiKr8TcYRCPYD6W1TcZy2h6aGNDn9YXJHJj /R1Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20260707; t=1789738821; x=1790343621; 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=GDhRsljiXwH4R/2v4DqxrYu1sHb7R4NiCX/UTlOHxi0=; b=FAe9dpo4YWa5WGdjMt0YxMlIfLWjUI+46nU9V4P3v6JqmcUgTgab1T09BDBaLjg1Qk o3/Oa6RZ0a0uH8Fh++GWyutrN6X+d4h4sCnJp02CxNr3Ds2QA2P0AQ0Miqg+scH5161q 2V7FvqHIlVbico5GBUESw4C4TjpPry3sVWsDN6DApgjHqOERvrmx01QRwe6WLZBHlb7J s1ucLTzAVeAiteTp6x6ggAW1FCJPELofZUP/xjlOKEw0C8USZNXUygruv8UiGbN8bDBn F7WbvVE7h1Dnrto4jQ8XD75ksqWHyTpv10JymK9I51xCPshcgVT3B9nZMZrxcRMikCdy 57wQ== X-Forwarded-Encrypted: i=1; AKwUvByrEm+sUYA5l0AWkNcDt3DAGOvEwMeGu/2vdFnrqE4qu3zf4YQY7Bqc9dPF940Zb1m6zpmf4gFYu353yzo=@vger.kernel.org X-Gm-Message-State: AFuF++m1eJf9dV/LcqQQeVq/nuhma9RqQzGO1Hi7uElFSBWjlJ0iv2X0 GPz3erAQu8miO3qr3n+k50TOBLW1B2AqdwcaR7myvKL0NT0EfF/iCWqd X-Gm-Gg: AYBFou3MJrE+dhaCZ43M0Ysy1zafXJNm7UtgQ1oPmOnLzvQMe4BarYCyUUjke/cX5iV 3XD/MOQZXxw9MDlh3yeEfqB35wKoexkGO427DF/2hnzjaEModQ5WYh9AubtF6UagO1JMl4HsrtB OumCcz1cjsemO5wO1+5u+Ojhe1NhgkgOqWLjuX+KdhOXkUa8R8Q+fArE/EE6/Sg+Jyc2r8vdSVh SP7aQdrojweKR5LhAr2Bqw5YpW14+gPq46TKhdLs+YwTcRxevoBAiBHxUv6oSj61zF2eRo86xCD FnUxRjRuo9wTjoIebQN6u5HoRXsyEEHjTOG1duWQIlZ6W9V6TINabjpWQHWo2mBSCLeRou+5M5Q W0EdyvJDiudKBljCyOlL9qt77zSilb9jjKCE/58zkY+Utlc67NV49wOGqpkWvN2r7qWNDVKkEbp KQk3Ss+h9RIX0tzpouiu7/gCHFO7kbLYi0+VNfZW6nEZs6TnLZigAH09Mfg+/o2/Wa8vuZ8AddA aHSRErNeWrtngGRKC9uoLzRiHuwcOaG7sGbc+s/q75piLA190NjdPWIG7r7JDNGc0RoR9AT2Fo/ X20oYzVffW/3Fg== X-Received: by 2002:a17:90b:3b85:b0:39e:4c7f:7305 with SMTP id 98e67ed59e1d1-39e5504d3d9mr5689902a91.28.1789738820802; Fri, 18 Sep 2026 06:40:20 -0700 (PDT) Received: from phuc-desktop.. ([183.91.15.56]) by smtp.gmail.com with ESMTPSA id 98e67ed59e1d1-39e3617443asm13253792a91.9.2026.09.18.06.40.16 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 18 Sep 2026 06:40:20 -0700 (PDT) From: phucduc.bui@gmail.com To: Mark Brown , AngeloGioacchino Del Regno Cc: Liam Girdwood , Matthias Brugger , Jaroslav Kysela , Takashi Iwai , Kuninori Morimoto , cassiogabrielcontato@gmail.com, Linus Walleij , Bartosz Golaszewski , Mukesh Ojha , Jiaxin Yu , 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 08/15] ASoC: mediatek: mt8192: Use dev_err_probe() for devm_pinctrl_get() Date: Fri, 18 Sep 2026 20:39:04 +0700 Message-ID: <20260918133912.133799-9-phucduc.bui@gmail.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20260918133912.133799-1-phucduc.bui@gmail.com> References: <20260918133912.133799-1-phucduc.bui@gmail.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" From: bui duc phuc Use dev_err_probe() when obtaining clocks to avoid redundant error messages, particularly for probe deferral. Signed-off-by: bui duc phuc --- sound/soc/mediatek/mt8192/mt8192-afe-gpio.c | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-) diff --git a/sound/soc/mediatek/mt8192/mt8192-afe-gpio.c b/sound/soc/mediat= ek/mt8192/mt8192-afe-gpio.c index ed6dfdf2589b..d4218f9708f7 100644 --- a/sound/soc/mediatek/mt8192/mt8192-afe-gpio.c +++ b/sound/soc/mediatek/mt8192/mt8192-afe-gpio.c @@ -132,12 +132,8 @@ int mt8192_afe_gpio_init(struct device *dev) int i, ret; =20 aud_pinctrl =3D devm_pinctrl_get(dev); - if (IS_ERR(aud_pinctrl)) { - ret =3D PTR_ERR(aud_pinctrl); - dev_err(dev, "%s(), ret %d, cannot get aud_pinctrl!\n", - __func__, ret); - return ret; - } + if (IS_ERR(aud_pinctrl)) + return dev_err_probe(dev, PTR_ERR(aud_pinctrl), "cannot get aud_pinctrl!= \n"); =20 for (i =3D 0; i < ARRAY_SIZE(aud_gpios); i++) { aud_gpios[i].gpioctrl =3D pinctrl_lookup_state(aud_pinctrl, --=20 2.43.0 From nobody Fri Sep 25 00:01:21 2026 Received: from mail-pj2-f43.google.com (mail-pj2-f43.google.com [74.125.227.171]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 049DE4FD794 for ; Fri, 18 Sep 2026 13:40:29 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=74.125.227.171 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1789738831; cv=none; b=bnnSaKahlKMR+tgQdVmpEt1u3xvtnlV5j4ekxj1D4Sdb/YVYGnhEudp2QUYll0N7f2HXia7KroQW5WmN4freSJZ1Ou3HS/zZJ4zuYPJVYQXENcUJkZ3dSWr8pZ1ksPltvaTYxTpGuRhcpFvAUvLN+kzvK6Y6Q0dxLYF00ZiaBAc= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1789738831; c=relaxed/simple; bh=Yy+a2QIzttLzB4xrbb9+hlL2vQihJOKUyGFWwX/pyo0=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=foHXdlE57iT+uCfi9vs12e8AQbVEnAOTgl32Ue5HGXc9Srp154P+Tcqoc/vZwaoL5jjtqczHulEO8Ce9qwRbRuJQ1fx3qTv6CClBrrVjkavlQkKfCWLq/jPjrXXfLkLKQV64Pl5Co34ld+Z92eyNd8mjy/oWclGEOpsrNxfA7jM= 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=Mldn/JzH; arc=none smtp.client-ip=74.125.227.171 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="Mldn/JzH" Received: by mail-pj2-f43.google.com with SMTP id 98e67ed59e1d1-39b9184fa80so735734a91.2 for ; Fri, 18 Sep 2026 06:40:29 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1789738829; x=1790343629; 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=1yYuhRQnt/ijyPiiXvVWhWtV+eciNeujLBpVlIUSi5E=; b=Mldn/JzHLZTQ1j5AdfCQ/eoik+79+b+6mJMsuJlCPX4zv2KUJqRDPTHAtxklEa3ICq 8c1ccLCadNHFyvqXddawhw7ed8Zy/dX2VLLK4v2GfMUpW+jUcUA2YPY9kQhZ+FTw3cgP rZer5ngz8lkR+BA2roivgRIUB2GoirBwf0DgAT/vnE2YH7RaWKl7Og2S2vsnuw6+K0VS oPHvOLMFMQxMROJLvfHZ46wGNQgALgFrCBC3pCWg54uDyS48VVChSpA8eQ4BwAdP0lkm Za7qBJ2POkijl2AMFs6WsxBNEVtR2u91wYsU19lce1yK8FAnxk92RGFWktQwBN6ZitVe 5u9Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20260707; t=1789738829; x=1790343629; 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=1yYuhRQnt/ijyPiiXvVWhWtV+eciNeujLBpVlIUSi5E=; b=hb1FAfm23+SrBhzlbQ91KDomSkeEZIe72emh08UXTjY48cDuyegNOvhE2goHx7nDtK l1cWC3hLT+gFM2uI1QM8yAJws19YUejcF3YC1+pjCRzpoJbiTHcIkt7jrhgOAD8CwWMi b/iOOOkGmJxGeeTtcFxkpciqzpGnnPUn9LQDyC/H4/Tk7L3kHpL9zenCUMFDakyxzgFN rg4wzjz4a5vmCh82VRYgHI7z+7vgfVLts2eyIQWSki1O9thV3YaDgRUDgWwrN1eHpLU7 Lu7/drLQ2F3RvfdRJpqbQ2XGeeA77Vm5QGgLGHePuM3f7D8hqZvEYRJPN3bNOdQI+9rl l4Qg== X-Forwarded-Encrypted: i=1; AKwUvBzkP2IUijbTr4hiXFuaMQr1z77I8pKaWy5UQrbvQm8d07T8/3KRy8aWYzo/7/K7ZfUKAjVWRvzXvPjMTyk=@vger.kernel.org X-Gm-Message-State: AFuF++nCgnFdWdqVzXKgV7vGfGWU62vJR506mXj6IpQh1jY+gCjO4g/j cgebxp+zbw3ftSJPvJbpHng9gHY4Vnlze7Z23O5L0CJt/lero2d+J5ak X-Gm-Gg: AYBFou3nfGd1B24aA8Q68hRGEnyn8b3ov+j3oG7+D0bfM+ax1d+NhWDF1qQbGBgArKK o7P3u+CuuQZiHCZW6DYYl9KCzZMG1GPBNynVlBcFcc8aysIb27Ng+pZKw8+NqFIoOWFUSGScNgz hLKEsY8RMiG3vBwqzHljR6yafVEJpECNb1dzhNzQsfMBuRYfRs30XBWslIDATe4dIbRQfIzte6A QOShbyVLUYNX75GPifCMD7FT9exPnbBnWmDHzWufpovK0SEuk34dQtB8HOCiDnrP2Wso7llhrMS 89NbmAp/NpJ1ZFLlhY23xioeOU8Rvqd7zrHp4xh5HRaJQx7nH7ZiOB+G4ut4061FcQ+HfSjII2M xqbsEsBGchHRsReBBYltON2FWlVRJUWyhStc0+Ipa/1M+4a8bKTDGGMVsSaDoMZk2q3m4/+R7g4 uL2iyJTRoMWvUkbGgAc77aNnuOZQOsqYxRyE+wPbUGxI0EoCx/kpdPESzNhjCrxGFS9CtjYowMV tYlJXR13mXIr/+f5REJmS7LZYICN3193ASp03XWkcyPJoYConOW82a1O3i9BYTG2AR47JGoBsD4 jeX+rXw67HMPCA== X-Received: by 2002:a17:90a:d005:b0:39d:ba21:fd90 with SMTP id 98e67ed59e1d1-39e54f2bf77mr10812405a91.16.1789738825626; Fri, 18 Sep 2026 06:40:25 -0700 (PDT) Received: from phuc-desktop.. ([183.91.15.56]) by smtp.gmail.com with ESMTPSA id 98e67ed59e1d1-39e3617443asm13253792a91.9.2026.09.18.06.40.21 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 18 Sep 2026 06:40:25 -0700 (PDT) From: phucduc.bui@gmail.com To: Mark Brown , AngeloGioacchino Del Regno Cc: Liam Girdwood , Matthias Brugger , Jaroslav Kysela , Takashi Iwai , Kuninori Morimoto , cassiogabrielcontato@gmail.com, Linus Walleij , Bartosz Golaszewski , Mukesh Ojha , Jiaxin Yu , 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 09/15] ASoC: mediatek: mt8192: check return values in mt8192_afe_gpio_init() Date: Fri, 18 Sep 2026 20:39:05 +0700 Message-ID: <20260918133912.133799-10-phucduc.bui@gmail.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20260918133912.133799-1-phucduc.bui@gmail.com> References: <20260918133912.133799-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, mt8192_afe_gpio_init() ignores the return values of mt8192_afe_gpio_select() and mt8192_afe_gpio_request(). If configuring GPIO states or requesting GPIOs fails during initialization, the function still proceeds and returns 0, masking the initialization failure. Fix this by checking and propagating the return values properly. Fixes: 125ab5d588b0 ("ASoC: mediatek: mt8192: add platform driver") Signed-off-by: bui duc phuc --- sound/soc/mediatek/mt8192/mt8192-afe-gpio.c | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/sound/soc/mediatek/mt8192/mt8192-afe-gpio.c b/sound/soc/mediat= ek/mt8192/mt8192-afe-gpio.c index d4218f9708f7..d2e99c55b8c6 100644 --- a/sound/soc/mediatek/mt8192/mt8192-afe-gpio.c +++ b/sound/soc/mediatek/mt8192/mt8192-afe-gpio.c @@ -147,13 +147,17 @@ int mt8192_afe_gpio_init(struct device *dev) } } =20 - mt8192_afe_gpio_select(dev, MT8192_AFE_GPIO_CLK_MOSI_ON); + ret =3D mt8192_afe_gpio_select(dev, MT8192_AFE_GPIO_CLK_MOSI_ON); + if (ret) + return ret; =20 /* gpio status init */ - mt8192_afe_gpio_request(dev, false, MT8192_DAI_ADDA, 0); - mt8192_afe_gpio_request(dev, false, MT8192_DAI_ADDA, 1); + ret =3D mt8192_afe_gpio_request(dev, false, MT8192_DAI_ADDA, 0); + if (ret) + return ret; + ret =3D mt8192_afe_gpio_request(dev, false, MT8192_DAI_ADDA, 1); =20 - return 0; + return ret; } EXPORT_SYMBOL(mt8192_afe_gpio_init); =20 --=20 2.43.0 From nobody Fri Sep 25 00:01:21 2026 Received: from mail-pj2-f16.google.com (mail-pj2-f16.google.com [74.125.227.144]) (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 18B16513570 for ; Fri, 18 Sep 2026 13:40:30 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=74.125.227.144 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1789738832; cv=none; b=Cg5wIlUtLQ6rm8Dyl7La0QJwo5WPRWnxAhvJNvK4oA0+/ro1I7e/BpSK3AOlDjjCuSJ9WGASpkMdg+v2Nxh4YOpAcD6T1mv14NJPZ246q9hL0xl7l6t2fOMHhpw7UgmRCoJY/BQDCDL2zvGW/GoHszXv+SAdhf4PeCitJ70ffFk= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1789738832; c=relaxed/simple; bh=TK4GwSqVSypRNEvyHlH/Z4mogXq1weHNEeLJ8TY7A+A=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=CjhpSKK4Z5F8fvGIvOMMyzVQEmP2DCDCA4Pd106+GbSAGL0Dr9ymDNUt9Wnmm89T1l94xKEvd1txPF2SEnHgKsL0N6GPCEOsbRf2LnTF/yeJAySv0n8vC2fNz0ANFLcINJEJN1+nVFO+0c/dh4E1INpPUsrr1qG5lbZ1fZ9ekkk= 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=dmwTAPeK; arc=none smtp.client-ip=74.125.227.144 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="dmwTAPeK" Received: by mail-pj2-f16.google.com with SMTP id 98e67ed59e1d1-396ccd78e6eso245427a91.0 for ; Fri, 18 Sep 2026 06:40:30 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1789738830; x=1790343630; 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=6IqpjYfx/a4AJRpAQpXk9jWJIkdnAOStvdzRpJSsoaA=; b=dmwTAPeKlMiphPge+gs2lC/Uah8BFhr3JMWBtwqy/tLALHGAWqZuBy7Vx/5wbGa8VV IhV7G9eOMLCKAuzT3rJ8bqJsX8WeiSsn08pUgBC/DBSbANQczhIaTxlLaspVOW5yAd3d Pd8OH9gPbmHgkiVW+o0Lq1kIvcPgOEEEmoaQVuLAyLSpaLDmcTj82KFfMN8Zur7fAy9R DzdpYA65mCedkKoq263H1zfxOS61j8Ebn8i+8PuxYVgQ63/tZ4q9LTDvC+2jsK0E9aqS WNt41ZcBQDSntrRxs0gWXf9Kn/dmyf0boFyUEQVd/gCpxSrUbfawduTOILse6SEfiuTa P+vA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20260707; t=1789738830; x=1790343630; 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=6IqpjYfx/a4AJRpAQpXk9jWJIkdnAOStvdzRpJSsoaA=; b=XzjpmO0YqTqtdoUVM6izYX2/G5g5ThqcVkVEfD4skx149CEXkRFq9MEVDHQ4nOvKuP f2jEXdBtEJaVC71sr3NYv6hJXp7SH7jAz/4k10Eqg24hDRAhgWkkJKxO7ujon9ahh6Hq HWv4J035NsqK97uHTJXXZ2gUf6pb19D9PFdN83L1fwt0H77QdDlAiv5lVb0e4O16i8n/ WXQmcu5ScLRVOg1j3jWif6nVxpOIPFjncio1jD+L4BZgobS1e5N1Ufm0shU0lmeC+cxZ 1hzr2Vrg+0pxyYfVZZM2fyfr3rbPFVx2V7h/pQ5t33WAIrt9EeS9pXwOHzGkHxBnA7AW 7MvQ== X-Forwarded-Encrypted: i=1; AKwUvBzGJoBYuY2eyyIWzjC3p0uwkVteksxGA370dYLtoQ09HYJVJkahJ3Httx2uSPTHTdWw/5iKR0YboSHq5/E=@vger.kernel.org X-Gm-Message-State: AFuF++mPfSbc07qcOeh2vWJqDDy6P27Lzunqx/GR1TegHOCmRzko5vRn DjFmZFjDvfWoF5aEHu1+zukqwgBXacIFk+34WdjzjOc59yc6YtSFKhhK X-Gm-Gg: AYBFou3FT9iI+iLctkzaQEF2kGR+Xz4ccJXjtBMZB78u3TBkhVdplt8WY24KPATDqex /gVjDOKMqavh5gHJqO6804fcArQaGjvrDSBEcnBV4jospQviTqo06nDP4bTau9NggRNgF9onHrZ zNS3tKo5ANyEseFCoH/USYuyF543vf0xgl4eKjcK/jwc8anyufsIzE1B7qnSDpJD7Q3gwiOcQjd BZZh2Y6HWXZWdW/CjxuWa4Maw/I+5jyXFU4RXt4D8KEuIztcigegUEIfzryb1Mha7IZNgYuaber WH/e3tUgR/tr7HSCWmeb7fwzvnztBn+yrhw3oQ2DdOw5ttHuRQ9f+rueZJ3I9NFFcMLz3E9b/v0 h9M02nUtXgvmOoThSnWKDA9ysEPASNEO3yi4Z3eFo1uqnlrzQJ7f0HfXUUesM/G9V3ID7FwkM5n pKYfIiiwW5JiQrsKjs2BbIBBCO+wuPvl7Wo0Ke6H95W6KkxU8V/PWLG5ohby3HwgtokKIfrXrLf g33PUVQc3bqmXQJBEAYutuUEKLABB23uXA3DJGOYFx+flk2R77yjpWxFD0fc3DA/joNb7zT0GIY e3eXJF6ZfUUhDA== X-Received: by 2002:a17:90b:3e47:b0:39e:4c7e:bc7 with SMTP id 98e67ed59e1d1-39e55738568mr3739571a91.21.1789738830398; Fri, 18 Sep 2026 06:40:30 -0700 (PDT) Received: from phuc-desktop.. ([183.91.15.56]) by smtp.gmail.com with ESMTPSA id 98e67ed59e1d1-39e3617443asm13253792a91.9.2026.09.18.06.40.26 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 18 Sep 2026 06:40:30 -0700 (PDT) From: phucduc.bui@gmail.com To: Mark Brown , AngeloGioacchino Del Regno Cc: Liam Girdwood , Matthias Brugger , Jaroslav Kysela , Takashi Iwai , Kuninori Morimoto , cassiogabrielcontato@gmail.com, Linus Walleij , Bartosz Golaszewski , Mukesh Ojha , Jiaxin Yu , 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 10/15] ASoC: mediatek: mt8192: Handle regcache_sync() failure in runtime resume Date: Fri, 18 Sep 2026 20:39:06 +0700 Message-ID: <20260918133912.133799-11-phucduc.bui@gmail.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20260918133912.133799-1-phucduc.bui@gmail.com> References: <20260918133912.133799-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 return value of regcache_sync() in mt8192_afe_runtime_resume() is ignored. If regcache_sync() fails, the function continues execution with clocks enabled and regcache out of sync. Fix this by checking the return value of regcache_sync(). On failure, restore regcache to cache-only mode and disable the clocks enabled earlier in the function. Fixes: 125ab5d588b0 ("ASoC: mediatek: mt8192: add platform driver") Signed-off-by: bui duc phuc --- sound/soc/mediatek/mt8192/mt8192-afe-pcm.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/sound/soc/mediatek/mt8192/mt8192-afe-pcm.c b/sound/soc/mediate= k/mt8192/mt8192-afe-pcm.c index e4ecd23df180..5aaff5bebfb6 100644 --- a/sound/soc/mediatek/mt8192/mt8192-afe-pcm.c +++ b/sound/soc/mediatek/mt8192/mt8192-afe-pcm.c @@ -2104,7 +2104,11 @@ static int mt8192_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); + mt8192_afe_disable_clock(afe); + } =20 /* enable audio sys DCM for power saving */ regmap_update_bits(afe_priv->infracfg, --=20 2.43.0 From nobody Fri Sep 25 00:01:21 2026 Received: from mail-pj2-f13.google.com (mail-pj2-f13.google.com [74.125.227.141]) (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 E731F51589C for ; Fri, 18 Sep 2026 13:40:35 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=74.125.227.141 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1789738837; cv=none; b=HkLwwbv0ajb6n4eE1kUJ9WlxZEpwCtPIXYkc7CzC9yz3uO/RVqyUEbTEEF2oYFESCaxBQFzlpCu6yqUZLCc9xrE2kN/6cZPk1SelWxOK22ZhnTGf8tDmDw5bcJVDI5VAeogj7jE+qQAnyhkRRkCSq1ACdGQjEfhd23nRV2ItW6c= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1789738837; c=relaxed/simple; bh=EO7Wt7DOU6+nQY6d+/v2RqUj0DHr7rPGEWnPMEK1hsw=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=A92HLBrr3Q0psFNiXLbgi/bJo/hrzeme0Irk9dSmqJ7PsGxqlFsSjDyDfXVSBtXZRLH/IUZMYEJWahCXeJ78jSkY7Bt5d+4gORSTq65b66qkAmUtr4jSLKLZQ/rqSBMX9pUtNS/wo0DFsip03V5u/pPS1REURHwy4ICDVQcyxA4= 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=WYrZQjjf; arc=none smtp.client-ip=74.125.227.141 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="WYrZQjjf" Received: by mail-pj2-f13.google.com with SMTP id 98e67ed59e1d1-396ccd4f99cso800776a91.0 for ; Fri, 18 Sep 2026 06:40:35 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1789738835; x=1790343635; 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=skaVQas2esAm6HNfYY4sXBxMDL3EKxsTuH/rubWzjqw=; b=WYrZQjjfcZhpBt3rijee5S2O7439f+28+BRBSEKAecsRRai6tAympcW7h3fNbqc58d pzy18wPubQWzKzkb2J6vhTXRcZvxQ50mJaI+4Uu/r6Tn+X/l/G3laKFlA7d+pxCEFQf0 fCagfAI0g2UoHMSgzyfeuYp4/FIPD7JqNqchhfqPJNG2cjRoff54YT2ZBc0a9PyGqp1H q0RpyjcT9MISkryZJh/SUoiOqh7PjEuAt+aFQ2F7hV3aFPD4mgjAI+fJFG+y6OTND8AM WB7HFjl9eFDjWbp7didRN6BZF7xYLFLJ0vysbyZVmpi+1V9zqaQxLLlcfyBqQDCWH/QX 5WLA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20260707; t=1789738835; x=1790343635; 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=skaVQas2esAm6HNfYY4sXBxMDL3EKxsTuH/rubWzjqw=; b=i4RJ492MEQKV2kYL2ARRZQjlopigK3ceSGukBrvdqqX9VP4GMiX50k7s7/0xchnY2+ oG71kOfg0he0dBzbN/KAVSNdvvfX5Xmlu+0fBtDbcKA6K/KkNXI3weNkMyOhbO10usVo CJt6dQePQjBpw16S22fngp/uPPHn6Lqa54C8nqd3ZlRzweKAQVTxa2Zz1Ad/YWArldlY i76M0oZ2Ri/xayiFtwp1Q5IeOTnPOuqdrkjPbHpTf0UFq4kxDyV/qGGI3ClU6uIBywmB +dcd4AdUP/k5Sn0IQz5ZmW0Vgwqp6CxolM6odwBvT2WqeSY74izcqbF1U5jNkv9J5Ca5 MpCg== X-Forwarded-Encrypted: i=1; AKwUvBwr0u1s0UJNKH3T0AOaAzwxRxRRdp/e60+audrzxdyEROYvKMS6iEYv7kX9ITfNKZ3QnAhCwgeYYxGoZto=@vger.kernel.org X-Gm-Message-State: AFuF++kpd/1Ch7GFYhoMnJ7+6bdn9cJso+/u7GGrT9yJT4ma2dH9tgoU V+BROr1m/Cgu4WVofe3DI0O2BJOxKjCZwtPMGLk4zHWla0B602r9/MX8 X-Gm-Gg: AYBFou1KvnXu0OjiFfutdslqwnDcFnfmv1FJIrmYFHfyVQAwtN24s9tcWGWvYhUkdEf lrPDAnWddzN2Blr6Az3IMXUTSckkOKd6MpjNWEGauBwpKQEV/vImVIcdYz+hNc+QfhdZJC5mHoe Pzslj2v44qJjj0wnIwB3Sms3mXOQ28m5qfO/M5pHCzgNSzrO3wp+GsNlRCps6adBlXJWzLQGjy8 Q4pC9Yfdttt0p5lm0JWGkpagjpg1EBSsrl3Rq282xz19vh4l8Bb3clTJBF4CSE0nRUhffdfGNGc E6WiBcSQVpGCzVn/vln0Ec70Bt9dFPPwKpW8dJS/N+i7d1WPbW7ly3qpltIuRZct2tUL3K/eS0D fYugExy8+LrRqTXF8aUiJX52ZE7ThjTNsItIXhbou78k7zD0zUw89OkG21kqWNQt5UVADMDp2rv YOC07tnJRzQ0L0wgWUu6668ncmC3eQUfwwmoA059zCZAWWY4K+iNUAtLoBL2mjBxLecDXY1D+E9 39NTuLEYGjkTq21pbXD/jIaj6lN+484dk7Ie0IeWXVoeebdIpWAgTNsdcWDRYIY2+LsSTsnANGz nd69FSRc/hiXovTxEBlk/vqUdQ== X-Received: by 2002:a17:90b:17c5:b0:39e:1633:d29e with SMTP id 98e67ed59e1d1-39e54cc6ef6mr6089597a91.5.1789738835185; Fri, 18 Sep 2026 06:40:35 -0700 (PDT) Received: from phuc-desktop.. ([183.91.15.56]) by smtp.gmail.com with ESMTPSA id 98e67ed59e1d1-39e3617443asm13253792a91.9.2026.09.18.06.40.31 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 18 Sep 2026 06:40:34 -0700 (PDT) From: phucduc.bui@gmail.com To: Mark Brown , AngeloGioacchino Del Regno Cc: Liam Girdwood , Matthias Brugger , Jaroslav Kysela , Takashi Iwai , Kuninori Morimoto , cassiogabrielcontato@gmail.com, Linus Walleij , Bartosz Golaszewski , Mukesh Ojha , Jiaxin Yu , 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 11/15] ASoC: mediatek: mt8192: Remove redundant error message Date: Fri, 18 Sep 2026 20:39:07 +0700 Message-ID: <20260918133912.133799-12-phucduc.bui@gmail.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20260918133912.133799-1-phucduc.bui@gmail.com> References: <20260918133912.133799-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() and dev_err_probe() call is redundant and can be removed. Signed-off-by: bui duc phuc --- sound/soc/mediatek/mt8192/mt8192-afe-pcm.c | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/sound/soc/mediatek/mt8192/mt8192-afe-pcm.c b/sound/soc/mediate= k/mt8192/mt8192-afe-pcm.c index 5aaff5bebfb6..45addf9f3790 100644 --- a/sound/soc/mediatek/mt8192/mt8192-afe-pcm.c +++ b/sound/soc/mediatek/mt8192/mt8192-afe-pcm.c @@ -2192,10 +2192,8 @@ static int mt8192_afe_pcm_dev_probe(struct platform_= device *pdev) =20 /* init audio related clock */ ret =3D mt8192_init_clock(afe); - if (ret) { - dev_err(dev, "init clock error\n"); + if (ret) return ret; - } =20 /* reset controller to reset audio regs before regmap cache */ rstc =3D devm_reset_control_get_exclusive(dev, "audiosys"); @@ -2271,7 +2269,7 @@ static int mt8192_afe_pcm_dev_probe(struct platform_d= evice *pdev) ret =3D devm_request_irq(dev, irq_id, mt8192_afe_irq_handler, IRQF_TRIGGER_NONE, "asys-isr", (void *)afe); if (ret) - return dev_err_probe(dev, ret, "could not request_irq for Afe_ISR_Handle= \n"); + return ret; =20 /* init sub_dais */ INIT_LIST_HEAD(&afe->sub_dais); --=20 2.43.0 From nobody Fri Sep 25 00:01:21 2026 Received: from mail-pj2-f12.google.com (mail-pj2-f12.google.com [74.125.227.140]) (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 A6F8751598B for ; Fri, 18 Sep 2026 13:40:41 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=74.125.227.140 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1789738843; cv=none; b=IkKBF5G+McmBjqAdfieNAgYimkVggoGw2qHQTDetzTz23JUiI0psmhr3lAoi1FNUvIOHy3zSqGjzsCjy8t4YIKRktqKI4GYOvjfQ3GfYiC7kQqEEAZSQCYmZTFe/vWxW/30/jjkBTgCTZhz/QPPbVwiZ5mfZQJ3/LrSRTYRISs8= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1789738843; c=relaxed/simple; bh=GObvMR34S+suMBhhF9UYVJy/XM+sIoJ+XQeVtyhccSU=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=gR83zLTz0femLgj5EtrhgBJY+FGpSWGfcpLaX67hj6zjtwgDcRTMgpl8D0MNSbIT58ZWq7NOvv2qdf3XAtBOOGgy04loZLj9YWbXFSrgdbrs58XJntcRzVSvP8OyafFifkgFFI5p7AnWhFkxGtVWFdtd//2Ztq2+Bb4nsflei94= 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=ROpP1MaL; arc=none smtp.client-ip=74.125.227.140 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="ROpP1MaL" Received: by mail-pj2-f12.google.com with SMTP id 98e67ed59e1d1-39b2ad83dc6so667608a91.0 for ; Fri, 18 Sep 2026 06:40:41 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1789738841; x=1790343641; 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=21pMHDsV/Fd9QFDutbYYXowTkN17HxIRjn27KJEcxhQ=; b=ROpP1MaLRl4+XASKwxXWp4GM/YwcWusLOFYCSK1t96rMMPH5ZlR+aH7jKBAweqVupM JOyHecmYIqW6dc0ZqSouX0+uTWxTE5rUM3Zoe/yP2jUmECoBx8rbw4I6csaw/Hlw8/Xa 22+dFu+jPCWwLlX/sTw0a5QwaQPJQQ1ZINmzCeYA9kUdLvP/1tjVkPI9zM+KgA/LB14a E5A39ujijP5ETGFIa8PdfGowfRWuaqDSfKDK31q8lLa5ngMRLvNDeRJ2NOQapR1KZ84s jHDnP7owzL+IPc9Oi+/Vw+XVpY646BB37dFECmxDkRXtN/Y5RILZ8sVCAQ/tBwHW3iiA Tf9A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20260707; t=1789738841; x=1790343641; 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=21pMHDsV/Fd9QFDutbYYXowTkN17HxIRjn27KJEcxhQ=; b=Cn2DA7hJxtgmnXdxFOqHt3YRgLkpuSWv9mqDg1W4Y9d+RCJY0gkuZgrY0jcvGOBYOI I8X5n3w2KEZRk2AD1JFULKfWqXbSCO2/0y863Zyu2yBFAI21M17VFvfpjCdBdLRadypB lHkvrP28zwg9QYd5qrL71vWUjTHTJhDVVz/E5uUSP1fIvbb9SD11q/cARJmd2wIV4xuL 7gUCuxJTr0IDiDiNuIHsh+bez7rf4IN94+5ST/vRSk+bXuW5FNgIt6l9/kTomtFReX3D 2h59kQdLk/Yf/0oO6gl6XSLyqwFrsCCWZiL9VW21aIvPxmBaphhnsRnYozzrUkGD/eVK itEA== X-Forwarded-Encrypted: i=1; AKwUvBw7V4Ooc5HkrBHeJcAMAkJUe7SlAKmc0vzxJday36IGDtrWYVqZZINkZXMvWnnWODbPbyTwNojz7bIZPU0=@vger.kernel.org X-Gm-Message-State: AFuF++nr7DlCl+AFXF9A4f3DCMETLNbl0VuqexP7jn6QTZTFqi9cRyDe Bb0ckNyyFRTr0/3JgR0dv3Azx97rH04/BLOziJ//vzOg79KKFvp2Z6VL X-Gm-Gg: AYBFou0fa4KKmitdZueiPjSoF4ToGvDopB/wsZlB+fwEFH99THyttIK3t4R2MoIrwEl zB4JRFrXZPvrVLUDGQl8mSDqM9XpX0gUkwfjTZEmbKZQMxFlsAdsv3slWcg+/kFQPy7xlQwMILd izAqjOgZ8K5jsT3f4CR6leWvqeZbOqxlWhTFV5LUzO4+L9GXVWegX2XYty+vNY0J9R8887DaEPl 54iuwWQStLPEHawgwq5RDRF+4Tx1IF39Qp53jS4zL+qgn/h7oFdz0wbchGhBg2fa2vT1GOxnO0Q XZIe+N9jWE8AdPNUR72ovKAhBE2Az4DjnIznetOpcqFhWFtFp1ZpmEThAJyClQVgGFuzEfEqwvr cHnLM9R30b0QXvZtz4MLtAhzqNUCAjZoRvUacmbGPoj3n+pYfzc1nmh2SJ13VVQW09npOiHF6RO HccKnTCb5KpvB4eUCZrb7hPdtPrAYT9lIOVmbW/bc7/l+GaNzydkDx4uvDDrX1QDFvuzbCjQSMM saCDurVcRMRm70Eym2+GGZM7UtQRHLhPHXZMUOl446nFiAgTIsPy0zZm5L+drJtm/Hp3RFduejU 4wY/ggSvEtHGOg== X-Received: by 2002:a17:90b:48d0:b0:39d:ec24:5ffe with SMTP id 98e67ed59e1d1-39e54d1115amr6173759a91.9.1789738840001; Fri, 18 Sep 2026 06:40:40 -0700 (PDT) Received: from phuc-desktop.. ([183.91.15.56]) by smtp.gmail.com with ESMTPSA id 98e67ed59e1d1-39e3617443asm13253792a91.9.2026.09.18.06.40.36 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 18 Sep 2026 06:40:39 -0700 (PDT) From: phucduc.bui@gmail.com To: Mark Brown , AngeloGioacchino Del Regno Cc: Liam Girdwood , Matthias Brugger , Jaroslav Kysela , Takashi Iwai , Kuninori Morimoto , cassiogabrielcontato@gmail.com, Linus Walleij , Bartosz Golaszewski , Mukesh Ojha , Jiaxin Yu , 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 12/15] ASoC: mediatek: mt8192: Propagate mt8192_afe_gpio_request() errors in ADDA DAI Date: Fri, 18 Sep 2026 20:39:08 +0700 Message-ID: <20260918133912.133799-13-phucduc.bui@gmail.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20260918133912.133799-1-phucduc.bui@gmail.com> References: <20260918133912.133799-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, DAPM event handlers in mt8192-dai-adda.c ignore the return value of mt8192_afe_gpio_request(). If GPIO configuration fails during PRE_PMU or POST_PMD events, the error is silently ignored. Fix this by checking and propagating error codes from mt8192_afe_gpio_request() in all ADDA DAPM event handlers. Fixes: 607ac4859564 ("ASoC: mediatek: mt8192: support adda in platform driv= er") Signed-off-by: bui duc phuc --- sound/soc/mediatek/mt8192/mt8192-dai-adda.c | 44 +++++++++++++++------ 1 file changed, 32 insertions(+), 12 deletions(-) diff --git a/sound/soc/mediatek/mt8192/mt8192-dai-adda.c b/sound/soc/mediat= ek/mt8192/mt8192-dai-adda.c index f8cb84621d38..c5c726a6e423 100644 --- a/sound/soc/mediatek/mt8192/mt8192-dai-adda.c +++ b/sound/soc/mediatek/mt8192/mt8192-dai-adda.c @@ -218,10 +218,13 @@ static int mtk_adda_ul_event(struct snd_soc_dapm_widg= et *w, struct mtk_base_afe *afe =3D snd_soc_component_get_drvdata(cmpnt); struct mt8192_afe_private *afe_priv =3D afe->platform_priv; int mtkaif_dmic =3D afe_priv->mtkaif_dmic; + int ret; =20 switch (event) { case SND_SOC_DAPM_PRE_PMU: - mt8192_afe_gpio_request(afe->dev, true, MT8192_DAI_ADDA, 1); + ret =3D mt8192_afe_gpio_request(afe->dev, true, MT8192_DAI_ADDA, 1); + if (ret) + return ret; =20 /* update setting to dmic */ if (mtkaif_dmic) { @@ -239,7 +242,9 @@ static int mtk_adda_ul_event(struct snd_soc_dapm_widget= *w, case SND_SOC_DAPM_POST_PMD: /* should delayed 1/fs(smallest is 8k) =3D 125us before afe off */ usleep_range(125, 135); - mt8192_afe_gpio_request(afe->dev, false, MT8192_DAI_ADDA, 1); + ret =3D mt8192_afe_gpio_request(afe->dev, false, MT8192_DAI_ADDA, 1); + if (ret) + return ret; break; default: break; @@ -257,11 +262,14 @@ static int mtk_adda_ch34_ul_event(struct snd_soc_dapm= _widget *w, struct mt8192_afe_private *afe_priv =3D afe->platform_priv; int mtkaif_dmic =3D afe_priv->mtkaif_dmic_ch34; int mtkaif_adda6_only =3D afe_priv->mtkaif_adda6_only; + int ret; =20 switch (event) { case SND_SOC_DAPM_PRE_PMU: - mt8192_afe_gpio_request(afe->dev, true, MT8192_DAI_ADDA_CH34, - 1); + ret =3D mt8192_afe_gpio_request(afe->dev, true, MT8192_DAI_ADDA_CH34, + 1); + if (ret) + return ret; =20 /* update setting to dmic */ if (mtkaif_dmic) { @@ -291,8 +299,10 @@ static int mtk_adda_ch34_ul_event(struct snd_soc_dapm_= widget *w, case SND_SOC_DAPM_POST_PMD: /* should delayed 1/fs(smallest is 8k) =3D 125us before afe off */ usleep_range(125, 135); - mt8192_afe_gpio_request(afe->dev, false, MT8192_DAI_ADDA_CH34, - 1); + ret =3D mt8192_afe_gpio_request(afe->dev, false, MT8192_DAI_ADDA_CH34, + 1); + if (ret) + return ret; =20 /* reset dmic */ afe_priv->mtkaif_dmic_ch34 =3D 0; @@ -446,15 +456,20 @@ static int mtk_adda_dl_event(struct snd_soc_dapm_widg= et *w, { struct snd_soc_component *cmpnt =3D snd_soc_dapm_to_component(w->dapm); struct mtk_base_afe *afe =3D snd_soc_component_get_drvdata(cmpnt); + int ret; =20 switch (event) { case SND_SOC_DAPM_PRE_PMU: - mt8192_afe_gpio_request(afe->dev, true, MT8192_DAI_ADDA, 0); + ret =3D mt8192_afe_gpio_request(afe->dev, true, MT8192_DAI_ADDA, 0); + if (ret) + return ret; break; case SND_SOC_DAPM_POST_PMD: /* should delayed 1/fs(smallest is 8k) =3D 125us before afe off */ usleep_range(125, 135); - mt8192_afe_gpio_request(afe->dev, false, MT8192_DAI_ADDA, 0); + ret =3D mt8192_afe_gpio_request(afe->dev, false, MT8192_DAI_ADDA, 0); + if (ret) + return ret; break; default: break; @@ -469,17 +484,22 @@ static int mtk_adda_ch34_dl_event(struct snd_soc_dapm= _widget *w, { struct snd_soc_component *cmpnt =3D snd_soc_dapm_to_component(w->dapm); struct mtk_base_afe *afe =3D snd_soc_component_get_drvdata(cmpnt); + int ret; =20 switch (event) { case SND_SOC_DAPM_PRE_PMU: - mt8192_afe_gpio_request(afe->dev, true, MT8192_DAI_ADDA_CH34, - 0); + ret =3D mt8192_afe_gpio_request(afe->dev, true, MT8192_DAI_ADDA_CH34, + 0); + if (ret) + return ret; break; case SND_SOC_DAPM_POST_PMD: /* should delayed 1/fs(smallest is 8k) =3D 125us before afe off */ usleep_range(125, 135); - mt8192_afe_gpio_request(afe->dev, false, MT8192_DAI_ADDA_CH34, - 0); + ret =3D mt8192_afe_gpio_request(afe->dev, false, MT8192_DAI_ADDA_CH34, + 0); + if (ret) + return ret; break; default: break; --=20 2.43.0 From nobody Fri Sep 25 00:01:21 2026 Received: from mail-pj2-f43.google.com (mail-pj2-f43.google.com [74.125.227.171]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id A967B516159 for ; Fri, 18 Sep 2026 13:40:45 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=74.125.227.171 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1789738847; cv=none; b=IZYr9G+6n5gOOXI5TjdPYv3XTJpmn6bstuDIAhimdFXrsqU+HaDve0tf7CbsKCDDgIJMoyJPIBDazf1U1UAFfcH9udWFDFdo6uAJJoqUhJdErw3DomPNL9QofYGhv+D46Z5ZXaJGzKmcZ3AYAq85Esn0uKmhdAIcEv5yHRGCmxY= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1789738847; c=relaxed/simple; bh=8g4WrDy90/pF7rQXXIw1GlF7pmzu/PdyF1rB5UGBrnE=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=C4kZMne9EFha4ZC3q537deFSEy4P//XWR3Lb+ORF5ThZavVMz611b6S4oLLgQlDFIit3knGxcnfR/rGfTwSRCIp1pxV/4mL9D/4P77o58URwgQzf0gDbWYFlglZli3mzTqhyiyWXzKcgyraDIDehf5AyoR7p0GG6bPpus/7nOh0= 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=Wvi7H5mf; arc=none smtp.client-ip=74.125.227.171 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="Wvi7H5mf" Received: by mail-pj2-f43.google.com with SMTP id 98e67ed59e1d1-39b31b4281eso767428a91.2 for ; Fri, 18 Sep 2026 06:40:45 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1789738845; x=1790343645; 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=yu2yiSMdwWefg76VPpSvIXsYKQxHtzBfgnHJNkHdg8c=; b=Wvi7H5mfckiZiWPMA5VRcRS3X2KOoq4sZLRDX81RW3/V724++LY2EWZf9DQIm47LXd 5kZT0MPnMlj7BEjzYfQX5Yg033RLyzTC8fCJVnLuJq1g7yQiP/oeBjs9zhvzMGk/GnWO IWeLeyb35lflQr7YagMVwusa0qWbZSeb2XQeIrA2i3+0mBdtYUUJKpCUmKa+/hufPwLl zLqNTRp2KHflDGyIkf+qmWJZSJTzu7QnVIL8qGZFDKIzmAr3PK7f3YxHKExpiDOVHp6A xTsDT/4ge2mtOG1/NrLIWvHgqKtHFI1Oewo+dRqYmJ2MxCRiym6BteDrDF3n/bmQxJ2h dCvA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20260707; t=1789738845; x=1790343645; 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=yu2yiSMdwWefg76VPpSvIXsYKQxHtzBfgnHJNkHdg8c=; b=WkOprpyI5JUtqc0gb2dYRQ8HynVywncfYvoYx6sgYFpl39sxK4MW5oS6nONsrIRy30 SbS0gq5kDu7S0VVG6CaxUIiks9ky2a3hxMynrChTFbLbQL7ff/I5BhwbjCPQOXjh1s0i i5YStS5En7eR+drvCY5HH0gTv40iRt1xRRJkJaY7JSuCGR6mcfc5Ld32zP73HpAuK7ZE nYNCXJh2p2yh+Mp4Ccis6eQu/DRnCCby0wFe20BlK+6yqG6dLJgNqH79nogkfIUtQN3y ZvVlFVbvTudj0zk84mHEJDxK+zfM2aTB+fmKQcEUeqGXcwvY6uQZRfoleIXfNPZmL6tf Gpvg== X-Forwarded-Encrypted: i=1; AKwUvBwAZnO9LfU2Zhve24aZkKMci/qxiyqqEww/B8JCzjqpDo06PBoGTUI+O5Hnh+Afg+uvCp3UXeVa7EUAluE=@vger.kernel.org X-Gm-Message-State: AFuF++l1KnF+q4DDrFFvm8cJr7Cn07O8iLxjOI568teurbu/ohZ1aUM1 THaeXmXPMigLU7QE0P+MGIxfQI4EnTkL/dN6UztdjJv5euoYimx9Mu9Z X-Gm-Gg: AYBFou1V2h47Ev2vzhU9xhijCmr2qx4iqb80Aq1wZ9RpaZSi51fhJK37C9pqB9EUQEN epwD5+vCZ4525Mx5LUCRZmTxe1ttNqLNji0Y0NYjwJpurmitcKGq3Zn6jK6QBjfRfaEam/WE6xT sUuOhfbFxNO/jo0IYItGBErwGlq47XeygMr0kxR/j/keiDycJC3KlVW3VVU02DKKUBU0qIgPY/g GWsRj6x+y1ZmcFWcix2k8oUhaFzY0kfKU/C5CsSjRfS6GnuVnGkzTFF29dzUX7hC2Bfnn0Hxk3A ffWHk1j+ZdKqGsC+GPPD/Xw6B4ReTLnMYVBKtpJawdx2dU7VHCnTEt6UClL80OC0YYVfAscHRP+ ENfHRoX3+gAffSHcYB7hfUUYr0ZMa90FrkNlod4F+yN+CxvqaIZTya66If7svpGEUL7BBEyiWkj yJ4i9YhfIObOpGkLabI3tE2/hMUgkg/1rZq3tzH+Q0o4bfLuFWJdiAUTnFWrHif/L14/wp04146 YA4rZuJHpRSGGoZ3mYlp25ULTBr4AQQSlmJCqxhY/lC6KjorvDN/5+stTJ9eNLc9Dw6BjiDVlkc 4QbjJMjMcWGk6NoQntMAdO2/ X-Received: by 2002:a17:90b:5588:b0:39d:f4a8:75ef with SMTP id 98e67ed59e1d1-39e54cbb4a5mr6454551a91.1.1789738844971; Fri, 18 Sep 2026 06:40:44 -0700 (PDT) Received: from phuc-desktop.. ([183.91.15.56]) by smtp.gmail.com with ESMTPSA id 98e67ed59e1d1-39e3617443asm13253792a91.9.2026.09.18.06.40.41 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 18 Sep 2026 06:40:44 -0700 (PDT) From: phucduc.bui@gmail.com To: Mark Brown , AngeloGioacchino Del Regno Cc: Liam Girdwood , Matthias Brugger , Jaroslav Kysela , Takashi Iwai , Kuninori Morimoto , cassiogabrielcontato@gmail.com, Linus Walleij , Bartosz Golaszewski , Mukesh Ojha , Jiaxin Yu , 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 13/15] ASoC: mediatek: mt8192: Propagate errors in TDM DAI DAPM event handlers Date: Fri, 18 Sep 2026 20:39:09 +0700 Message-ID: <20260918133912.133799-14-phucduc.bui@gmail.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20260918133912.133799-1-phucduc.bui@gmail.com> References: <20260918133912.133799-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, DAPM event handlers in mt8192-dai-tdm.c ignore return values from mt8192_afe_gpio_request() and mt8192_mck_enable(). If GPIO configuration or master clock setup fails during DAPM events, the error is silently ignored. Fix this by checking and propagating error codes properly in all TDM DAI DAPM event handlers. Fixes: 52fcd65414ab ("ASoC: mediatek: mt8192: support tdm in platform drive= r") Signed-off-by: bui duc phuc --- sound/soc/mediatek/mt8192/mt8192-dai-tdm.c | 18 +++++++++++++----- 1 file changed, 13 insertions(+), 5 deletions(-) diff --git a/sound/soc/mediatek/mt8192/mt8192-dai-tdm.c b/sound/soc/mediate= k/mt8192/mt8192-dai-tdm.c index 49440db370af..36fa0f32ed1c 100644 --- a/sound/soc/mediatek/mt8192/mt8192-dai-tdm.c +++ b/sound/soc/mediatek/mt8192/mt8192-dai-tdm.c @@ -250,6 +250,7 @@ static int mtk_tdm_en_event(struct snd_soc_dapm_widget = *w, struct mt8192_afe_private *afe_priv =3D afe->platform_priv; int dai_id =3D get_tdm_id_by_name(w->name); struct mtk_afe_tdm_priv *tdm_priv =3D afe_priv->dai_priv[dai_id]; + int ret; =20 if (!tdm_priv) { dev_warn(afe->dev, "%s(), tdm_priv =3D=3D NULL", __func__); @@ -261,16 +262,17 @@ static int mtk_tdm_en_event(struct snd_soc_dapm_widge= t *w, =20 switch (event) { case SND_SOC_DAPM_PRE_PMU: - mt8192_afe_gpio_request(afe->dev, true, tdm_priv->id, 0); + ret =3D mt8192_afe_gpio_request(afe->dev, true, tdm_priv->id, 0); break; case SND_SOC_DAPM_POST_PMD: - mt8192_afe_gpio_request(afe->dev, false, tdm_priv->id, 0); + ret =3D mt8192_afe_gpio_request(afe->dev, false, tdm_priv->id, 0); break; default: + ret =3D 0; break; } =20 - return 0; + return ret; } =20 static int mtk_tdm_bck_en_event(struct snd_soc_dapm_widget *w, @@ -282,6 +284,7 @@ static int mtk_tdm_bck_en_event(struct snd_soc_dapm_wid= get *w, struct mt8192_afe_private *afe_priv =3D afe->platform_priv; int dai_id =3D get_tdm_id_by_name(w->name); struct mtk_afe_tdm_priv *tdm_priv =3D afe_priv->dai_priv[dai_id]; + int ret; =20 if (!tdm_priv) { dev_warn(afe->dev, "%s(), tdm_priv =3D=3D NULL", __func__); @@ -293,7 +296,9 @@ static int mtk_tdm_bck_en_event(struct snd_soc_dapm_wid= get *w, =20 switch (event) { case SND_SOC_DAPM_PRE_PMU: - mt8192_mck_enable(afe, tdm_priv->bck_id, tdm_priv->bck_rate); + ret =3D mt8192_mck_enable(afe, tdm_priv->bck_id, tdm_priv->bck_rate); + if (ret) + return ret; break; case SND_SOC_DAPM_POST_PMD: mt8192_mck_disable(afe, tdm_priv->bck_id); @@ -314,6 +319,7 @@ static int mtk_tdm_mck_en_event(struct snd_soc_dapm_wid= get *w, struct mt8192_afe_private *afe_priv =3D afe->platform_priv; int dai_id =3D get_tdm_id_by_name(w->name); struct mtk_afe_tdm_priv *tdm_priv =3D afe_priv->dai_priv[dai_id]; + int ret; =20 if (!tdm_priv) { dev_warn(afe->dev, "%s(), tdm_priv =3D=3D NULL", __func__); @@ -325,7 +331,9 @@ static int mtk_tdm_mck_en_event(struct snd_soc_dapm_wid= get *w, =20 switch (event) { case SND_SOC_DAPM_PRE_PMU: - mt8192_mck_enable(afe, tdm_priv->mclk_id, tdm_priv->mclk_rate); + ret =3D mt8192_mck_enable(afe, tdm_priv->mclk_id, tdm_priv->mclk_rate); + if (ret) + return ret; break; case SND_SOC_DAPM_POST_PMD: tdm_priv->mclk_rate =3D 0; --=20 2.43.0 From nobody Fri Sep 25 00:01:21 2026 Received: from mail-pj2-f43.google.com (mail-pj2-f43.google.com [74.125.227.171]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id C85805172DE for ; Fri, 18 Sep 2026 13:40:50 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=74.125.227.171 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1789738852; cv=none; b=jBD86voG9U8i3qqMq9uSaoyqYJUQ9KF90x69p01h6sIh9LvvvipwWRUkdckUZzUTnX/eQbwVYMUw0LArkiQN9pBsY4YBM7/8co0oGKCG0FGQMe/uZGV7JJjAszCBlink5rgPTJgDeXrXhp4prw2KY6WbWrTcddOH18xch8UGHDI= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1789738852; c=relaxed/simple; bh=irQHW0C4GyDEHDwrxx67A3iFMFX666gydmDN+38lJvc=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=RzHB25/3u2JURyui1p+KoQdo0ja2Ua4jz9mWctj26uWuK4qXLm9ooTK1/sd/B9tl6pP7AScOlUlTKvmaSlJh3lm0T0PfzY3eQtH+d+ze4Qa1fyPYl0OJxxEk4nY5G93uFp6XZETsufNXjjuIwOmV0LrxsekZAN3biIwPPAjzF50= 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=jar6CboQ; arc=none smtp.client-ip=74.125.227.171 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="jar6CboQ" Received: by mail-pj2-f43.google.com with SMTP id 98e67ed59e1d1-396ccd5cf03so743883a91.1 for ; Fri, 18 Sep 2026 06:40:50 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1789738850; x=1790343650; 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=84KmttxwxJZo38Fsi4kV8h//UiHGZgZirQkHOuGC9Ho=; b=jar6CboQzXpkHfcMO37J0dtKTMakL/wbIWhqLOo0iah53Xzp6OrBT1bdcUiB1IakC+ QLIn4CECdOrnTlhkm3l2ocnw9yrqh2eAZlGUPSK+JJELCAHIbh+n0RHuDU+vHUU+ILlN 5Tsvew/LbYpLfZIpZDD38cYFoUx1ps4NbC/hpf8bN2yIQybZROm7PoVgUIs8T805D0SG VKeBw9zZZruDyq5Zi9Vhr5v5B6yPMA/rBFzuDWVuJIUV3uwD6vZf+iOPxgJ3uKEh5GRI apVbDbLdZYtsipI6zC/NL+XOeVrFLuYUProEneSHhOx/8BQkSkhhpFVELw/5e3TcGp06 YcMQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20260707; t=1789738850; x=1790343650; 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=84KmttxwxJZo38Fsi4kV8h//UiHGZgZirQkHOuGC9Ho=; b=o7JmC6t+vVEbHrfrzVvBB3OcSCKFwN78LVCJKsES5RdHVTzU9KZN1+K5taXxz11hli aGYkh6Csc+AWOlCGCMyRmupglXWkDQ/lA2aUklHk9FX55FyRJKh899VZIHZ/znrTc/p5 7ZaRXLQ0z+mAtqWkHBSq2ngkftvcdtymo3L++MSvivApPmNWNNrCu/8vrjx29wRccwbS ZBBUsl9eANy1dXUDBIAGTSbNp7wLxHJFjP0nTMBVBmVr/Yj9OStucinsL40Py1esrORS XqIiVJE359pGhTnaS66yxLM40+a08fBHcXlQHwUQIC0zlvO4bz7ncl3/5NGu3cKkmenG RGxw== X-Forwarded-Encrypted: i=1; AKwUvBx9yLI2ZmWHvmrXaOe0xtv1ubTc5Zy1glKX972p1xddklY/OojTdO9s8CsglOYxRIOPNNZgp7hsYI93BPo=@vger.kernel.org X-Gm-Message-State: AFuF++m5KVgN2pJtyAFkV0IrhcRXNZtT1FhjMVXuHzMTmfc9xeSnqKyY IvfzFnqnBjYg2bauhyiNzcHqIoeB4of+yVcHutCbQrO6mSnNfpzdbSd+ X-Gm-Gg: AYBFou16CMCUa3ahc8uGKzYmShA0joPVgvAgyS/VNe2dBK0rCxopSq2zXazjNH+NLxj hFebBu0W+FoihgijyLI5rqonBNdye8NEUoG9chuFpvkvrh1R1tKBJkrHEqLOICvO2GBMHhp7mWn yjh69BTadBcIQe+LqkUMQxBxZNmEK6GdjorrU+nGtoruuwP5aQW2JJtfondGxGysyp8N7sZZE3M /47iVlNap/9/R/AlqbXRLYlUgk36HzbHdeV1hnolQT9ODZ47zAYKrtqTe5kGUV1Iq/0s/SBeS6i U3BZpgGSE6MdTgrZPcCSBuQFEUy7tFnhYZCsAgJzK5iJfnlnGtrwKOozOcCD28P8GgZBDtaCtBI MuCfnbWI3YhBymL6KsTLXbTujm8yYDk0bF7jkvZXKvYD3jFomtPdX50Xo0Z5tCoSRzCR4UbPu2A O1AU5IJrOxeO8arujXgFAcqlI6s24snx2PF/poA0aX6KRCdem8LcKNifOfhMLDQSm5HBOVWZAcH 2RVbkPdNhGOGvZpjjxtkjvVFWGxUD+6K809kuAfUYRgLnMot8c2sBoL8KBZyftjRspP3xFDga99 KNpZvYhP5TmtXTuh5nk3p21n X-Received: by 2002:a17:90b:17c1:b0:398:e86b:ce14 with SMTP id 98e67ed59e1d1-39e54e3f526mr5588018a91.20.1789738849715; Fri, 18 Sep 2026 06:40:49 -0700 (PDT) Received: from phuc-desktop.. ([183.91.15.56]) by smtp.gmail.com with ESMTPSA id 98e67ed59e1d1-39e3617443asm13253792a91.9.2026.09.18.06.40.45 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 18 Sep 2026 06:40:49 -0700 (PDT) From: phucduc.bui@gmail.com To: Mark Brown , AngeloGioacchino Del Regno Cc: Liam Girdwood , Matthias Brugger , Jaroslav Kysela , Takashi Iwai , Kuninori Morimoto , cassiogabrielcontato@gmail.com, Linus Walleij , Bartosz Golaszewski , Mukesh Ojha , Jiaxin Yu , 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 14/15] ASoC: mediatek: mt8192: Propagate errors in I2S DAI DAPM event handlers Date: Fri, 18 Sep 2026 20:39:10 +0700 Message-ID: <20260918133912.133799-15-phucduc.bui@gmail.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20260918133912.133799-1-phucduc.bui@gmail.com> References: <20260918133912.133799-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, DAPM event handlers in mt8192-dai-i2s.c ignore return values from mt8192_afe_gpio_request(), mt8192_apll1_enable(), mt8192_apll2_enable(), and mt8192_mck_enable(). If GPIO configuration or clock setup fails during DAPM events, the error is silently ignored. Fix this by checking and propagating error codes properly in all I2S DAI DAPM event handlers. Fixes: 2c37b4ed730b ("ASoC: mediatek: mt8192: support i2s in platform drive= r") Signed-off-by: bui duc phuc --- sound/soc/mediatek/mt8192/mt8192-dai-i2s.c | 20 ++++++++++++++------ 1 file changed, 14 insertions(+), 6 deletions(-) diff --git a/sound/soc/mediatek/mt8192/mt8192-dai-i2s.c b/sound/soc/mediate= k/mt8192/mt8192-dai-i2s.c index 1632fc94776d..5608b534af0d 100644 --- a/sound/soc/mediatek/mt8192/mt8192-dai-i2s.c +++ b/sound/soc/mediatek/mt8192/mt8192-dai-i2s.c @@ -586,6 +586,7 @@ static int mtk_i2s_en_event(struct snd_soc_dapm_widget = *w, struct snd_soc_component *cmpnt =3D snd_soc_dapm_to_component(w->dapm); struct mtk_base_afe *afe =3D snd_soc_component_get_drvdata(cmpnt); struct mtk_afe_i2s_priv *i2s_priv; + int ret; =20 i2s_priv =3D get_i2s_priv_by_name(afe, w->name); =20 @@ -599,16 +600,17 @@ static int mtk_i2s_en_event(struct snd_soc_dapm_widge= t *w, =20 switch (event) { case SND_SOC_DAPM_PRE_PMU: - mt8192_afe_gpio_request(afe->dev, true, i2s_priv->id, 0); + ret =3D mt8192_afe_gpio_request(afe->dev, true, i2s_priv->id, 0); break; case SND_SOC_DAPM_POST_PMD: - mt8192_afe_gpio_request(afe->dev, false, i2s_priv->id, 0); + ret =3D mt8192_afe_gpio_request(afe->dev, false, i2s_priv->id, 0); break; default: + ret =3D 0; break; } =20 - return 0; + return ret; } =20 static int mtk_apll_event(struct snd_soc_dapm_widget *w, @@ -617,6 +619,7 @@ static int mtk_apll_event(struct snd_soc_dapm_widget *w, { struct snd_soc_component *cmpnt =3D snd_soc_dapm_to_component(w->dapm); struct mtk_base_afe *afe =3D snd_soc_component_get_drvdata(cmpnt); + int ret; =20 dev_dbg(cmpnt->dev, "%s(), name %s, event 0x%x\n", __func__, w->name, event); @@ -624,9 +627,11 @@ static int mtk_apll_event(struct snd_soc_dapm_widget *= w, switch (event) { case SND_SOC_DAPM_PRE_PMU: if (snd_soc_dapm_widget_name_cmp(w, APLL1_W_NAME) =3D=3D 0) - mt8192_apll1_enable(afe); + ret =3D mt8192_apll1_enable(afe); else - mt8192_apll2_enable(afe); + ret =3D mt8192_apll2_enable(afe); + if (ret) + return ret; break; case SND_SOC_DAPM_POST_PMD: if (snd_soc_dapm_widget_name_cmp(w, APLL1_W_NAME) =3D=3D 0) @@ -704,6 +709,7 @@ static int mtk_mclk_en_event(struct snd_soc_dapm_widget= *w, struct snd_soc_component *cmpnt =3D snd_soc_dapm_to_component(w->dapm); struct mtk_base_afe *afe =3D snd_soc_component_get_drvdata(cmpnt); struct mtk_afe_i2s_priv *i2s_priv; + int ret; =20 dev_dbg(cmpnt->dev, "%s(), name %s, event 0x%x\n", __func__, w->name, event); @@ -716,7 +722,9 @@ static int mtk_mclk_en_event(struct snd_soc_dapm_widget= *w, =20 switch (event) { case SND_SOC_DAPM_PRE_PMU: - mt8192_mck_enable(afe, i2s_priv->mclk_id, i2s_priv->mclk_rate); + ret =3D mt8192_mck_enable(afe, i2s_priv->mclk_id, i2s_priv->mclk_rate); + if (ret) + return ret; break; case SND_SOC_DAPM_POST_PMD: i2s_priv->mclk_rate =3D 0; --=20 2.43.0 From nobody Fri Sep 25 00:01:21 2026 Received: from mail-pj2-f12.google.com (mail-pj2-f12.google.com [74.125.227.140]) (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 14E0E5172CC for ; Fri, 18 Sep 2026 13:40:55 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=74.125.227.140 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1789738859; cv=none; b=Vk6oruwgxp7dPYrBVcS9t4lsc+bQDVA9p2PP3OAK79eIrK0qgLpVSuacr889fu57+anZ3Ql9zQ0XrS2zS3L4pOj/+Ew3JsCap8vY/24QdbppHn0Gy4h+jxSuCfNT6hufi8EtagjT3HVRGZQ0DktbcOn71cmX1Tpm1YSW6QdC0L0= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1789738859; c=relaxed/simple; bh=GNGNIrC4ZR1bsnFxd4Y9nTX3VMaDT+bQeH8lbriz1X0=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=r3CxSZGpXtp9jQTkFIY2lr3x46EWx9DtVsR+kDonbFCDAeJdmRrUACk5MVdkYi01p+cnYihmSmjbRs0mlRQxGszuuiJL8EwQmh/boBYVvu9tv2vdwM2LZLf0ItmlAgY4Dpg70lS69NBVR8lKJVX0yWui0uy/F2uvCkVjWFS7xM4= 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=EMxuhM+A; arc=none smtp.client-ip=74.125.227.140 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="EMxuhM+A" Received: by mail-pj2-f12.google.com with SMTP id 98e67ed59e1d1-398cb5615deso828664a91.3 for ; Fri, 18 Sep 2026 06:40:55 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1789738855; x=1790343655; 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=8LClDxrITmybPw/RDvdGi/ZCnnnT6FM/8jbV0TZBMMY=; b=EMxuhM+AoTnleJ/82eqgpYNNiDm8vJsTHeYx6YVZEc7aFYDSxOzp2s5QTc2CIzIMtt iAAksvs8EQ+WMYtUiewclSzLmAZ1EB74dh/bgwM4u+xocDrpaSOKAVFvUnlrbam91qS/ OTnnmvj+tx/GJYG2iAt/IEpp8tE/LC9lnzteC6LujUL3O4kSY1lDexnxq0GOextiBqgo Xh8huYpmzkq2BoPJKb9Vhq5FLXNOB1qE2ZkGFIzTGwQqGze5hCIf1iCAITCePScb2/wT NaA8J8L+zm8A1N1xmcqKJceiZKMBsiGk59qZvTqsROoeKEv/58utYjPrINbX5S8CiXcs 7DLA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20260707; t=1789738855; x=1790343655; 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=8LClDxrITmybPw/RDvdGi/ZCnnnT6FM/8jbV0TZBMMY=; b=m1XN4mvTJgzCmlmuo5Wo9V1FJGb9YpZo61uFBT2gw2QnM4nK6P55VDmJzcvI2K31pJ NkEuOg2ivoiEzL0NxfZIN7MaxjKqFZwLIM8YgWb6N76nq8zU0c+bkX6y27mq0PvitYxs wzmHtH147e0Z015bCXBN7fftsafPbHg9QRXCNBFrGInmj2p4bifH7dlqz9+iZD4TkXDY 4H0e9ScLvOZr4M9UTmmXJ0TqaxrdaPO4DXK/y3fVAVvfAWR9CPDMusyygodHNygzBsQw QtgIko9lTIJ/pqsZAh5fwUl/tFOeZXJewwhH3BKFn9hFPDrpXMR6qUME6iL5OSdvU76G aZcQ== X-Forwarded-Encrypted: i=1; AKwUvBwuxhLd+yYpIoyRRBxoWyt57VHYFzv8eVu3KeEsnU0+eE7DQn3QvtUw+gJtevz9SaM3C886wG8Aq9gL0Ss=@vger.kernel.org X-Gm-Message-State: AFuF++luZ5vl8D3r1J/qYMEoIw3RbaBKSccYfwhUdW/+x6JWL5kAHMuc SSY8ssGeqTvuRndj722qVEFLLlCRQFwOQBBRLb5rR3q6wz8ao7iZoYlf X-Gm-Gg: AYBFou3e2hX7b+eOt99rXMJy0yfEsf7tqciProp69D80rSGuXVA/ed9O163ndxrS5wX KMeM3gL0WWLqZ90/NcGyUYY+mMNiUbDU+S+N4fu1SUgXUyhTW3SYwHB76RvIr/wQgyZ2YSaEEs9 wqDd1tcde3Ky2rsuLhPO6WJ5liAVi/q8k+CuC3octZAnrGBYNEa0GdY+1uUUOuvYKR1+r6+fqZZ c/wzR24ghc/89P1gRjmnc1rRGfApqHP+tAdb0Vx1uRHsnA4UBp/BFZROZ9dYqLjtFk1w7QZCTqA bIwLHFAqk9D0zaD96Ha3jN2uWbvChRHpvfqL216h3miHvIaJCWQGzca50Yxz149flCOwooNqub9 QQUjGc2z3bv/Hxp75qpoeSM3wif6kNU0s/5ad8v1X+C7Vr2Lf/dqLcQRAq0zpBZXzFz77x/tyuP JPP49YJFexmJN0cPTpafmW2mlgRfxAKomXxCw9m7fB9SxsMAL1EzjrKW/y4j2T8jbo7N/ryirZn VQm1OyD3LmEVr4qcjxm5IhdNH2DoPy2cYGPqT5o0Aqno7H2f+A4hpnFMlW8iM6bk80Tb/vDep2k uxVea6+3tS+4UQ== X-Received: by 2002:a17:90b:53c4:b0:39e:d2a:e2dc with SMTP id 98e67ed59e1d1-39e54d1ea4dmr6218148a91.12.1789738855077; Fri, 18 Sep 2026 06:40:55 -0700 (PDT) Received: from phuc-desktop.. ([183.91.15.56]) by smtp.gmail.com with ESMTPSA id 98e67ed59e1d1-39e3617443asm13253792a91.9.2026.09.18.06.40.51 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 18 Sep 2026 06:40:54 -0700 (PDT) From: phucduc.bui@gmail.com To: Mark Brown , AngeloGioacchino Del Regno Cc: Liam Girdwood , Matthias Brugger , Jaroslav Kysela , Takashi Iwai , Kuninori Morimoto , cassiogabrielcontato@gmail.com, Linus Walleij , Bartosz Golaszewski , Mukesh Ojha , Jiaxin Yu , 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 15/15] ASoC: mediatek: mt8192-mt6359: Fix error handling in MTKAIF calibration Date: Fri, 18 Sep 2026 20:39:11 +0700 Message-ID: <20260918133912.133799-16-phucduc.bui@gmail.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20260918133912.133799-1-phucduc.bui@gmail.com> References: <20260918133912.133799-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 mt8192_mt6359_mtkaif_calibration() ignored the return values of pm_runtime_get_sync() and mt8192_afe_gpio_request(), which could leave PM runtime references or GPIO state unbalanced on failure. Switch to pm_runtime_resume_and_get(), check each GPIO request, and unwind on error. Fixes: 18b13ff23fab ("ASoC: mediatek: mt8192: add machine driver with mt635= 9, rt1015 and rt5682") Signed-off-by: bui duc phuc --- .../mt8192/mt8192-mt6359-rt1015-rt5682.c | 37 +++++++++++++------ 1 file changed, 25 insertions(+), 12 deletions(-) diff --git a/sound/soc/mediatek/mt8192/mt8192-mt6359-rt1015-rt5682.c b/soun= d/soc/mediatek/mt8192/mt8192-mt6359-rt1015-rt5682.c index c86348691641..b010726e9b57 100644 --- a/sound/soc/mediatek/mt8192/mt8192-mt6359-rt1015-rt5682.c +++ b/sound/soc/mediatek/mt8192/mt8192-mt6359-rt1015-rt5682.c @@ -163,12 +163,23 @@ static int mt8192_mt6359_mtkaif_calibration(struct sn= d_soc_pcm_runtime *rtd) int chosen_phase_1, chosen_phase_2, chosen_phase_3; int counter; int mtkaif_calib_ok; + int ret =3D 0; =20 - pm_runtime_get_sync(afe->dev); - mt8192_afe_gpio_request(afe->dev, true, MT8192_DAI_ADDA, 1); - mt8192_afe_gpio_request(afe->dev, true, MT8192_DAI_ADDA, 0); - mt8192_afe_gpio_request(afe->dev, true, MT8192_DAI_ADDA_CH34, 1); - mt8192_afe_gpio_request(afe->dev, true, MT8192_DAI_ADDA_CH34, 0); + ret =3D pm_runtime_resume_and_get(afe->dev); + if (ret < 0) + return ret; + ret =3D mt8192_afe_gpio_request(afe->dev, true, MT8192_DAI_ADDA, 1); + if (ret) + goto err_pm_put; + ret =3D mt8192_afe_gpio_request(afe->dev, true, MT8192_DAI_ADDA, 0); + if (ret) + goto err_disable_adda_1; + ret =3D mt8192_afe_gpio_request(afe->dev, true, MT8192_DAI_ADDA_CH34, 1); + if (ret) + goto err_disable_adda_0; + ret =3D mt8192_afe_gpio_request(afe->dev, true, MT8192_DAI_ADDA_CH34, 0); + if (ret) + goto err_disable_adda_ch34_1; =20 mt6359_mtkaif_calibration_enable(cmpnt_codec); =20 @@ -289,10 +300,14 @@ static int mt8192_mt6359_mtkaif_calibration(struct sn= d_soc_pcm_runtime *rtd) =20 mt6359_mtkaif_calibration_disable(cmpnt_codec); =20 - mt8192_afe_gpio_request(afe->dev, false, MT8192_DAI_ADDA, 1); - mt8192_afe_gpio_request(afe->dev, false, MT8192_DAI_ADDA, 0); - mt8192_afe_gpio_request(afe->dev, false, MT8192_DAI_ADDA_CH34, 1); mt8192_afe_gpio_request(afe->dev, false, MT8192_DAI_ADDA_CH34, 0); +err_disable_adda_ch34_1: + mt8192_afe_gpio_request(afe->dev, false, MT8192_DAI_ADDA_CH34, 1); +err_disable_adda_0: + mt8192_afe_gpio_request(afe->dev, false, MT8192_DAI_ADDA, 0); +err_disable_adda_1: + mt8192_afe_gpio_request(afe->dev, false, MT8192_DAI_ADDA, 1); +err_pm_put: pm_runtime_put(afe->dev); =20 dev_dbg(afe->dev, "%s(), mtkaif_chosen_phase[0/1/2]:%d/%d/%d\n", @@ -301,7 +316,7 @@ static int mt8192_mt6359_mtkaif_calibration(struct snd_= soc_pcm_runtime *rtd) afe_priv->mtkaif_chosen_phase[1], afe_priv->mtkaif_chosen_phase[2]); =20 - return 0; + return ret; } =20 static int mt8192_mt6359_init(struct snd_soc_pcm_runtime *rtd) @@ -319,9 +334,7 @@ static int mt8192_mt6359_init(struct snd_soc_pcm_runtim= e *rtd) afe_priv->mtkaif_protocol =3D MTKAIF_PROTOCOL_2_CLK_P2; =20 /* mtkaif calibration */ - mt8192_mt6359_mtkaif_calibration(rtd); - - return 0; + return mt8192_mt6359_mtkaif_calibration(rtd); } =20 static int mt8192_rt5682_init(struct snd_soc_pcm_runtime *rtd) --=20 2.43.0