Subject: [REGRESSION] r8169: Cannot restart phy after suspend

From: Armin Wolf <[email-masked]>
Date: Tue, 9 Feb 2021 19:26:56 +0100

When waking up from suspend, r8169 fails to restart the phy, preventing
any form of networking until a complete reboot. This bug was introduced
in commit

e80bd76fbf563cc7ed8c9e9f3bbcdf59b0897f69 r8169: work around power-saving
bug on some chip versions

and could be reproduced with
- the latest net-next kernel (5.11.0-rc6)
- stable 4.19.0-171

but not with stable 4.19.0-160.

The bug occurs regularly when suspending the maschine, but sometimes
everything works fine after suspend.
However on stable 4.19.0-171 when suspending without any LAN cable
plugged in, the kernel does a partial freeze and needs to be restarted
by the case switch.

dmesg logs at https://bugzilla.kernel.org/show_bug.cgi?id=211659.

cat /proc/version:
Linux version 5.11.0-rc6-net-next+ (wolf@MX-Linux-Intel) (gcc (Debian
8.3.0-6) 8.3.0, GNU ld (GNU Binutils for Debian) 2.31.1) #3 SMP Sat Feb
6 20:41:37 CET 2021

hostnamectl | grep "Operating System":
Operating System: Debian GNU/Linux 10 (buster)

lspci -nn:
00:00.0 Host bridge [0600]: Intel Corporation 2nd Generation Core
Processor Family DRAM Controller [8086:0100] (rev 09)
00:01.0 PCI bridge [0604]: Intel Corporation Xeon E3-1200/2nd Generation
Core Processor Family PCI Express Root Port [8086:0101] (rev 09)
00:02.0 Display controller [0380]: Intel Corporation 2nd Generation Core
Processor Family Integrated Graphics Controller [8086:0102] (rev 09)
00:16.0 Communication controller [0780]: Intel Corporation 6 Series/C200
Series Chipset Family MEI Controller #1 [8086:1c3a] (rev 04)
00:1a.0 USB controller [0c03]: Intel Corporation 6 Series/C200 Series
Chipset Family USB Enhanced Host Controller #2 [8086:1c2d] (rev 05)
00:1b.0 Audio device [0403]: Intel Corporation 6 Series/C200 Series
Chipset Family High Definition Audio Controller [8086:1c20] (rev 05)
00:1c.0 PCI bridge [0604]: Intel Corporation 6 Series/C200 Series
Chipset Family PCI Express Root Port 1 [8086:1c10] (rev b5)
00:1c.2 PCI bridge [0604]: Intel Corporation 6 Series/C200 Series
Chipset Family PCI Express Root Port 3 [8086:1c14] (rev b5)
00:1d.0 USB controller [0c03]: Intel Corporation 6 Series/C200 Series
Chipset Family USB Enhanced Host Controller #1 [8086:1c26] (rev 05)
00:1f.0 ISA bridge [0601]: Intel Corporation H61 Express Chipset Family
LPC Controller [8086:1c5c] (rev 05)
00:1f.2 SATA controller [0106]: Intel Corporation 6 Series/C200 Series
Chipset Family SATA AHCI Controller [8086:1c02] (rev 05)
00:1f.3 SMBus [0c05]: Intel Corporation 6 Series/C200 Series Chipset
Family SMBus Controller [8086:1c22] (rev 05)
01:00.0 VGA compatible controller [0300]: Advanced Micro Devices, Inc.
[AMD/ATI] Cedar [Radeon HD 7350/8350 / R5 220] [1002:68fa]
01:00.1 Audio device [0403]: Advanced Micro Devices, Inc. [AMD/ATI]
Cedar HDMI Audio [Radeon HD 5400/6300/7300 Series] [1002:aa68]
03:00.0 Ethernet controller [0200]: Realtek Semiconductor Co., Ltd.
RTL8101/2/6E PCI Express Fast/Gigabit Ethernet controller [10ec:8136]
(rev 05)