From nobody Mon Jun 8 04:15:28 2026 Received: from mail-pl1-f182.google.com (mail-pl1-f182.google.com [209.85.214.182]) (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 23F1C3DC4C8 for ; Tue, 2 Jun 2026 13:14:39 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.214.182 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1780406081; cv=none; b=gSojjtDvqNr3Cfvz1VSQs9mgU1w6PgrdVuiMeekKRVf6p3abh4xHH4THl4/FQt9VntZk7FuE2QYxrVJl+ZR2i2eMoFFfCOiatbzQ9BO418FMbA4EC0hv0Jo8PCrpXSwWHwW6f0Jqte5LLANAbGzpIhLjZmDjKyfbtcQ5u6UZEBg= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1780406081; c=relaxed/simple; bh=2P56B+ZQr3CMN8Q55LeqttmN2FV6MnYrkE4+rKOUiPI=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:To:Cc; b=tJO6sL0+mNilG5yTJg1NU+KKmrx8bsRD449hUHVc3q1O1Li+brWC7fWRMnNKps70P8CyBuAo/GPyuiBDSF8Cu6ehqOUZIqiE5WBsP/Hp6521fxYN08GU9j6ga94ndDXuaQV29nWQbxIjkTtaNbj+b3RXvZ8Gv66SlMRzRh03BUY= 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=Tpx8DYnn; arc=none smtp.client-ip=209.85.214.182 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="Tpx8DYnn" Received: by mail-pl1-f182.google.com with SMTP id d9443c01a7336-2bf3781ca51so32225535ad.0 for ; Tue, 02 Jun 2026 06:14:39 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1780406078; x=1781010878; darn=vger.kernel.org; h=cc:to:message-id:content-transfer-encoding:mime-version:subject :date:from:from:to:cc:subject:date:message-id:reply-to; bh=m1KVnd1R5IOEaVntsRV6w5ohh6MM9xtfcSuVzw7+bPI=; b=Tpx8DYnn0rIoCf4qSKI5r/YK9fqjO1QLyk5D7rOrX8MJ0j05LwX2tdTX9XxEdjPtLl uFKxQ/sGXodWYviRL2yjTIthO4mBqk54zx6rFNMenNiFvLO3w5ds71k/lrFFCOrgpVur QD3hhpEH7ySL/7z+YfS7QTy2zjPXLU1hlat4opclg5qAA4TKLcKKHJzcI0ax40AbnM+e VN1uk0KKJqlQVI7Zdn2alIhgq3lRTfPTCUGF57/GHceJm8S0On/xxjOKZvnqZozaMZCh 3S54S7Aq3gdBvx42m0EouT1BnxWuQXGw4N95k2pF0xhPuU+tFZGxO0AQQHiUWUdKh2sZ I1HQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1780406078; x=1781010878; h=cc:to:message-id:content-transfer-encoding:mime-version:subject :date:from:x-gm-gg:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=m1KVnd1R5IOEaVntsRV6w5ohh6MM9xtfcSuVzw7+bPI=; b=c4r7XUyGeqnv0Yw42AXKZBoScOtChkniLUgGyRmNgT/sPygkon7IufpbHGeABAyHtd WNS4N2fkLo39Dh/ac1o2saVkhc74H2Txa8LjgtrNXFWKNkqxpjUxnM8tr7z7J7fr1wH/ e0U0AZ7KovGocAGRbkMdfggzVUHaOtPZ9i/e+jlVxL+dOW0jtg+myC8Oz5b6Wj7k30LV BDISKAA7DY23nKEpiZruFMTvkvr9jswnUPGXl26aSiAnfNkdTLipws1clpSl3SFi9Req naBhIbtKvzkdjGWqhEZu4hguttfkAdrQh1XnZPasK4reGz528SNK+jN93bvR+Mw3FS+D HHgA== X-Forwarded-Encrypted: i=1; AFNElJ8M99Q1Ywe1QPGCE05fFdZfhxovBD0XRJ32JKWJkqFeC901hGVWE0TQZn+npTQthHR5Li5HCBR5rRy3Tm0=@vger.kernel.org X-Gm-Message-State: AOJu0YzFVmJsYS66LmJEELa4H6V8/UbLWzxtkSEJWfsfWX0A4WfJzVhi 2Ao24DKeIbXgt0N9fnRgfN4xBefnZyN3E8A7BvV/2PuHyexjQ08Hr15z X-Gm-Gg: Acq92OFuWaGi8321gyX9rfBWQIn82pWKYHBDj+YExn6IC96tpJ2fe/qDJ3b0kIHZIY6 z4I/r/2WpOK+loO93pv4IMK/xLs9GB2Td9kSTUJtIA5Y8aPrjQO6Tb208LasVpK5EXLkBJ6nA8k auvvX7/yS8TzXeANdDE0BP66Ho0FjSj33/fh6KipCvitWN/fMcv88rgzkA+1L5K/A0z7+1g47Rt oiHTuYHr5PnrLT0BVHaqcN8meC7na2h8YlLVWrPcTK2s8m2swLeFYYdo1yeqSKduf3+xYkAJWEa +Fp+Foq02o5rmOKuHPBGZ2O/wADUZaDFEtN+5SMXKzM6a0K7R0z5/Ba+dh21mldK3zJNq+MIEp4 zT1AG1kuaSxnVvBy1VBuE+uX70Ys0oOeiG6oKVG0Eh1oHTOxkQTEagg8yJ1YiONfS17cir4uJgi I13HriJv0CksZWcu3TDOAgpZ4knQRWgcHttHhsm5nLP5aTPX4kd9WL5C90A8zHcqwJmRIQ6jbw0 Qd1qptHZybq681AjSq4Xyhz6N+kHTiV6/jv1yM= X-Received: by 2002:a17:903:1a0c:b0:2c0:f807:56b6 with SMTP id d9443c01a7336-2c0f80758b4mr76638985ad.4.1780406078215; Tue, 02 Jun 2026 06:14:38 -0700 (PDT) Received: from junjungu-PC.localdomain ([223.166.246.30]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-2bf239e7024sm136568705ad.6.2026.06.02.06.14.33 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 02 Jun 2026 06:14:37 -0700 (PDT) From: Felix Gu Date: Tue, 02 Jun 2026 21:14:33 +0800 Subject: [PATCH] phy: fsl-imx8mq-usb: fix vbus regulator leak on error paths Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20260602-imx9mq-v1-1-e58b912923d2@gmail.com> X-B4-Tracking: v=1; b=H4sIADjXHmoC/yXM0QpAMBTG8VfRubY6m6zmVeSCOTjKsCEl7264/ NX/+y4I5JkCFMkFng4OPLsImSZgh9r1JLiNBoVKo0YleDrNtIoMpTYqM01uEGK8eOr4/I7K6nf Ym5Hs9q7hvh+Sh+HCagAAAA== X-Change-ID: 20260602-imx9mq-30169239b590 To: Vinod Koul , Neil Armstrong , Frank Li , Sascha Hauer , Pengutronix Kernel Team , Fabio Estevam , Xu Yang Cc: linux-phy@lists.infradead.org, imx@lists.linux.dev, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, Felix Gu X-Mailer: b4 0.15.2 X-Developer-Signature: v=1; a=ed25519-sha256; t=1780406073; l=1702; i=ustc.gu@gmail.com; h=from:subject:message-id; bh=2P56B+ZQr3CMN8Q55LeqttmN2FV6MnYrkE4+rKOUiPI=; b=g2pyz/lE7GuPW7EbYIxceMDMUv9+CWTXEQIMXX8ydyaRLCAB+gzEIohDQmvjmmkIS1HKFwuY2 a5WVBm2mQgXA0UAuruhmAeMLBxclchAkYoPqxRyWet4Ts00kbW5mkVa X-Developer-Key: i=ustc.gu@gmail.com; a=ed25519; pk=fjUXwmjchVN7Ja6KGP55IXOzFeCl9edaHoQIEUA+/hw= In imx8mq_phy_power_on(), if clk_prepare_enable() fails after regulator_enable() has succeeded, the vbus regulator is left enabled. The same issue exists for the alt_clk error path. Fix both by converting to the standard goto-based cleanup pattern, ensuring the regulator is disabled when any subsequent step fails. Fixes: 3b64ea4768e7 ("phy: fsl-imx8mq-usb: support alternate reference cloc= k") Signed-off-by: Felix Gu Reviewed-by: Frank Li --- drivers/phy/freescale/phy-fsl-imx8mq-usb.c | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) diff --git a/drivers/phy/freescale/phy-fsl-imx8mq-usb.c b/drivers/phy/frees= cale/phy-fsl-imx8mq-usb.c index b05d80e849a1..e45e4f16057e 100644 --- a/drivers/phy/freescale/phy-fsl-imx8mq-usb.c +++ b/drivers/phy/freescale/phy-fsl-imx8mq-usb.c @@ -627,13 +627,11 @@ static int imx8mq_phy_power_on(struct phy *phy) =20 ret =3D clk_prepare_enable(imx_phy->clk); if (ret) - return ret; + goto disable_vbus; =20 ret =3D clk_prepare_enable(imx_phy->alt_clk); - if (ret) { - clk_disable_unprepare(imx_phy->clk); - return ret; - } + if (ret) + goto disable_clk; =20 /* Disable rx term override */ value =3D readl(imx_phy->base + PHY_CTRL6); @@ -641,6 +639,13 @@ static int imx8mq_phy_power_on(struct phy *phy) writel(value, imx_phy->base + PHY_CTRL6); =20 return 0; + +disable_clk: + clk_disable_unprepare(imx_phy->clk); +disable_vbus: + regulator_disable(imx_phy->vbus); + + return ret; } =20 static int imx8mq_phy_power_off(struct phy *phy) --- base-commit: 08484c504b55a98bd100527fbe10a3caf55ff3ff change-id: 20260602-imx9mq-30169239b590 Best regards, -- =20 Felix Gu