From nobody Mon Jun 8 08:30:34 2026 Received: from mail-pf1-f175.google.com (mail-pf1-f175.google.com [209.85.210.175]) (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 CF194477987 for ; Thu, 4 Jun 2026 12:55:31 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.210.175 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1780577732; cv=none; b=Usenr6Bc+IDL1uSe9HMWncOFxsqNA/++VLRG5+eJ5FM+aEXIQg5Y1JIBlreP3VSVFfjzNnEUwEGx+eI/1N3boaPPCU4pMiNcZW7tSCg4j6y2THgf1sdlgUkGrW3tVMuHatks2sf1RTnOCPDSrVLJQN4ytToOgUfvoaW7+2oaQ+M= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1780577732; c=relaxed/simple; bh=n11I64gZBjjcqfTwfX86YPYIxJFDZB/LL+PUWPFj60s=; h=From:To:Cc:Subject:Date:Message-ID:MIME-Version; b=pHgeQs6KrxBpISFKgGZNIGrYxn7h4PhoH4lp18HsXrVD+LNVByD2hDhqUNQ0mfQp8AlQBfJdAOvU8g3Nls2CJJg4S69aEuBVk7MP6rIUYLz/h5QWfQNXyzM7wGwiQU2FaihoKhuuzRWR2TzS4J9CSZuqieRKWvyOrILqHpKwswQ= 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=jpovDW54; arc=none smtp.client-ip=209.85.210.175 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="jpovDW54" Received: by mail-pf1-f175.google.com with SMTP id d2e1a72fcca58-8422524cb38so208924b3a.0 for ; Thu, 04 Jun 2026 05:55:31 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1780577731; x=1781182531; 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; bh=7neDKPTR04+j9kKwXyGm7dQHLkLVmAT3GqkBDxWbPuU=; b=jpovDW54BT02EutkaXAml1RbMZt4pbWKjl3zPPf2zDVYK3XKpXGl9cZCkkJCrD8ahT 5itBTHbw42xlTPitIxF9/YFXs2ZueYlGWckqcxQi6WdTxtGD7uaGV6O6JEHhXqg+ylt0 iuzMJ+jfqxFOVXMZFbq8IygUBNqX6ak9Toezs6fqaAs1vMlGAUMftR7jc9FyFWeHUeK0 PXeGHS1tZV4PROrXacXyQ7mde0oGECWpnvPdPGg8IQq72rybrJSv++voAhVPvCWU78bh VdPIJC2E3vlYLmeMkT6WzOK1pA3tUsUs5RDssiqoymKdiHLQKMft6RZfcZVn+cgthioU N+sg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1780577731; x=1781182531; 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; bh=7neDKPTR04+j9kKwXyGm7dQHLkLVmAT3GqkBDxWbPuU=; b=pP1YsBn4LlIYQ7k96CEx5e3xnP7PYTAnWmOxEQk29X/nYuO2vN2Jj/mSKBRJJZJ6MV jsrNfJMN2hdqurJpq5LpX+uMOb/s8jwVod/lC5etRTHiImj/D8PCRBTjzWC1DhtGENnb SW/LE1QUeYufdeePj2pDM5amekAbJQbWd8ZzmyDbpo9bpnDsqUmfrMdVrTYqDp6NYoep Q2T6OYohj9lV+98YoaREHe0RnHdC9sYB16K4aaOgDtc3x3hKJ2YcBCNH+p2A/8ruQRD5 hyQnJUGAD/qC83UWqWrutgP5uadJNqHHxjxZ+bMX8+zeyeG5etI1vTdTwk79glsVXvFp 3uZA== X-Forwarded-Encrypted: i=1; AFNElJ+rEn9L/A0rijA+EkqL08bJs/2BKNEJ2Xk6xQ7owIm43mf5ziaZqZDzxPTZbQAcasrI8x8J8k5gTPxLcQ0=@vger.kernel.org X-Gm-Message-State: AOJu0Yzkl3dPno3vL5vl7EKsW2mf6uiEbPCMzEFyQw1IjPzGBG0yYP8V jGHZ2k6IjnXDNqxtAIOYMgyD6Luxn5FVZZnU/0EKj9POCzh36+CH2xSk X-Gm-Gg: Acq92OGH8jIGq9RmSvfMcds9hG2Xlpc37G1DIb4tvjrcuOIBP5G7ErUaVmlYezJcLDA dC6h3WHIgVatfrMUrdMhBXH48cmXiaICHTMotMtzfBRZIYGZ1/E42jwvCi6aYhv01iFlnGEOOtq b0+JdsacaSueX2ywQgRk4Eq8zZ1snufCRMkk4ee4WbVKdPan43+TLDXn3tGLAw5qXNUN12Fe6nF 8yx1uV9m1J0eKZhmfLP7nM5+zXDOadYa4PNPfbNshSxk9hdGp+P18LpKgbcRGlcjB+9aIax6agG wj5Swn+t3zsf2I6pK/7nRoYBrM4wWvgvgsM5prQN6NuvzeeJ4HrTS8aZnNQ9sFenkHxPuEZirUX spDOCLxr1D5CtOaq5u//KrYngnKAY1ZZPhXu4jEmqvq4G622nsxax1KsNJOGoe6WfLjRTT3zj3I pYRfuilQcSsKDnIU408bDC/Bs= X-Received: by 2002:a05:6a00:84b:b0:842:38c7:9925 with SMTP id d2e1a72fcca58-84284deb651mr7603656b3a.2.1780577730957; Thu, 04 Jun 2026 05:55:30 -0700 (PDT) Received: from lgs.. ([118.193.33.13]) by smtp.gmail.com with ESMTPSA id d2e1a72fcca58-842828821ddsm6165694b3a.35.2026.06.04.05.55.26 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 04 Jun 2026 05:55:30 -0700 (PDT) From: Guangshuo Li To: Lars-Peter Clausen , =?UTF-8?q?Nuno=20S=C3=A1?= , Liam Girdwood , Mark Brown , Jaroslav Kysela , Takashi Iwai , Jihed Chaibi , linux-sound@vger.kernel.org, linux-kernel@vger.kernel.org Cc: Guangshuo Li Subject: [PATCH] ASoC: adau1372: Clear PLL_EN on failed PLL lock without reset GPIO Date: Thu, 4 Jun 2026 20:55:20 +0800 Message-ID: <20260604125520.1428905-1-lgs201920130244@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: quoted-printable Content-Type: text/plain; charset="utf-8" The PLL lock failure path in adau1372_set_power() unwinds by putting the regmap back in cache-only mode, asserting the optional power-down GPIO and disabling mclk. adau1372_enable_pll() enables CLK_CTRL.PLL_EN before polling the PLL lock bit. If the lock fails on a board without a power-down GPIO, the error path disables mclk and returns an error, but leaves PLL_EN set in the hardware register. The normal power-off path already handles the no-GPIO case by explicitly clearing PLL_EN. Mirror that cleanup in the PLL lock failure path and clear PLL_EN while the regmap is still live, before switching it back to cache-only mode. Fixes: bfe6a264effc ("ASoC: adau1372: Fix clock leak on PLL lock failure") Signed-off-by: Guangshuo Li --- sound/soc/codecs/adau1372.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/sound/soc/codecs/adau1372.c b/sound/soc/codecs/adau1372.c index d7363f9d53bb..879afeb81c42 100644 --- a/sound/soc/codecs/adau1372.c +++ b/sound/soc/codecs/adau1372.c @@ -813,6 +813,11 @@ static int adau1372_set_power(struct adau1372 *adau137= 2, bool enable) if (adau1372->use_pll) { ret =3D adau1372_enable_pll(adau1372); if (ret) { + if (!adau1372->pd_gpio) + regmap_update_bits(adau1372->regmap, + ADAU1372_REG_CLK_CTRL, + ADAU1372_CLK_CTRL_PLL_EN, + 0); regcache_cache_only(adau1372->regmap, true); if (adau1372->pd_gpio) gpiod_set_value(adau1372->pd_gpio, 1); --=20 2.43.0