From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 1A94FCA6012 for ; Fri, 9 Oct 2026 09:12:06 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender: Content-Transfer-Encoding:Content-Type:MIME-Version:Reply-To:List-Subscribe: List-Help:List-Post:List-Archive:List-Unsubscribe:List-Id:Date:References: In-Reply-To:Cc:To:Subject:From:Message-ID:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=3PmmE7HjzQ4b3Nw9ARStb6JEIkPB7CODNfs4FUsDLWs=; b=E5/Te/ZA/+mFdc J+FX8ubbXEWzxx+jFjxHYn4SH9KBbSMFjpqvycW0Q0Ha4dkXkpA/SrF9rtzFYcv7tCTq6E1Oh7TH/ iKkg+Bk/BX9pm5tvUxueBnBr5mVLNYAIXcJx6sB/65PKFQfhPvk1oRnU9Is3bZ0/U0I0pRHL57qL5 nK7EumvC+KFhBlfd6q5ahYeOznMXVZHuPPpFKhmbWu2KUCp7kCnIkdT6w8uajUrt5Je41Jt4yXAgV yyr/El9ldrkX/7PuZ/IPlGqyi7/7j5TDLZzeNBCKW693i/uxROE+T2IuJ34iSwogBqW/JlQemmJ60 fJ5qBMi3jMa3z0mFvM7A==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.99.1 #2 (Red Hat Linux)) id 1xF6e5-00000005tKX-2QOm; Fri, 09 Oct 2026 09:12:05 +0000 Received: from sea.source.kernel.org ([2600:3c0a:e001:78e:0:1991:8:25]) by bombadil.infradead.org with esmtps (Exim 4.99.1 #2 (Red Hat Linux)) id 1xF6e4-00000005tKI-1YY9 for linux-phy@lists.infradead.org; Fri, 09 Oct 2026 09:12:04 +0000 Received: from smtp.kernel.org (quasi.space.kernel.org [100.103.45.18]) by sea.source.kernel.org (Postfix) with ESMTP id B80A240251; Fri, 9 Oct 2026 09:12:03 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id E25BC1F000FF; Fri, 9 Oct 2026 09:12:02 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=kernel.org; s=k20260515; t=1791537123; bh=/tYIftieEEGQIBRwgZ9wQZw0EdBBvp8uhS/hWQXLuyc=; h=From:Subject:Reply-To:To:Cc:In-Reply-To:References:Date; b=kYy+n5Vro/UVipNy9xxm8mUEInIXeFzAYVq4WgRZ0g0o8b/tuG857pUZNPEp5ESUz UWZszpoJrUt/x9fXa81gaEafrIHvEsKN7Gb8c1vfDxqjx5KB2EvrnJ2sAR/fIHdMzN gWpnuMAgv/17wCkUQNyWaria4aKYMs7PEuqSCWd29vuKVlYhsjAaizyT5k7dnVwJ9c XEUVE/+cXuRkahWRQTDwQ47pKgMnpEBC2ctolHzEx/ox9y8EqyLhPgW0U3RvInLPBV csbUYdiYh9+VR9VYZefjTe4hxf8WGs84mcWkqD+/Yk1VYp80QWTAsxd68NfrtWI0Pl sIavnAdrUwgow== Message-ID: From: sashiko-bot@kernel.org Subject: Re: [PATCH v3 2/2] phy: add a driver for T-Head TH1520 USB PHY To: "Icenowy Zheng" Cc: linux-phy@lists.infradead.org, conor+dt@kernel.org, vkoul@kernel.org, olteanv@gmail.com, neil.armstrong@linaro.org, devicetree@vger.kernel.org, robh@kernel.org In-Reply-To: <20261009090444.3319517-3-zhengxingda@iscas.ac.cn> References: <20261009090444.3319517-1-zhengxingda@iscas.ac.cn> <20261009090444.3319517-3-zhengxingda@iscas.ac.cn> Date: Fri, 09 Oct 2026 09:12:02 +0000 X-BeenThere: linux-phy@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: Linux Phy Mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Reply-To: sashiko-reviews@lists.linux.dev MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Sender: "linux-phy" Errors-To: linux-phy-bounces+linux-phy=archiver.kernel.org@lists.infradead.org VGhhbmsgeW91IGZvciB5b3VyIGNvbnRyaWJ1dGlvbiEgU2FzaGlrbyBBSSByZXZpZXcgZm91bmQg MSBwb3RlbnRpYWwgaXNzdWUocykgdG8gY29uc2lkZXI6Ci0gW01lZGl1bV0gcGh5OiBzdGF0ZSBt YWNoaW5lIGRlc3luYyBvbiByZXNldF9jb250cm9sX2Fzc2VydCBlcnJvciBpbiBleGl0Ci0tCgpj b21taXQgZWMyMGYzZDE1OWMzMjMzZTdjZTZlMDU4YWIwODVhNzM4NDM5M2UzOApBdXRob3I6IElj ZW5vd3kgWmhlbmcgPHpoZW5neGluZ2RhQGlzY2FzLmFjLmNuPgoKcGh5OiBhZGQgYSBkcml2ZXIg Zm9yIFQtSGVhZCBUSDE1MjAgVVNCIFBIWQoKVGhpcyBjb21taXQgaW50cm9kdWNlcyBhIG5ldyBV U0IgUEhZIGRyaXZlciBmb3IgdGhlIFQtSGVhZCBUSDE1MjAgU29DLgpJdCBtYW5hZ2VzIGJhc2lj IFBIWSBjb25maWd1cmF0aW9uIHRocm91Z2ggYSByZWdtYXAsIGFsb25nIHdpdGggaGFuZGxpbmcK dGhlIHJlcXVpcmVkIHJlZmVyZW5jZSBjbG9jayBhbmQgcmVzZXQgY29udHJvbGxlcnMuCgo+IGRp ZmYgLS1naXQgYS9kcml2ZXJzL3BoeS90aGVhZC9waHktdGgxNTIwLXVzYi5jIGIvZHJpdmVycy9w aHkvdGhlYWQvcGh5LXRoMTUyMC11c2IuYwo+IGluZGV4IDAwMDAwMDAwMDAwMDAuLjZjYjBlNTE0 MDEzNzQgMTAwNjQ0Cj4gLS0tIC9kZXYvbnVsbAo+ICsrKyBiL2RyaXZlcnMvcGh5L3RoZWFkL3Bo eS10aDE1MjAtdXNiLmMKClsgLi4uIF0KCj4gK3N0YXRpYyBpbnQgdGgxNTIwX3VzYl9waHlfZXhp dChzdHJ1Y3QgcGh5ICpwaHkpCj4gK3sKPiArCXN0cnVjdCB0aDE1MjBfdXNiX3BoeSAqdGgxNTIw X3BoeSA9IHBoeV9nZXRfZHJ2ZGF0YShwaHkpOwo+ICsJaW50IHJldDsKPiArCj4gKwlyZXQgPSBy ZXNldF9jb250cm9sX2Fzc2VydCh0aDE1MjBfcGh5LT5waHlfcmVzZXQpOwo+ICsJY2xrX2Rpc2Fi bGVfdW5wcmVwYXJlKHRoMTUyMF9waHktPnJlZl9jbGspOwo+ICsKPiArCXJldHVybiByZXQ7Cj4g K30KCltTZXZlcml0eTogTWVkaXVtXQpJZiByZXNldF9jb250cm9sX2Fzc2VydCgpIGZhaWxzIGFu ZCByZXR1cm5zIGEgbmVnYXRpdmUgZXJyb3IgY29kZSwgdGhpcwpjb2RlIHN0aWxsIGRpc2FibGVz IHRoZSByZWZlcmVuY2UgY2xvY2sgYnV0IHByb3BhZ2F0ZXMgdGhlIGVycm9yIHRvIHRoZQpjYWxs ZXIuCgpMb29raW5nIGF0IHRoZSBQSFkgY29yZSBpbiBwaHlfZXhpdCgpLCBpZiB0aGUgZHJpdmVy J3MgZXhpdCBjYWxsYmFjawpyZXR1cm5zIGFuIGVycm9yLCBpdCBza2lwcyBkZWNyZW1lbnRpbmcg dGhlIGluaXRpYWxpemF0aW9uIGNvdW50ZXI6Cgpkcml2ZXJzL3BoeS9waHktY29yZS5jOnBoeV9l eGl0KCkgewogICAgLi4uCglyZXQgPSBwaHktPm9wcy0+ZXhpdChwaHkpOwoJaWYgKHJldCA8IDAg JiYgcmV0ICE9IC1FTk9UU1VQUCkKCQlnb3RvIG91dDsKCgktLXBoeS0+aW5pdF9jb3VudDsKICAg IC4uLgpvdXQ6CgltdXRleF91bmxvY2soJnBoeS0+bXV0ZXgpOwoJcmV0dXJuIHJldDsKfQoKVGhp cyBsZWF2ZXMgdGhlIGNvcmUncyBzb2Z0d2FyZSBzdGF0ZSB0cmFja2luZyB0aGUgUEhZIGFzIGlu aXRpYWxpemVkCihpbml0X2NvdW50ID4gMCksIHdoaWxlIHRoZSBhY3R1YWwgcGh5c2ljYWwgaGFy ZHdhcmUgaGFzIGl0cyByZWZlcmVuY2UKY2xvY2sgZGlzYWJsZWQuIAoKQSBzdWJzZXF1ZW50IGNh bGwgdG8gcGh5X2luaXQoKSBieSBhIGNvbnN1bWVyIHdvdWxkIHRoZW4gc2VlCmluaXRfY291bnQg PiAwLCByZXR1cm5pbmcgc3VjY2VzcyBpbW1lZGlhdGVseSB3aXRob3V0IHJlLWVuYWJsaW5nIHRo ZSBjbG9jawp2aWEgdGhlIGluaXQgY2FsbGJhY2ssIGxlYXZpbmcgdGhlIFBIWSBwZXJtYW5lbnRs eSBicm9rZW4uCgpDb3VsZCB0aGlzIGNyZWF0ZSBhIHN0YXRlIG1hY2hpbmUgZGVzeW5jIGlmIHRo ZSByZXNldCBjb250cm9sbGVyIGZhaWxzPwpXb3VsZCBpdCBiZSBzYWZlciB0byByZXR1cm4gMCBh bmQgaWdub3JlIHRoZSByZXNldCBmYWlsdXJlIGhlcmUgdG8gZW5zdXJlCnByb3BlciB0ZWFyZG93 biBhY2NvdW50aW5nIGluIHRoZSBjb3JlPwoKLS0gClNhc2hpa28gQUkgcmV2aWV3IMK3IGh0dHBz Oi8vc2FzaGlrby5kZXYvIy9wYXRjaHNldC8yMDI2MTAwOTA5MDQ0NC4zMzE5NTE3LTEtemhlbmd4 aW5nZGFAaXNjYXMuYWMuY24/cGFydD0yCgotLSAKbGludXgtcGh5IG1haWxpbmcgbGlzdApsaW51 eC1waHlAbGlzdHMuaW5mcmFkZWFkLm9yZwpodHRwczovL2xpc3RzLmluZnJhZGVhZC5vcmcvbWFp bG1hbi9saXN0aW5mby9saW51eC1waHkK From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-alma10-1.taild15c8.ts.net [100.103.45.18]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 0D633383987 for ; Fri, 9 Oct 2026 09:12:03 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=100.103.45.18 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1791537125; cv=none; b=V3KL9g7JEgNIX9AQfUmuByLK1riOO08jv3PQFe5gDJ0xq2lWfe3koiVYb7ld94tE6AEBR7k5t3omPnA+z8b64XP4SF+eo/TwyFagbFMYUQHyWnn3etzgD3djK4sqkoyq67+sIKFBYt4PBD+hwo2jJHgFP/XCS9fMDHwTsCvbLmE= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1791537125; c=relaxed/simple; bh=2jOTo03S9NcG12F0jHWqJe3c9v4xqRzeI+Gj2zsa1gE=; h=Message-ID:From:Subject:To:Cc:In-Reply-To:References:Content-Type: Date; b=bHQUAdKVIW2HicgPjoPUT6HZ9gb7Bs9g8klpOC43s5aTcZUQBb/kDxVNLwNGK8JXfL12zQkdmQp+bneyLt234udzWDwSRrfivTOnvEaUUlbyRWkjW4FBJw3ZY4ZGTzFK3XCySon8gCVPeSsElTdrLjcBdC0nC0Tj6hpBgPReQBk= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=kYy+n5Vr; arc=none smtp.client-ip=100.103.45.18 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="kYy+n5Vr" Received: by smtp.kernel.org (Postfix) with ESMTPSA id E25BC1F000FF; Fri, 9 Oct 2026 09:12:02 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=kernel.org; s=k20260515; t=1791537123; bh=/tYIftieEEGQIBRwgZ9wQZw0EdBBvp8uhS/hWQXLuyc=; h=From:Subject:Reply-To:To:Cc:In-Reply-To:References:Date; b=kYy+n5Vro/UVipNy9xxm8mUEInIXeFzAYVq4WgRZ0g0o8b/tuG857pUZNPEp5ESUz UWZszpoJrUt/x9fXa81gaEafrIHvEsKN7Gb8c1vfDxqjx5KB2EvrnJ2sAR/fIHdMzN gWpnuMAgv/17wCkUQNyWaria4aKYMs7PEuqSCWd29vuKVlYhsjAaizyT5k7dnVwJ9c XEUVE/+cXuRkahWRQTDwQ47pKgMnpEBC2ctolHzEx/ox9y8EqyLhPgW0U3RvInLPBV csbUYdiYh9+VR9VYZefjTe4hxf8WGs84mcWkqD+/Yk1VYp80QWTAsxd68NfrtWI0Pl sIavnAdrUwgow== Message-ID: From: sashiko-bot@kernel.org Subject: Re: [PATCH v3 2/2] phy: add a driver for T-Head TH1520 USB PHY Reply-To: sashiko-reviews@lists.linux.dev To: "Icenowy Zheng" Cc: linux-phy@lists.infradead.org, conor+dt@kernel.org, vkoul@kernel.org, olteanv@gmail.com, neil.armstrong@linaro.org, devicetree@vger.kernel.org, robh@kernel.org In-Reply-To: <20261009090444.3319517-3-zhengxingda@iscas.ac.cn> References: <20261009090444.3319517-1-zhengxingda@iscas.ac.cn> <20261009090444.3319517-3-zhengxingda@iscas.ac.cn> Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Date: Fri, 09 Oct 2026 09:12:02 +0000 Precedence: bulk X-Mailing-List: devicetree@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: Thank you for your contribution! Sashiko AI review found 1 potential issue(= s) to consider: - [Medium] phy: state machine desync on reset_control_assert error in exit -- commit ec20f3d159c3233e7ce6e058ab085a7384393e38 Author: Icenowy Zheng phy: add a driver for T-Head TH1520 USB PHY This commit introduces a new USB PHY driver for the T-Head TH1520 SoC. It manages basic PHY configuration through a regmap, along with handling the required reference clock and reset controllers. > diff --git a/drivers/phy/thead/phy-th1520-usb.c b/drivers/phy/thead/phy-t= h1520-usb.c > index 0000000000000..6cb0e51401374 100644 > --- /dev/null > +++ b/drivers/phy/thead/phy-th1520-usb.c [ ... ] > +static int th1520_usb_phy_exit(struct phy *phy) > +{ > + struct th1520_usb_phy *th1520_phy =3D phy_get_drvdata(phy); > + int ret; > + > + ret =3D reset_control_assert(th1520_phy->phy_reset); > + clk_disable_unprepare(th1520_phy->ref_clk); > + > + return ret; > +} [Severity: Medium] If reset_control_assert() fails and returns a negative error code, this code still disables the reference clock but propagates the error to the caller. Looking at the PHY core in phy_exit(), if the driver's exit callback returns an error, it skips decrementing the initialization counter: drivers/phy/phy-core.c:phy_exit() { ... ret =3D phy->ops->exit(phy); if (ret < 0 && ret !=3D -ENOTSUPP) goto out; --phy->init_count; ... out: mutex_unlock(&phy->mutex); return ret; } This leaves the core's software state tracking the PHY as initialized (init_count > 0), while the actual physical hardware has its reference clock disabled.=20 A subsequent call to phy_init() by a consumer would then see init_count > 0, returning success immediately without re-enabling the clock via the init callback, leaving the PHY permanently broken. Could this create a state machine desync if the reset controller fails? Would it be safer to return 0 and ignore the reset failure here to ensure proper teardown accounting in the core? --=20 Sashiko AI review =C2=B7 https://sashiko.dev/#/patchset/20261009090444.3319= 517-1-zhengxingda@iscas.ac.cn?part=3D2