Re: [Intel-wired-lan] [PATCH v2 2/2] e1000e: fix link fluctuations problem

From: Ruinskiy, Dima
Date: Thu May 09 2024 - 05:13:51 EST


On 08/05/2024 8:05, Sasha Neftin wrote:
On 07/05/2024 15:31, Andrew Lunn wrote:
On Fri, May 03, 2024 at 06:18:36PM +0800, Ricky Wu wrote:
As described in https://bugzilla.kernel.org/show_bug.cgi?id=218642,
Intel I219-LM reports link up -> link down -> link up after hot-plugging
the Ethernet cable.

Please could you quote some parts of 802.3 which state this is a
problem. How is this breaking the standard.

    Andrew

In I219-* parts used LSI PHY. This PHY is compliant with the 802.3 IEEE standard if I recall correctly. Auto-negotiation and link establishment are processed following the IEEE standard and could vary from platform to platform but are not violent to the IEEE standard.

En-Wei, My recommendation is not to accept these patches. If you think there is a HW/PHY problem - open a ticket on Intel PAE.

Sasha

I concur. I am wary of changing the behavior of some driver fundamentals, to satisfy a particular validation/certification flow, if there is no real functionality problem. It can open a big Pandora box.

Checking the Bugzilla report again, I am not sure we understand the issue fully:

[ 143.141006] e1000e 0000:00:1f.6 enp0s31f6: NIC Link is Up 1000 Mbps Half Duplex, Flow Control: None
[ 143.144878] e1000e 0000:00:1f.6 enp0s31f6: NIC Link is Down
[ 146.838980] e1000e 0000:00:1f.6 enp0s31f6: NIC Link is Up 1000 Mbps Full Duplex, Flow Control: None

This looks like a very quick link "flap", following by proper link establishment ~3.7 seconds later. These ~3.7 seconds are in line of what link auto-negotiation would take (auto-negotiation is the default mode for this driver). The first print (1000 Mbps Half Duplex) actually makes no sense - it cannot be real link status since 1000/Half is not a supported speed. So it seems to me that actually the first "link up" is an incorrect/incomplete/premature reading, not the "link down".

--Dima