From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mail-pj1-f49.google.com (mail-pj1-f49.google.com [209.85.216.49]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id ED5EE442390 for ; Wed, 19 Aug 2026 10:17:55 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.216.49 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1787134678; cv=none; b=Fr7RYUBFt/QMpn8Ajo1947j2k93o6sxfwfTaDq2C6rYKKsm3QInVeuuC9D82ZPgirtFCSorOVHaraXKi31O+IpHdIJZRohHVzKfF4zIkAYOs5x7jVxYdEQnphxS8c0NVAOrdM4rHfGDp2qPj5TLmDmmVdarjHlu1xhzEp72hg8Q= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1787134678; c=relaxed/simple; bh=6q2VCmp59wx4RbEU5Nr2z8JZDX/7Mxvtm/ZWyugcxIQ=; h=From:To:Cc:Subject:Date:Message-ID:MIME-Version; b=LgHzF8EY8Uvf8iJPcbglMbL3i+BMFY09OPbn+4Up9SGv9mU/ZLd1bNsXp0mQleRJ3lPn0LBYVdkmVZCW3/S0lBymez714BjQ2BTkGwWQaiNDA+nDIsN2IkvhIJvnvCeRMZBlU0jQcpOaY78SHROrMsqfp8MztmCo+Pu96o/f1Mk= 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=AigN2PlI; arc=none smtp.client-ip=209.85.216.49 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="AigN2PlI" Received: by mail-pj1-f49.google.com with SMTP id 98e67ed59e1d1-38511175ad3so851585a91.2 for ; Wed, 19 Aug 2026 03:17:55 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1787134675; x=1787739475; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:from:to:cc:subject:date:message-id:reply-to:content-type; bh=/xNynUBdZ1hKic7P/IiQFiODLJooKh+/AvfbqzXkgn4=; b=AigN2PlI6Giq1e3V/eHRWKbaG+6vpeFCM2cy72tqglHui2LZgpMdbwnn1my+mJg+Ib h68H7uGCVYuotVHQm4ZUS2p0HHgIDQ9T19ePEHgjgP6KHGCNXne+oz4tbyWc7GYxk/Q5 +Uc9uLAQvisff00THC3bLXmQ5GBFVc2B7n+XNyUa97XoF9HnvkRti6GMWJ1T8Ku+CVPB bRjXcqDCdbvcB6Wzt+0DZL9V+O1KAQBK0uiYQ98itIZBCT6TAXs5V9QGQoIYYX/a6cDf 1Ik+m2sfBHgoKjfqPMDg46Lu+OZRF9vRziDZDZ5ERJVe0ytuC4evtBKeP5/cyrkdA10Z BwDA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1787134675; x=1787739475; h=content-transfer-encoding:mime-version: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=/xNynUBdZ1hKic7P/IiQFiODLJooKh+/AvfbqzXkgn4=; b=KDvHG9KQURYW+4lSadQpqCnNKk7SmsP2q1lHClebJ8Q3TvSipzqc+renqe92aokPhp XS57R/vVf3zXuqcqdurBo0Rbbrwe8pBZnxS3AeAzVdJj+VLh3P9ZhVFADpLuQcvZ11Ue xpKIo48m7wiUqA2xCLwOA2mjD39cMgWIQ3+5kFezBsXDuwujWY2SmFYPsYLyfWNXOsdl sy+NDSYPVgxY/vP4Y7dlK/8g/2YVQ4qhbM5MKdRV9LaI+C7iVxBzH1jlj36sqVI/4Lek FWfDN+k8o0ZIeuf5/ipjiEsLOiZPX057xopELFqqdpcjDN83DNt2q6Ls85iSSUepe/k/ BI7Q== X-Forwarded-Encrypted: i=1; AHgh+RpaCmv3wT7Ah+fOMAUwNy2TlkiS/Y+ZayPv9trOhCpddN/Fp6TnAATWbxmdI/+WMVfSkgvwCBo5JlfqFBM=@vger.kernel.org X-Gm-Message-State: AFuF++k+WLyHK1+C3Is6tqRgHI4LgADPm0JCxvFRHZq5oPMvos1VJCtg Sj2T5323gnW2E6zbg4/rECVikwldY3cNLhxyMrEk3sLQyDAlXirDXalP X-Gm-Gg: AR+sD10vezliafLsrhOZlYSktzBqAOl6wYN1x1FBEPlQZRppbQhfbHSIhwuoZsMhwbj P269/DIx0Gp7jpZ4w60slXjzS80wQRRXlXVa6W6jEIHVs5LBBkP9Itlhu1pje9Knh6uS0PYdmAg 8iW0pz1EA2NCnFc3dTwA6iAZ6jSzhbgQK/Djb0uxsiCTsx+DjvC8o8Wk+Sej5d5hsUOnp2nebxG 7Xu8p16D43TDXsjHTP7v7u80Q0dRUIqrtd8svmyAJR3kTBRBVqklAIoL2RfXpCJ1RZt1mFvZYMc YanzYHl6yjmK6kHLqOLMqeqG48rhFzVgnSioajSr9CXQL1UTjSVoa+C+bTtoqeu+L0yAe5GHiOU R33ieIax+KbBmG4yhskL2/4A+dRQ51eSe56l8skyXdObJzOFqZjWf9HW7Rq7af7d0GGk8EAxSNh 8hUUskg29NTYxZAl0mtTxErphfzf1N7yBkWb516LmGm8UFcN5DrfVQogtaEZEwvT3LxLzWZktLh cyWFxJlfoyWoCphA7Ma7luBp75lNwGYqtoNAUbZ1auIRV5nIDFtveN6l7nQ1/H+HsJyJwYgMOAj l0os X-Received: by 2002:a17:90b:4ac9:b0:37f:ed7e:7e42 with SMTP id 98e67ed59e1d1-395810cad6amr6268601a91.14.1787134675189; Wed, 19 Aug 2026 03:17:55 -0700 (PDT) Received: from phuc-desktop.. ([183.91.15.56]) by smtp.gmail.com with ESMTPSA id 98e67ed59e1d1-3957fb60a2bsm2222374a91.17.2026.08.19.03.17.51 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 19 Aug 2026 03:17:54 -0700 (PDT) From: phucduc.bui@gmail.com To: Mark Brown , Matthias Brugger Cc: Liam Girdwood , AngeloGioacchino Del Regno , Jaroslav Kysela , Takashi Iwai , Cezary Rojewski , linux-sound@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-mediatek@lists.infradead.org, linux-kernel@vger.kernel.org, bui duc phuc Subject: [PATCH v2 1/3] ASoC: mediatek: mt6797: fix wrong unwind order and error code in enable_clock Date: Wed, 19 Aug 2026 17:17:34 +0700 Message-ID: <20260819101736.67632-1-phucduc.bui@gmail.com> X-Mailer: git-send-email 2.43.0 Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: 8bit From: bui duc phuc The error paths in mt6797_afe_enable_clock() use incorrect goto labels, causing clocks that failed to enable to be disabled during cleanup. Fix the goto labels to only unwind clocks that were successfully enabled, and return the actual error code. Signed-off-by: bui duc phuc --- sound/soc/mediatek/mt6797/mt6797-afe-clk.c | 14 ++++++-------- 1 file changed, 6 insertions(+), 8 deletions(-) diff --git a/sound/soc/mediatek/mt6797/mt6797-afe-clk.c b/sound/soc/mediatek/mt6797/mt6797-afe-clk.c index 6f3e6acfcfab..0ac04d73b777 100644 --- a/sound/soc/mediatek/mt6797/mt6797-afe-clk.c +++ b/sound/soc/mediatek/mt6797/mt6797-afe-clk.c @@ -63,21 +63,21 @@ int mt6797_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_AUD], ret); - goto CLK_INFRA_SYS_AUDIO_ERR; + return ret; } ret = clk_prepare_enable(afe_priv->clk[CLK_INFRA_SYS_AUD_26M]); if (ret) { dev_err(afe->dev, "%s(), clk_prepare_enable %s fail %d\n", __func__, aud_clks[CLK_INFRA_SYS_AUD_26M], ret); - goto CLK_INFRA_SYS_AUD_26M_ERR; + goto CLK_INFRA_SYS_AUDIO_ERR; } ret = clk_prepare_enable(afe_priv->clk[CLK_TOP_MUX_AUD]); if (ret) { dev_err(afe->dev, "%s(), clk_prepare_enable %s fail %d\n", __func__, aud_clks[CLK_TOP_MUX_AUD], ret); - goto CLK_MUX_AUDIO_ERR; + goto CLK_INFRA_SYS_AUD_26M_ERR; } ret = clk_set_parent(afe_priv->clk[CLK_TOP_MUX_AUD], @@ -93,13 +93,11 @@ int mt6797_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_TOP_MUX_AUD_BUS], ret); - goto CLK_MUX_AUDIO_INTBUS_ERR; + goto CLK_MUX_AUDIO_ERR; } - return ret; + return 0; -CLK_MUX_AUDIO_INTBUS_ERR: - clk_disable_unprepare(afe_priv->clk[CLK_TOP_MUX_AUD_BUS]); CLK_MUX_AUDIO_ERR: clk_disable_unprepare(afe_priv->clk[CLK_TOP_MUX_AUD]); CLK_INFRA_SYS_AUD_26M_ERR: @@ -107,7 +105,7 @@ int mt6797_afe_enable_clock(struct mtk_base_afe *afe) CLK_INFRA_SYS_AUDIO_ERR: clk_disable_unprepare(afe_priv->clk[CLK_INFRA_SYS_AUD]); - return 0; + return ret; } int mt6797_afe_disable_clock(struct mtk_base_afe *afe) -- 2.43.0