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 227E2C44507 for ; Wed, 15 Jul 2026 19:14:57 +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:Message-Id:Date: References:In-Reply-To:Cc:To:Subject:From:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=rqQilyc2LBMxR+r9lO+TjuUiB5vqK0COrvbiuX0BMp4=; b=ukUtP0OLj4VrtM LbFyBSbiyWePwNiPnmwhANBx+pLoWrUKMZkCqDyp/bGX4Fs4hJ0KX/XCdjXAb6q0wUfJzVvI7RPez B3+m1lmEkaEuIlmtQp6du3/ag86jdSB5/CpG3VsMDbwhzjAbXiyw5HS0KcNlgRqNGG+wMbMZ5YJUg W+Fc9hYCVsG6hHWrikU+JOjAt2sNK8YFF7g+4I4IzGRB1eRY+EaG3N9LeXTLepkHB0pxQ9PZecVi2 r7ptZuv7Efz8UmmwBjQ3SI11TAOCtOdhuPE65mUylp3I2Tvcl9pAWUibjlBIaunpfmXdw2Wfk7fV0 kQItDprZ4TeQ/njoGZWw==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.99.1 #2 (Red Hat Linux)) id 1wk54K-0000000FlyH-3MJA; Wed, 15 Jul 2026 19:14:56 +0000 Received: from tor.source.kernel.org ([172.105.4.254]) by bombadil.infradead.org with esmtps (Exim 4.99.1 #2 (Red Hat Linux)) id 1wk54J-0000000FlxP-1gW9 for linux-phy@lists.infradead.org; Wed, 15 Jul 2026 19:14:55 +0000 Received: from smtp.kernel.org (quasi.space.kernel.org [100.103.45.18]) by tor.source.kernel.org (Postfix) with ESMTP id 9C1AC61838; Wed, 15 Jul 2026 19:14:54 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id DEE731F000E9; Wed, 15 Jul 2026 19:14:53 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=kernel.org; s=k20260515; t=1784142894; bh=EmrdoLIZZQcGtWbtgtxSkBaPsATqasvPdAOr+v9I5+I=; h=From:Subject:Reply-To:To:Cc:In-Reply-To:References:Date; b=KehEWCyGn9ed00VaDFVM1gK4Ivor7yAYRXh0kc6TDP6YZXuP+ZtyxiotRCetpRKZO 1+zFr/41eeKh5/5H9l0h2TMrVIDDbUELurcujYf5FxSt3k9Fsm3lqXoNEiRKZnnXzx bFd0Z3AexArDePeoGxYN9F5K4PsK59ZxTMsGYV94ueHJG1/5cbtElQ60upfnvajSWq 28CXloehZgsVck1zPZX377hXfF2gsIbFifwX8BHsL/zcns+97eCSJ2aP8OGPD6g53U H4AmzjPhzUMcGE/8A4fAJlNa6AqIjKpwTHa20xlj8O2HT5NJmubQ8toMY34n9Bl2C1 E5d7ZsAOq69Sw== From: sashiko-bot@kernel.org Subject: Re: [RFC PATCH 06/10] net: pcs: xpcs: improve SGMII AN state handling for Rockchip RK3568 To: "Coia Prant" Cc: vkoul@kernel.org, olteanv@gmail.com, neil.armstrong@linaro.org, robh@kernel.org, devicetree@vger.kernel.org, conor+dt@kernel.org, linux-phy@lists.infradead.org In-Reply-To: <20260714191341.690906-7-coiaprant@gmail.com> References: <20260714191341.690906-1-coiaprant@gmail.com> <20260714191341.690906-7-coiaprant@gmail.com> Date: Wed, 15 Jul 2026 19:14:53 +0000 Message-Id: <20260715191453.DEE731F000E9@smtp.kernel.org> 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 MiBwb3RlbnRpYWwgaXNzdWUocykgdG8gY29uc2lkZXI6Ci0gW0hpZ2hdIFRoZSBBTiBjb21wbGV0 ZSBzdGF0dXMgaXMgY2xlYXJlZCBiZWZvcmUgcmVhZGluZyBNSUlfQk1DUiBpbiB0aGUgV2FuZ3h1 bi1zcGVjaWZpYyBwYXRoLCB3aGljaCBjYW4gY2F1c2UgdGhlIGxpbmsgdG8gc3RhbGwgcGVybWFu ZW50bHkgaWYgYSBzdWJzZXF1ZW50IE1ESU8gcmVhZCBmYWlscy4KLSBbTWVkaXVtXSBUaGUgcGF0 Y2ggbW9kaWZpZXMgdGhlIDEwMDBCQVNFLVggY29uZmlndXJhdGlvbiBwYXRoIHRvIGFzc2VydCBC TUNSX0FOUkVTVEFSVCB3aXRob3V0IGFueSBtZW50aW9uIG9yIGp1c3RpZmljYXRpb24gaW4gdGhl IGNvbW1pdCBtZXNzYWdlLgotLQoKLS0tIFBhdGNoIFs2XTogW1JGQyBQQVRDSCAwNi8xMF0gbmV0 OiBwY3M6IHhwY3M6IGltcHJvdmUgU0dNSUkgQU4gc3RhdGUgaGFuZGxpbmcgZm9yIFJvY2tjaGlw IFJLMzU2OCAtLS0KY29tbWl0IDhjMTk3NmU0ZjUyYTVlN2Q4YjRiYWIxMTRmNmNmMjE0ZmU1MGEy NDkKQXV0aG9yOiBDb2lhIFByYW50IDxjb2lhcHJhbnRAZ21haWwuY29tPgoKbmV0OiBwY3M6IHhw Y3M6IGltcHJvdmUgU0dNSUkgQU4gc3RhdGUgaGFuZGxpbmcgZm9yIFJvY2tjaGlwIFJLMzU2OAoK VGhpcyBwYXRjaCBtb2RpZmllcyBTR01JSSBBTiBzdGF0ZSBoYW5kbGluZyBmb3IgUm9ja2NoaXAg UkszNTY4IGJ5IGNoZWNraW5nCkNMMzdfQU5TR01fU1RTIGZvciBsaW5rIHN0YXR1cy4gSXQgY2xl YXJzIHRoZSBBTiBjb21wbGV0ZSBpbnRlcnJ1cHQgYW5kCnJlc3RhcnRzIEFOIGZvciBub24tV2Fu Z3h1biBwbGF0Zm9ybXMgaWYgY29tcGxldGUsIGFuZCBjbGVhcnMgQ0wzNyBBTgpjb21wbGV0ZSBz dGF0dXMgYmVmb3JlIHN0YXJ0aW5nIEFOIHRvIGVuc3VyZSBhIGNsZWFuIGluaXRpYWwgc3RhdGUu Cgo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL25ldC9wY3MvcGNzLXhwY3MuYyBiL2RyaXZlcnMvbmV0 L3Bjcy9wY3MteHBjcy5jCj4gaW5kZXggZTY5ZmEyZjBhMGU4ZC4uY2YzNzBiYTI0N2NhYyAxMDA2 NDQKPiAtLS0gYS9kcml2ZXJzL25ldC9wY3MvcGNzLXhwY3MuYwo+ICsrKyBiL2RyaXZlcnMvbmV0 L3Bjcy9wY3MteHBjcy5jCgpbIC4uLiBdCgo+IEBAIC04ODQsNyArODg5LDcgQEAgc3RhdGljIGlu dCB4cGNzX2NvbmZpZ19hbmVnX2MzN18xMDAwYmFzZXgoc3RydWN0IGR3X3hwY3MgKnhwY3MsCj4g IAo+ICAJaWYgKG5lZ19tb2RlID09IFBIWUxJTktfUENTX05FR19JTkJBTkRfRU5BQkxFRCkgewo+ ICAJCXJldCA9IHhwY3Nfd3JpdGUoeHBjcywgTURJT19NTURfVkVORDIsIE1JSV9CTUNSLAo+IC0J CQkJIG1kaW9fY3RybCB8IEJNQ1JfQU5FTkFCTEUpOwo+ICsJCQkJIG1kaW9fY3RybCB8IEJNQ1Jf QU5FTkFCTEUgfCBCTUNSX0FOUkVTVEFSVCk7CgpbU2V2ZXJpdHk6IE1lZGl1bV0KVGhlIGNvbW1p dCBtZXNzYWdlIG1lbnRpb25zIGltcHJvdmluZyBTR01JSSBBTiBzdGF0ZSBoYW5kbGluZywgYnV0 IHRoaXMKYWRkcyBCTUNSX0FOUkVTVEFSVCB0byB0aGUgMTAwMEJBU0UtWCBjb25maWd1cmF0aW9u IHBhdGggaW4KeHBjc19jb25maWdfYW5lZ19jMzdfMTAwMGJhc2V4KCkuIFdhcyB0aGlzIHVuaW50 ZW50aW9uYWwsIG9yIHNob3VsZCB0aGUKY29tbWl0IG1lc3NhZ2UgYmUgdXBkYXRlZCB0byBtZW50 aW9uIHRoaXMgYmVoYXZpb3IgY2hhbmdlIGZvciAxMDAwQkFTRS1YPwoKPiAgCQlpZiAocmV0IDwg MCkKPiAgCQkJcmV0dXJuIHJldDsKPiAgCX0KClsgLi4uIF0KCj4gQEAgLTEwODYsNyArMTA5NCwy NCBAQCBzdGF0aWMgaW50IHhwY3NfZ2V0X3N0YXRlX2MzN19zZ21paShzdHJ1Y3QgZHdfeHBjcyAq eHBjcywKPiAgCQkJc3RhdGUtPmR1cGxleCA9IERVUExFWF9GVUxMOwo+ICAJCWVsc2UKPiAgCQkJ c3RhdGUtPmR1cGxleCA9IERVUExFWF9IQUxGOwo+IC0JfSBlbHNlIGlmIChyZXQgPT0gRFdfVlJf TUlJX0FOX1NUU19DMzdfQU5DTVBMVF9JTlRSKSB7Cj4gKwo+ICsJCXJldHVybiAwOwo+ICsJfQo+ ICsKPiArCS8qIENsZWFyIEFOIGNvbXBsZXRlIHN0YXR1cyBvciBpbnRlcnJ1cHQgKi8KPiArCWlm IChzdGF0ZS0+YW5fY29tcGxldGUpCj4gKwkJeHBjc193cml0ZSh4cGNzLCBNRElPX01NRF9WRU5E MiwgRFdfVlJfTUlJX0FOX0lOVFJfU1RTLCAwKTsKCltTZXZlcml0eTogSGlnaF0KQ2FuIGNsZWFy aW5nIHRoZSBpbnRlcnJ1cHQgaGVyZSBsZWFkIHRvIGEgcGVybWFuZW50bHkgc3RhbGxlZCBsaW5r IG9uCldhbmd4dW4gcGxhdGZvcm1zIGlmIHRoZSBzdWJzZXF1ZW50IHhwY3NfcmVhZCgpIGZhaWxz PwoKVGhlIG9yaWdpbmFsIGNvZGUgY2xlYXJlZCBEV19WUl9NSUlfQU5fSU5UUl9TVFMgYXQgdGhl IHZlcnkgZW5kIG9mIHRoZQpEV19WUl9NSUlfQU5fU1RTX0MzN19BTkNNUExUX0lOVFIgYmxvY2ss IGFmdGVyIHN1Y2Nlc3NmdWxseSByZWFkaW5nCk1JSV9CTUNSIGFuZCBNSUlfQURWRVJUSVNFLgoK QnkgbW92aW5nIHRoZSBpbnRlcnJ1cHQgY2xlYXIgaGVyZToKCiAgICBpZiAoc3RhdGUtPmFuX2Nv bXBsZXRlKQogICAgICAgIHhwY3Nfd3JpdGUoeHBjcywgTURJT19NTURfVkVORDIsIERXX1ZSX01J SV9BTl9JTlRSX1NUUywgMCk7CgpJZiBhIHRyYW5zaWVudCBNRElPIGVycm9yIG9jY3VycyBkdXJp bmcgdGhlIHN1YnNlcXVlbnQgTUlJX0JNQ1IgcmVhZDoKCiAgICBzcGVlZCA9IHhwY3NfcmVhZCh4 cGNzLCBNRElPX01NRF9WRU5EMiwgTUlJX0JNQ1IpOwogICAgaWYgKHNwZWVkIDwgMCkKICAgICAg ICByZXR1cm4gc3BlZWQ7CgpUaGUgZnVuY3Rpb24gd2lsbCBleGl0IHdpdGggYW4gZXJyb3IgYW5k IHRoZSBsaW5rIHdpbGwgcmVtYWluIGRvd24sIGJ1dCB0aGUKQU4gY29tcGxldGUgc3RhdHVzIGhh cyBhbHJlYWR5IGJlZW4gY2xlYXJlZC4gV2lsbCB0aGlzIHByZXZlbnQgdGhlIFdhbmd4dW4KaW5p dGlhbGl6YXRpb24gYmxvY2sgZnJvbSBydW5uaW5nIG9uIHRoZSBuZXh0IHBvbGwgYW5kIGxlYXZl IHRoZSBsaW5rCnN0dWNrPwoKPiArCj4gKwlpZiAoeHBjcy0+aW5mby5wbWEgIT0gV1hfVFhHQkVf WFBDU19QTUFfMTBHX0lEKSB7Cj4gKwkJLyogSWYgdGhlIGxpbmsgZG93biwgcmVzdGFydCBBdXRv LU5lZ290aWF0aW9uICovCj4gKwkJaWYgKHN0YXRlLT5hbl9jb21wbGV0ZSkKPiArCQkJeHBjc19t b2RpZnkoeHBjcywgTURJT19NTURfVkVORDIsIE1JSV9CTUNSLCBCTUNSX0FOUkVTVEFSVCwKPiAr CQkJCSAgICBCTUNSX0FOUkVTVEFSVCk7Cj4gKwo+ICsJCXJldHVybiAwOwo+ICsJfQo+ICsKPiAr CWlmIChyZXQgPT0gRFdfVlJfTUlJX0FOX1NUU19DMzdfQU5DTVBMVF9JTlRSKSB7Cj4gIAkJaW50 IHNwZWVkLCBkdXBsZXg7Cj4gIAo+ICAJCXN0YXRlLT5saW5rID0gdHJ1ZTsKClsgLi4uIF0KCi0t IApTYXNoaWtvIEFJIHJldmlldyDCtyBodHRwczovL3Nhc2hpa28uZGV2LyMvcGF0Y2hzZXQvMjAy NjA3MTQxOTEzNDEuNjkwOTA2LTEtY29pYXByYW50QGdtYWlsLmNvbT9wYXJ0PTYKCi0tIApsaW51 eC1waHkgbWFpbGluZyBsaXN0CmxpbnV4LXBoeUBsaXN0cy5pbmZyYWRlYWQub3JnCmh0dHBzOi8v bGlzdHMuaW5mcmFkZWFkLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2xpbnV4LXBoeQo= 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 17599446BEA for ; Wed, 15 Jul 2026 19:15:00 +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=1784142906; cv=none; b=ZzGgSRMatsZP3IEouQJAYl43Y5YzYT9Eg/XGxlIuYho9xHaMYJaN6vsQPM2qIImSXwzPHZYe6GkeWHMaW3r1P/lzsY1i0xPXgilSsBwAianCVEBU3NdBf8BH3tErRljLY03KQx/n9puhHP81rxYU4K+GLopHxRjZE8q/yW1anro= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1784142906; c=relaxed/simple; bh=RmdojlrozxkF5xNffdW8fb5g+7ceZtYCDv02tnM/Kfs=; h=From:Subject:To:Cc:In-Reply-To:References:Content-Type:Date: Message-Id; b=i0H9CO5hbPz3mLTqs72IZIFSbAc514NMqSEFrhbwP6ElzIj25NSLAMHiLCEsrjg1jn5qQ3NA6bx9TlSobaFRsv8VCG47Gz+WGnTWOWBqUNm/Eub9ONzbLNtirVFwBvvhItqH58Wda2sb+xiUbgrEKWi4xmhKEOlRv1iGs7y9o9c= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=KehEWCyG; 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="KehEWCyG" Received: by smtp.kernel.org (Postfix) with ESMTPSA id DEE731F000E9; Wed, 15 Jul 2026 19:14:53 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=kernel.org; s=k20260515; t=1784142894; bh=EmrdoLIZZQcGtWbtgtxSkBaPsATqasvPdAOr+v9I5+I=; h=From:Subject:Reply-To:To:Cc:In-Reply-To:References:Date; b=KehEWCyGn9ed00VaDFVM1gK4Ivor7yAYRXh0kc6TDP6YZXuP+ZtyxiotRCetpRKZO 1+zFr/41eeKh5/5H9l0h2TMrVIDDbUELurcujYf5FxSt3k9Fsm3lqXoNEiRKZnnXzx bFd0Z3AexArDePeoGxYN9F5K4PsK59ZxTMsGYV94ueHJG1/5cbtElQ60upfnvajSWq 28CXloehZgsVck1zPZX377hXfF2gsIbFifwX8BHsL/zcns+97eCSJ2aP8OGPD6g53U H4AmzjPhzUMcGE/8A4fAJlNa6AqIjKpwTHa20xlj8O2HT5NJmubQ8toMY34n9Bl2C1 E5d7ZsAOq69Sw== From: sashiko-bot@kernel.org Subject: Re: [RFC PATCH 06/10] net: pcs: xpcs: improve SGMII AN state handling for Rockchip RK3568 Reply-To: sashiko-reviews@lists.linux.dev To: "Coia Prant" Cc: vkoul@kernel.org, olteanv@gmail.com, neil.armstrong@linaro.org, robh@kernel.org, devicetree@vger.kernel.org, conor+dt@kernel.org, linux-phy@lists.infradead.org In-Reply-To: <20260714191341.690906-7-coiaprant@gmail.com> References: <20260714191341.690906-1-coiaprant@gmail.com> <20260714191341.690906-7-coiaprant@gmail.com> Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Date: Wed, 15 Jul 2026 19:14:53 +0000 Message-Id: <20260715191453.DEE731F000E9@smtp.kernel.org> Precedence: bulk X-Mailing-List: devicetree@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: Thank you for your contribution! Sashiko AI review found 2 potential issue(= s) to consider: - [High] The AN complete status is cleared before reading MII_BMCR in the W= angxun-specific path, which can cause the link to stall permanently if a su= bsequent MDIO read fails. - [Medium] The patch modifies the 1000BASE-X configuration path to assert B= MCR_ANRESTART without any mention or justification in the commit message. -- --- Patch [6]: [RFC PATCH 06/10] net: pcs: xpcs: improve SGMII AN state han= dling for Rockchip RK3568 --- commit 8c1976e4f52a5e7d8b4bab114f6cf214fe50a249 Author: Coia Prant net: pcs: xpcs: improve SGMII AN state handling for Rockchip RK3568 This patch modifies SGMII AN state handling for Rockchip RK3568 by checking CL37_ANSGM_STS for link status. It clears the AN complete interrupt and restarts AN for non-Wangxun platforms if complete, and clears CL37 AN complete status before starting AN to ensure a clean initial state. > diff --git a/drivers/net/pcs/pcs-xpcs.c b/drivers/net/pcs/pcs-xpcs.c > index e69fa2f0a0e8d..cf370ba247cac 100644 > --- a/drivers/net/pcs/pcs-xpcs.c > +++ b/drivers/net/pcs/pcs-xpcs.c [ ... ] > @@ -884,7 +889,7 @@ static int xpcs_config_aneg_c37_1000basex(struct dw_x= pcs *xpcs, > =20 > if (neg_mode =3D=3D PHYLINK_PCS_NEG_INBAND_ENABLED) { > ret =3D xpcs_write(xpcs, MDIO_MMD_VEND2, MII_BMCR, > - mdio_ctrl | BMCR_ANENABLE); > + mdio_ctrl | BMCR_ANENABLE | BMCR_ANRESTART); [Severity: Medium] The commit message mentions improving SGMII AN state handling, but this adds BMCR_ANRESTART to the 1000BASE-X configuration path in xpcs_config_aneg_c37_1000basex(). Was this unintentional, or should the commit message be updated to mention this behavior change for 1000BASE-X? > if (ret < 0) > return ret; > } [ ... ] > @@ -1086,7 +1094,24 @@ static int xpcs_get_state_c37_sgmii(struct dw_xpcs= *xpcs, > state->duplex =3D DUPLEX_FULL; > else > state->duplex =3D DUPLEX_HALF; > - } else if (ret =3D=3D DW_VR_MII_AN_STS_C37_ANCMPLT_INTR) { > + > + return 0; > + } > + > + /* Clear AN complete status or interrupt */ > + if (state->an_complete) > + xpcs_write(xpcs, MDIO_MMD_VEND2, DW_VR_MII_AN_INTR_STS, 0); [Severity: High] Can clearing the interrupt here lead to a permanently stalled link on Wangxun platforms if the subsequent xpcs_read() fails? The original code cleared DW_VR_MII_AN_INTR_STS at the very end of the DW_VR_MII_AN_STS_C37_ANCMPLT_INTR block, after successfully reading MII_BMCR and MII_ADVERTISE. By moving the interrupt clear here: if (state->an_complete) xpcs_write(xpcs, MDIO_MMD_VEND2, DW_VR_MII_AN_INTR_STS, 0); If a transient MDIO error occurs during the subsequent MII_BMCR read: speed =3D xpcs_read(xpcs, MDIO_MMD_VEND2, MII_BMCR); if (speed < 0) return speed; The function will exit with an error and the link will remain down, but the AN complete status has already been cleared. Will this prevent the Wangxun initialization block from running on the next poll and leave the link stuck? > + > + if (xpcs->info.pma !=3D WX_TXGBE_XPCS_PMA_10G_ID) { > + /* If the link down, restart Auto-Negotiation */ > + if (state->an_complete) > + xpcs_modify(xpcs, MDIO_MMD_VEND2, MII_BMCR, BMCR_ANRESTART, > + BMCR_ANRESTART); > + > + return 0; > + } > + > + if (ret =3D=3D DW_VR_MII_AN_STS_C37_ANCMPLT_INTR) { > int speed, duplex; > =20 > state->link =3D true; [ ... ] --=20 Sashiko AI review =C2=B7 https://sashiko.dev/#/patchset/20260714191341.6909= 06-1-coiaprant@gmail.com?part=3D6