Commit 'r8152: fix a WOL issue' makes Ethernet port on Lenovo Thunderbolt 3 dock go crazy

From: Maxim Levitsky
Date: Tue Aug 23 2022 - 07:21:35 EST



I recently bisected an issue on my Lenovo P1 gen3, which is connected to the Lenovo Thunderbolt 3 dock.

After I suspend the laptop to ram, the ethernet port led on the dock starts to blink like crazy,
its peer port on my ethernet switch blinks as well, and eventually the switch stops forwarding packets,
bringing all my network down.

Likely the ethernet card in the dock sends some kind of a garbage over the wire.

Resuming the laptop, "fixes" the issue (leds stops blinking, and the network starts working again
after a minute or so).

I also tried to connect the dock directly to my main desktop over a dedicated usb network card
and try to capture the packets that are sent, but no packets were captured. I will soon retry
this test with another network card. I did use promicious mode.


This is the offending commit, and reverting it helps:

commit cdf0b86b250fd3c1c3e120c86583ea510c52e4ce
Author: Hayes Wang <hayeswang@xxxxxxxxxxx>
Date: Mon Jul 18 16:21:20 2022 +0800

r8152: fix a WOL issue

This fixes that the platform is waked by an unexpected packet. The
size and range of FIFO is different when the device enters S3 state,
so it is necessary to correct some settings when suspending.

Regardless of jumbo frame, set RMS to 1522 and MTPS to MTPS_DEFAULT.
Besides, enable MCU_BORW_EN to update the method of calculating the
pointer of data. Then, the hardware could get the correct data.

Fixes: 195aae321c82 ("r8152: support new chips")
Signed-off-by: Hayes Wang <hayeswang@xxxxxxxxxxx>
Link: https://lore.kernel.org/r/20220718082120.10957-391-nic_swsd@xxxxxxxxxxx
Signed-off-by: Jakub Kicinski <kuba@xxxxxxxxxx>


WOL from dock was enabled in BIOS, but I tested with it disabled as well, and
no change in behavier.

Any help is welcome. I can test patches if needed, the laptop currently runs 6.0-rc2
with this commit reverted.

When I find some time I can also narrow the change down by reverting only parts
of the patch.

Best regards,
Maxim Levitsky