On 10/29/2016 12:24 AM, Timur Tabi wrote: > Zefir Kurtisi wrote: >> + /* check if the SGMII link is OK. */ >> + if (!(phy_read(phydev, AT803X_PSSR) & AT803X_PSSR_MR_AN_COMPLETE)) { >> + pr_warn("803x_aneg_done: SGMII link is not ok\n"); >> + aneg_done = 0; > > I see this message appear sometimes when bring up the interface via ifup. > However, contrary to your patch description, everything seems to work: > Right so, seeing the message and still having the SGMII link up and working is what happens most. But randomly (in our setup it is in the order of 1%) we see that SGMII remains down after a suspend-resume cycle. This message is a required but not sufficient condition.
> $ iperf3 -c 192.168.1.1 -t 3600 > Connecting to host 192.168.1.1, port 5201 > [ 4] local 192.168.1.2 port 52640 connected to 192.168.1.1 port 5201 > [ ID] Interval Transfer Bandwidth Retr Cwnd > [ 4] 0.00-1.00 sec 109 MBytes 909 Mbits/sec 0 485 KBytes > [ 4] 1.00-2.00 sec 108 MBytes 902 Mbits/sec 0 622 KBytes > > I wonder if you're impacted with all of the pause frame problems I'm having. > I doubt, since resetting SGMII link alone (via toggling MII_BMCR on fibre page) brings back the SGMII communication, I assume it to be below the MAC layer. Are you aware of any related erratas for the at803x? I am not and therefore left alone with my guesswork.