Bug 2217223

Summary: r8152: autosuspend causes network packet storm
Product: [Fedora] Fedora Reporter: Gerben Welter <gerben>
Component: kernelAssignee: Kernel Maintainer List <kernel-maint>
Status: NEW --- QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: medium Docs Contact:
Priority: unspecified    
Version: 38CC: acaringi, adscvr, airlied, alciregi, bskeggs, hdegoede, hpa, jarodwilson, josef, kernel-maint, lgoncalv, linville, masami256, mchehab, ptalbert, steved
Target Milestone: ---Keywords: Regression
Target Release: ---   
Hardware: x86_64   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: ---
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description Gerben Welter 2023-06-25 08:11:58 UTC
Recently I experienced network outages. At first I thought one of my network switches was going haywire but eventually I tracked it down to my monitor. My monitor is a Dell U2722DE with built-in dock so I can connect everything through USB-C. This includes the monitor's built-in Ethernet which is the following:

Bus 002 Device 004: ID 0bda:8153 Realtek Semiconductor Corp. RTL8153 Gigabit Ethernet Adapter

I noticed that when shutting down my laptop running Fedora 38 that within 30 seconds or so the monitor started flooding the network. Pulling the network cable or power cycling the monitor fixes the problem until the next time the laptop is shutdown.

Because this only started happening recently I hadn't changed anything in my setup I started suspecting a software change. I quickly found the following change to the linux kernel r8152 driver:

0fbd79c01a9a657348f7032df70c57a406468c86  r8152: fix the autosuspend doesn't work

This change was backported to Linux 6.3.3 which fits the timeframe I started experiencing this problem.

I managed to build a custom kernel without the above commit using the instructions at: https://fedoraproject.org/wiki/Building_a_custom_kernel

Then I rebooted my laptop several times with the distro kernel and my patched kernel and watched the network behavior. I could consistently recreate the problem with the distro kernel even after power cycling the monitor but not with the patched kernel. It seems that the distro kernel leaves the monitor's network connection in such a state that it will start flooding the network. With the above commit reverted that doesn't happen anymore.


Reproducible: Always

Steps to Reproduce:
1. Use Fedora
2. Shutdown laptop

Actual Results:  
Monitor starts flooding the network causing loss of connectivity for other connected devices.

Expected Results:  
No network outage.

On researching my problem I also found the following problem with a similar Dell monitor: https://www.dell.com/community/Monitors/U3421WE-Ethernet-causes-network-storm/td-p/7786590

The suggested workaround at the bottom was not applicable because my monitor was already condigured that way. Also it was working fine with Fedora before Linux 6.3.3.