Re: r8152: data corruption in various scenarios
From: Kai Heng Feng <hidden>
Date: 2019-01-07 04:09:47
Also in:
lkml
On Jan 7, 2019, at 05:16, Mark Lord [off-list ref] wrote: On 2019-01-06 4:13 p.m., Mark Lord wrote:quoted
On 2019-01-06 2:14 p.m., Kai Heng Feng wrote:>> On Jan 5, 2019, at 10:14 PM, Mark Lord [off-list ref] wrote: ..quoted
quoted
There is even now a special hack in the upstream r8152.c to attempt to detect a Dell TB16 dock and disable RX Aggregation in the driver to prevent such issues. Well.. I have a WD15 dock, not a TB16, and that same hack also catches my dock in its net: [5.794641] usb 4-1.2: Dell TB16 Dock, disable RX aggregationThe serial should be unique according to Dell.quoted
So one issue is that the code is not correctly identifying the dock, and the WD15 is claimed to be immune from the r8152 issues.The WD15 I tested didn't use that serial number though...What info do you need from me about the WD15 so this can be corrected?quoted
quoted
xhci_hcd 0000:39:00.0: ERROR Transfer event TRB DMA ptr not part of current TD ep_index 13 comp_code 1This is probably an xHC bug. A similar issue is fixed by commit 9da5a1092b13 ("xhci: Bad Ethernet performance plugged in ASM1042A host”).quoted
I just got that exact message above, with the r8152 in my 1-day old WD15 dock, with the TB16 "workaround" enabled in Linux kernel 4.20.0.Is the xHC WD15 connected an ASMedia one?I don't know. I *think* it identifies as a DSL6340 (see below). Here is lspci and lsusb: $ lspci -vt -[0000:00]-+-00.0 Intel Corporation Xeon E3-1200 v6/7th Gen Core Processor Host Bridge/DRAM Registers +-02.0 Intel Corporation UHD Graphics 620 +-04.0 Intel Corporation Skylake Processor Thermal Subsystem +-14.0 Intel Corporation Sunrise Point-LP USB 3.0 xHCI Controller +-14.2 Intel Corporation Sunrise Point-LP Thermal subsystem +-15.0 Intel Corporation Sunrise Point-LP Serial IO I2C Controller #0 +-15.1 Intel Corporation Sunrise Point-LP Serial IO I2C Controller #1 +-16.0 Intel Corporation Sunrise Point-LP CSME HECI #1 +-1c.0-[01-39]----00.0-[02-39]--+-00.0-[03]-- | +-01.0-[04-38]-- | \-02.0-[39]----00.0 Intel Corporation DSL6340 USB 3.1 Controller [Alpine Ridge] +-1c.4-[3a]----00.0 Qualcomm Atheros QCA6174 802.11ac Wireless Network Adapter +-1d.0-[3b]----00.0 Samsung Electronics Co Ltd Device a808 +-1f.0 Intel Corporation Device 9d4e +-1f.2 Intel Corporation Sunrise Point-LP PMC +-1f.3 Intel Corporation Sunrise Point-LP HD Audio \-1f.4 Intel Corporation Sunrise Point-LP SMBusMmm.. lspci -vt isn't as verbose as I thought, so here is plain lspci to fill in the blanks: $ lspci 00:00.0 Host bridge: Intel Corporation Xeon E3-1200 v6/7th Gen Core Processor Host Bridge/DRAM Registers (rev 08) 00:02.0 VGA compatible controller: Intel Corporation UHD Graphics 620 (rev 07) 00:04.0 Signal processing controller: Intel Corporation Skylake Processor Thermal Subsystem (rev 08) 00:14.0 USB controller: Intel Corporation Sunrise Point-LP USB 3.0 xHCI Controller (rev 21) 00:14.2 Signal processing controller: Intel Corporation Sunrise Point-LP Thermal subsystem (rev 21) 00:15.0 Signal processing controller: Intel Corporation Sunrise Point-LP Serial IO I2C Controller #0 (rev 21) 00:15.1 Signal processing controller: Intel Corporation Sunrise Point-LP Serial IO I2C Controller #1 (rev 21) 00:16.0 Communication controller: Intel Corporation Sunrise Point-LP CSME HECI #1 (rev 21) 00:1c.0 PCI bridge: Intel Corporation Sunrise Point-LP PCI Express Root Port (rev f1) 00:1c.4 PCI bridge: Intel Corporation Sunrise Point-LP PCI Express Root Port #5 (rev f1) 00:1d.0 PCI bridge: Intel Corporation Sunrise Point-LP PCI Express Root Port #9 (rev f1) 00:1f.0 ISA bridge: Intel Corporation Device 9d4e (rev 21) 00:1f.2 Memory controller: Intel Corporation Sunrise Point-LP PMC (rev 21) 00:1f.3 Audio device: Intel Corporation Sunrise Point-LP HD Audio (rev 21) 00:1f.4 SMBus: Intel Corporation Sunrise Point-LP SMBus (rev 21) 01:00.0 PCI bridge: Intel Corporation DSL6340 Thunderbolt 3 Bridge [Alpine Ridge 2C 2015] 02:00.0 PCI bridge: Intel Corporation DSL6340 Thunderbolt 3 Bridge [Alpine Ridge 2C 2015] 02:01.0 PCI bridge: Intel Corporation DSL6340 Thunderbolt 3 Bridge [Alpine Ridge 2C 2015] 02:02.0 PCI bridge: Intel Corporation DSL6340 Thunderbolt 3 Bridge [Alpine Ridge 2C 2015] 39:00.0 USB controller: Intel Corporation DSL6340 USB 3.1 Controller [Alpine Ridge]
So it’s not an ASMedia one. Before digging further, please make sure the system firmware (BIOS), Thunderbolt controller NVM and WD15 firmware are all up-to-date. Kai-Heng
3a:00.0 Network controller: Qualcomm Atheros QCA6174 802.11ac Wireless Network Adapter (rev 32) 3b:00.0 Non-Volatile memory controller: Samsung Electronics Co Ltd Device a808 -- Mark Lord Real-Time Remedies Inc. mlord@pobox.com