r8152 init may take up to 40 seconds at initialization with Dell WD19/WD19DC during hotplug
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
HWE Next |
Fix Released
|
Undecided
|
Unassigned | ||
linux (Ubuntu) |
Fix Released
|
Undecided
|
You-Sheng Yang | ||
Bionic |
Fix Released
|
Undecided
|
You-Sheng Yang | ||
Eoan |
Fix Released
|
Undecided
|
You-Sheng Yang | ||
Focal |
Fix Released
|
Undecided
|
You-Sheng Yang | ||
linux-oem (Ubuntu) |
Fix Released
|
Undecided
|
Unassigned | ||
Bionic |
Fix Released
|
Undecided
|
You-Sheng Yang | ||
linux-oem-osp1 (Ubuntu) |
Fix Released
|
Undecided
|
Unassigned | ||
Bionic |
Fix Released
|
Undecided
|
You-Sheng Yang |
Bug Description
[SRU Justification]
[Impact]
USB devices attached to Dell WD19/WD19DC USB Type-C dock take up to nearly one
minutes to be ready for use.
[Fix]
r8152 driver init process involves several for-loops that each may take up to 14
seconds to exit when USB port reset occurs during hotplug. This is still
reproducible with latest v5.6-rc mainline kernel although the fail rate is much
lower since v5.5-rc7.
[Test Case]
Verified on Dell WD19DC.
[Regression Potential]
Low. Just to exit the loop early when it should have been.
========== original bug description ==========
Dell USB Type C docking WD19/WD19DC attaches additional peripherals as:
/: Bus 02.Port 1: Dev 1, Class=root_hub, Driver=xhci_hcd/6p, 5000M
|__ Port 1: Dev 11, If 0, Class=Hub, Driver=hub/4p, 5000M
|__ Port 3: Dev 12, If 0, Class=Hub, Driver=hub/4p, 5000M
|__ Port 4: Dev 13, If 0, Class=Vendor Specific Class, Driver=r8152, 5000M
where usb 2-1-3 is a hub connecting all USB Type-A/C ports on the dock.
When hotplugging such dock with additional usb devices already attached on it, the probing process may reset usb 2.1 port, therefore r8152 ethernet device is also reset. However, in r8152 driver there are several for-loops that may take up to 14 seconds during the initialization for each in practice, and that has to be completed before USB may re-enumerate devices on the bus. As a result, devices attached to the dock will only be available after nearly 1 minute after the dock is plugged in.
[ 216.388290] [250] r8152 2-1.4:1.0: usb_probe_interface
[ 216.388292] [250] r8152 2-1.4:1.0: usb_probe_interface - got id
[ 258.830410] r8152 2-1.4:1.0 (unnamed net_device) (uninitialized): PHY not ready
[ 258.830460] r8152 2-1.4:1.0 (unnamed net_device) (uninitialized): Invalid header when reading pass-thru MAC addr
[ 258.830464] r8152 2-1.4:1.0 (unnamed net_device) (uninitialized): Get ether addr fail
This can be reproduced on all kernel versions up to latest v5.6-rc2, but after v5.5-rc7 the reproduce rate is dramatically lower to 1/30 or so while it was around 1/2.
The time consuming for-loops are at:
https:/
https:/
https:/
ProblemType: Bug
DistroRelease: Ubuntu 18.04
Package: linux-image-
ProcVersionSign
Uname: Linux 5.0.0-1037-oem-osp1 x86_64
ApportVersion: 2.20.9-0ubuntu7.11
Architecture: amd64
AudioDevicesInUse:
USER PID ACCESS COMMAND
/dev/snd/
CurrentDesktop: ubuntu:GNOME
Date: Sat Feb 22 04:07:20 2020
DistributionCha
# This is the distribution channel descriptor for the OEM CDs
# For more information see http://
canonical-
InstallationDate: Installed on 2020-01-16 (37 days ago)
InstallationMedia: Ubuntu 18.04 "Bionic" - Build amd64 LIVE Binary 20180608-09:38
IwConfig:
enp1s0 no wireless extensions.
enxd8d090035306 no wireless extensions.
lo no wireless extensions.
MachineType: Dell Inc. Latitude 3310
ProcEnviron:
TERM=xterm-
PATH=(custom, no user)
XDG_RUNTIME_
LANG=en_US.UTF-8
SHELL=/bin/bash
ProcFB: 0 inteldrmfb
ProcKernelCmdLine: BOOT_IMAGE=
RelatedPackageV
linux-
linux-
linux-firmware 1.173.15
SourcePackage: linux-oem-osp1
UpgradeStatus: No upgrade log present (probably fresh install)
dmi.bios.date: 01/07/2020
dmi.bios.vendor: Dell Inc.
dmi.bios.version: 99.51.2[V2 AMI]
dmi.board.vendor: Dell Inc.
dmi.chassis.type: 10
dmi.chassis.vendor: Dell Inc.
dmi.modalias: dmi:bvnDellInc.
dmi.product.family: Latitude
dmi.product.name: Latitude 3310
dmi.product.sku: 0A13
dmi.sys.vendor: Dell Inc.
CVE References
description: | updated |
description: | updated |
Changed in linux (Ubuntu Bionic): | |
assignee: | nobody → You-Sheng Yang (vicamo) |
status: | New → In Progress |
Changed in linux (Ubuntu Eoan): | |
assignee: | nobody → You-Sheng Yang (vicamo) |
status: | New → In Progress |
Changed in linux (Ubuntu Focal): | |
assignee: | nobody → You-Sheng Yang (vicamo) |
status: | Confirmed → In Progress |
Changed in linux-oem (Ubuntu Bionic): | |
assignee: | nobody → You-Sheng Yang (vicamo) |
status: | New → In Progress |
Changed in linux-oem-osp1 (Ubuntu Bionic): | |
assignee: | nobody → You-Sheng Yang (vicamo) |
status: | New → In Progress |
Changed in linux-oem (Ubuntu Bionic): | |
status: | In Progress → Fix Committed |
no longer affects: | linux-oem (Ubuntu Eoan) |
no longer affects: | linux-oem (Ubuntu Focal) |
no longer affects: | linux-oem-osp1 (Ubuntu Eoan) |
no longer affects: | linux-oem-osp1 (Ubuntu Focal) |
Changed in linux-oem-osp1 (Ubuntu Bionic): | |
status: | In Progress → Fix Committed |
Changed in linux (Ubuntu Bionic): | |
status: | In Progress → Fix Committed |
Changed in linux (Ubuntu Eoan): | |
status: | In Progress → Fix Committed |
Changed in hwe-next: | |
status: | New → Fix Released |
This change was made by a bot.