On 15.07.2020 10:28, Petr Tesarik wrote: > Hi all, > > I've encountered some issues on an Asus laptop. The RTL8402 receive > queue behaves strangely after suspend to RAM and resume - many incoming > packets are truncated, but not all and not always to the same length > (most commonly 60 bytes, but I've also seen 150 bytes and other > lengths). > > Reloading the driver can fix the problem, so I believe we must be > missing some initialization on resume. I've already done some > debugging, and the interface is not running when rtl8169_resume() is > called, so __rtl8169_resume() is skipped, which means that almost > nothing is done on resume. > The dmesg log part in the opensuse bug report indicates that a userspace tool (e.g. NetworkManager) brings down the interface on suspend. On resume the interface is brought up again, and PHY driver is loaded. Therefore it's ok that rtl8169_resume() is a no-op.
The bug report mentions that the link was down before suspending. Does the issue also happen if the link is up when suspending? Interesting would also be a test w/o a network manager. Means the interface stays up during suspend/resume cycle. Unfortunately it's not known whether it's a regression, and I have no test hw with this chip version. Also you could test whether the same happens with the r8101 vendor driver. > Some more information can be found in this openSUSE bug report: > > https://bugzilla.opensuse.org/show_bug.cgi?id=1174098 > > The laptop is not (yet) in production, so I can do further debugging if > needed. > > Petr T > Heiner