From nobody Fri Oct 2 08:25:34 2026 Received: from mail-pl1-f177.google.com (mail-pl1-f177.google.com [209.85.214.177]) (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 7BD5E3B7B8C for ; Mon, 3 Aug 2026 15:15:24 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.214.177 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1785770125; cv=none; b=ly/4z6wN2L5RDmEKvHYtet32O0v1E4vw+M5MIfiHsS8XVdtuvux0VrT2+y4e0m92ioVDSxB7+Jf1GLAgQcslvC0yur2gzgSWN/ozlZL9r1oqhS6m8EfaRYj0R4dutEMucdzQ0gaBN3YEleWl85lkEmdc1TIGwKED8eskwx2gxyE= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1785770125; c=relaxed/simple; bh=q2P2nGTjEvaZz0ScRAMPdDMBI1PiH11cZ1Bj3+0m2VI=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:To:Cc; b=V+WVmjpnPBKu7CSf4dHoXEnOav00G7VyIK3MB1xqYlD9VqN/cu4qmB/o0OQIHq/05kWF/3BcYnCsjgCrCUNKSBvuimNL941w7NcrRwpMLmSpaiHerpHXfhvVL/8so6L06H6C88mb/YPvtswjPn8ubDgQQkKeKD3tS9QuufU7NUY= 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=H8YNWc2j; arc=none smtp.client-ip=209.85.214.177 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="H8YNWc2j" Received: by mail-pl1-f177.google.com with SMTP id d9443c01a7336-2cea3004256so38503795ad.0 for ; Mon, 03 Aug 2026 08:15:24 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1785770124; x=1786374924; darn=vger.kernel.org; h=cc:to:message-id:content-transfer-encoding:content-type :mime-version:subject:date:from:from:to:cc:subject:date:message-id :reply-to:content-type; bh=2Eps+N2PR4CPFEjqvLBuCWridjCN1eWTyFT6MEhu/JA=; b=H8YNWc2jnGOCPWuKGKhbL/FO5kyOuVlbUEIW/aueKHW+ELUpqEcPrm3SBzb0eQtO3w TqrHtPT5H5JXLzujwGKOiAa0Spz/+/0c3X0eEglKawYF+VvqwbQruIzVzPYicsHBN6FC ZQnwIEbArMxNPzplceArRdMat3gyYz0RVDaUYYQ0EhZuxxAysJPwPoH5m+uVbeTnInqa m4GfrJaTtkNtHtys7XglP76Xf+sdxHGMLG0QowUxodOxja8irBTefwXsISHlhFIiQql8 IGOJyEYpAXYzM4OpVVvpt0COnPHpb8OlK5K3Oxo76OErMJtVWFHxgf4P+jXIeYdvufk1 Aj6Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1785770124; x=1786374924; h=cc:to:message-id:content-transfer-encoding:content-type :mime-version:subject:date:from:x-gm-gg:x-gm-message-state:from:to :cc:subject:date:message-id:reply-to:content-type; bh=2Eps+N2PR4CPFEjqvLBuCWridjCN1eWTyFT6MEhu/JA=; b=PO21u10SrQjqiM/M87igQl9KmLM0rTLpBoG8FgUY1mMoXNFEEM1sd3wWwoIzmYKhp9 GCO3XIiaNsILD5WU3iA22+gzcoDSBrNte4LUcgn2w2jQNREMYXpk1h0SVHO9xaXZkWxq qRSHyeCX8oUNscKtNtJjyrC/YowCnZK4ZCKn9jXLmY11AkubxuI9VYAvEfNixI6cu/O2 nKM438M7wh8vsp57vHUAhVXKB+TUEpCNUiEa/0nxZ+zcqQKvc5m5cr6UYtwcqe6SfVjs gdU+wLnugmkk+uMzvpLEA1u6FhXdkrfssxolZPQYIqEXGDvLeQ1YFX0ybJgbaKdyIalI 4KUA== X-Forwarded-Encrypted: i=1; AHgh+RoNH+niB+jbD8sZEMOhYLZQ7eC9p6sa5Hwai7Ocy6YEU+R3fZaiN/ZF4tqRXbB+pB5/EtPJcUcbH305N5Y=@vger.kernel.org X-Gm-Message-State: AOJu0Yx5tyyMGqdf19iIT/5Fn5ZIRh+T1Ob+Bg9UIJP5VHRR9pMtXINE 1Rzc/t3meAxaq/BC9WcaADqgslahJInL4TZ4QJnAM6Ek2NHDa+XRqXKQ X-Gm-Gg: AR+sD10DC/yq3eXm9m3DWWgaq6iXhNGGI5EfjzCgUJ/WXhGjYrBJnrNr0naMhQSmb5h snjY2Qv/EbpNp+G9oSjXQ9IDyDhk7SCfKfb6oWUrrUZArCoQoccJZii2UinBTj1/AIoBPF41j3H jYTiobYRO1XFIR6cacldzAaOTWYXUim+0JIlnaKLgAJsJEUKwTTfnSe5aKIrbJC9vR1Q4/CP7hk 7b25erGsJ0dhCq7gNreaDpGZs0fAtw5ktU3blCcHlmjZJHEVCEguD2CxQwLwxwbdlEpdubyrVTu K9DKytl11Z1BIRz8Ip+8dFTtXWcwVanpT9Uyj4NUG9icyf+4SzkhFyi7WWPnj8lgW1DuFiVkbxY /3mXEV+eIxvlxVjA+xgrUA3rC5lffFzU4VLlCcSOcxgiiIOaADHFsqZ6T8pVGF/bLrmlhp/mbG1 nH6alv/cfecKj3B05waneyKU4Q/Bu7+eoeqegpVfYY6esAQ84lwyUwkMOhYfGO+oU8u9SyxAyvD 8YQqdrboDkEwQXzEBqoL+YA/moqluFPQRBjDHGiOsGDUENS X-Received: by 2002:a17:902:dac4:b0:2cf:8131:75e8 with SMTP id d9443c01a7336-2d05221d386mr103265235ad.13.1785770123331; Mon, 03 Aug 2026 08:15:23 -0700 (PDT) Received: from [127.0.0.1] ([103.17.98.26]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-2d04b121751sm39677075ad.65.2026.08.03.08.15.20 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 03 Aug 2026 08:15:23 -0700 (PDT) From: Felix Gu Date: Mon, 03 Aug 2026 23:15:17 +0800 Subject: [PATCH] phy: sunplus: fix error handling in sp_uphy_init() 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: <20260803-sunplus-usb3-v1-1-5a562524c869@gmail.com> X-B4-Tracking: v=1; b=H4sIAISwcGoC/yXMQQ5AMBBA0avIrDWpNmlwFbHQGoxISUdFIu6uW L7F/xcwBkKGOrsg4EFMq08o8gzc1PkRBfXJoKQyspRacPTbEllEtlrYzrhSVdZJoyElW8CBzm/ XtL852hnd/j7gvh/ZgCExcAAAAA== X-Change-ID: 20260803-sunplus-usb3-ba6c829bc063 To: Vincent Shih , Vinod Koul , Neil Armstrong , Philipp Zabel Cc: linux-usb@vger.kernel.org, linux-phy@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=1785770120; l=1561; i=ustc.gu@gmail.com; h=from:subject:message-id; bh=q2P2nGTjEvaZz0ScRAMPdDMBI1PiH11cZ1Bj3+0m2VI=; b=AeZDXra40SfMUAO59TNEMxSl7MEfI1UmdAMw1LyTOdyACWEEB56d/gnUitmndOCWt4Zbct1eX E0Z+EnkepARAUonL/Y/TbrNhwcdgEUcrb7UoUlxX5uwXtzdr593RByc X-Developer-Key: i=ustc.gu@gmail.com; a=ed25519; pk=fjUXwmjchVN7Ja6KGP55IXOzFeCl9edaHoQIEUA+/hw= Fix the error paths of sp_uphy_init() to undo exactly what each stage did: return directly if clk_prepare_enable() fails, release only the clock if reset_control_deassert() fails, and jump to err_reset if update_disc_vol() fails so the clock and reset are not leaked. Fixes: 99d9ccd97385 ("phy: usb: Add USB2.0 phy driver for Sunplus SP7021") Signed-off-by: Felix Gu Reviewed-by: Philipp Zabel --- drivers/phy/sunplus/phy-sunplus-usb2.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/drivers/phy/sunplus/phy-sunplus-usb2.c b/drivers/phy/sunplus/p= hy-sunplus-usb2.c index 637a5fbae6d9..0ad4c7160d17 100644 --- a/drivers/phy/sunplus/phy-sunplus-usb2.c +++ b/drivers/phy/sunplus/phy-sunplus-usb2.c @@ -116,11 +116,11 @@ static int sp_uphy_init(struct phy *phy) =20 ret =3D clk_prepare_enable(usbphy->phy_clk); if (ret) - goto err_clk; + return ret; =20 ret =3D reset_control_deassert(usbphy->rstc); if (ret) - goto err_reset; + goto err_clk; =20 /* Default value modification */ writel(HIGH_MASK_BITS | 0x4002, usbphy->moon4_regs + UPHY_CONTROL0); @@ -129,7 +129,7 @@ static int sp_uphy_init(struct phy *phy) /* disconnect voltage */ ret =3D update_disc_vol(usbphy); if (ret < 0) - return ret; + goto err_reset; =20 /* board uphy 0 internal register modification for tid certification */ val =3D readl(usbphy->phy_regs + CONFIG9); --- base-commit: 415606a7be939835db9b0d6b711887586646346d change-id: 20260803-sunplus-usb3-ba6c829bc063 Best regards, -- =20 Felix Gu