From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mail-pj1-f48.google.com (mail-pj1-f48.google.com [209.85.216.48]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id ABCD83B2FFC for ; Mon, 17 Aug 2026 11:33:06 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.216.48 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1786966387; cv=none; b=ePaJC4J1ZSebu8X+L4c7TUhq1YJyCcKBRkMrPXmuXjWZnsuUKKVMbf9463YNcDhU5tB6id86Or69CdzHhkVeOQZLTfycAijddojUj62D71VJR3pu9WttH75Nv8lJSd21ovzkxlmwpmnJuNApFq35bQ5a/FAUBVQob3UeLdaH3W4= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1786966387; c=relaxed/simple; bh=6q2VCmp59wx4RbEU5Nr2z8JZDX/7Mxvtm/ZWyugcxIQ=; h=From:To:Cc:Subject:Date:Message-ID:MIME-Version; b=awpMgwMKKEI3YcloFIkHX2TCL+ixrIGgvxNFtTNQm8dYZ52Gai9rQ7vcXUd64yFtY9R+/CheGCVqUP2EjJd7Gb/WjR1WCLCckfulxvAdo6yNF+yiAI8BMAMAiewRsTk0r+SvfAkhMok2CVPxrEw4SzZm5Jm6vdUQiIKiv14vajg= 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=XXo84Mjl; arc=none smtp.client-ip=209.85.216.48 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="XXo84Mjl" Received: by mail-pj1-f48.google.com with SMTP id 98e67ed59e1d1-38deea72eebso3215085a91.1 for ; Mon, 17 Aug 2026 04:33:06 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1786966386; x=1787571186; 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=XXo84Mjl1ZTKiaKqekNsvZftJe/J2piKhD/RI5Yt8kK05+WA7qD3OljVJ4U9pDQ5hq i2mndPQtCAukyIiS3vJbNvDZHPlUr43mleYTKpvD6erX62Migym5BQzcu+L/n+9123UJ uurF/pxsh2qfivCzfC+daD2Kc34Oih3h0GVBNaWEakbB1gXQHjmlWYL7WACycG204t4h sU/OQrb2AiPDifW3KIPpnRZKFO+bVEOsTFGfLt4LyzhsFSzFbOpU1a894ETzrf49YjZD BX8Bd68Yy8gOBLLEZCkW81dWttwq3SPTVmhvdfm4MKpQeVnt1tjGvxndrvFO9qFptaBl fC/g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1786966386; x=1787571186; 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=QgZlKBVigVY/RgqF00Jd/zBsFjkXjE7k8m+DL49OtxW4RTkQatXYwe2CWPIm0LSSXI cxqo6NI1/ZpY/GnkVba6IWUO90qEorC7jF3sD1iKUW2w4ej3h8irIm1EEO143Nl6sXfe DVmDDA26cRkpqzNh5XfwsiBkiD10VcY2pK2wv00WK0iJ+wSQ6kvQcuJ5LKDy7xpk1wmY RFsUN800SKIt2Wa5kX1Hw7ncwweSj8ip27lGeLM30HnWygwCZ1g8jX27xWhFc643a2Jx xEF35vuLTYw4BObVSFt/r2oJbgrLLGkMZhdHL+GQbnFsH4yJN4plwENeC5TZASgPmXD4 d1zg== X-Forwarded-Encrypted: i=1; AHgh+RotsX+VJ21mRZuSkKW22wBXJa36H/jJJ9uJp8VGnbIPEUzYUex5AgLjoijkkQBmp4v4gA8F6EcyNe8m1SI=@vger.kernel.org X-Gm-Message-State: AOJu0Yw8Ol5sP2UJr0h+pNdMSJFoyNwNTW6KgTBxc2su/xomt8snUBsb Orqov8MLW6Snzuik50XihNe5QhLIoAb0iAw5qN88TfYBIbAhnJK+uh+7 X-Gm-Gg: AR+sD12ScnygPPrLOLDqstlteCjIPBOr6OnTC9c4oNZsFLqvsD2UQ9NPOMtxrjl5iEw KqIB772cjlDHPIPLGDGD0KPrGNpoeU+ZEFO18nPbcUK+RejAFeIXwOBD+QYEUCdsGfFpt2/60MR WJf2VilKWzgxHDy6DxlDkHnnyvWOQeR9BUwXMzv2B6tby8YRdFcoMTrjyEMqaRej6gmU6yvTMzy b3Xp69grjBU2TSvFWqPWSnzc7zT9kq2nUjsbWmtphBVVXLPQhNkbZVy1xk19kymaPowz/BySAXs TmMHImtCH5WNvvM9SuJEjRUUaSAjlpG4qBdegUHzMd9TJ5aaIST7R690C1jgEWcpm/3MwIpnKXj 4TG2ovR7GuA0rpAoRy8mbCpvSimO0CWJZNs6BeCLiRQ3OWbT0qf5B2O5WRnXe2LVo4Y0l2I0OGl aX+fRBsB5KIEtoPAj4M0g+xJKwE7mnxDvbq9a4Zsb5PLdzhozwg97ou19GGvhgs02DouFdZ6/1V aXDZUMJzacrxtz1D8c9y0PPP4NWkKFcJ5SeaZJU1wNYowN5LBVcdfNsMGmlbZ2bMsnnqvq7gk1v TmYm6zQDgzWEXLk= X-Received: by 2002:a17:90b:17c5:b0:36b:bec8:94c5 with SMTP id 98e67ed59e1d1-3933b874ad6mr23181975a91.10.1786966385953; Mon, 17 Aug 2026 04:33:05 -0700 (PDT) Received: from phuc-desktop.. ([183.91.15.56]) by smtp.gmail.com with ESMTPSA id 98e67ed59e1d1-3954d3b3b91sm2071705a91.13.2026.08.17.04.33.02 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 17 Aug 2026 04:33:05 -0700 (PDT) From: phucduc.bui@gmail.com To: Mark Brown , Matthias Brugger Cc: Liam Girdwood , AngeloGioacchino Del Regno , Jaroslav Kysela , Takashi Iwai , linux-sound@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-mediatek@lists.infradead.org, linux-kernel@vger.kernel.org, bui duc phuc Subject: [PATCH 1/3] ASoC: mt6797: fix wrong unwind order and error code in enable_clock Date: Mon, 17 Aug 2026 18:32:47 +0700 Message-ID: <20260817113249.69252-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