When TBT dock is plugged into ICL TBT xHCI, port without device is in CAS state, causes many warm reset fail

Bug #1878602 reported by Kai-Heng Feng
18
This bug affects 1 person
Affects Status Importance Assigned to Milestone
OEM Priority Project
New
Undecided
Unassigned
linux (Ubuntu)
Won't Fix
Undecided
Unassigned

Bug Description

Since we can't use bugzilla for USB bugs, let's use Launchpad so we can attach dmesg :)

System: XPS 9300 ICL
Dock: Dell WD19TB Thunderbolt dock
Linux: 5.7-rc5

Right after the dock is plugged,
[ 127.205823] xhci_hcd 0000:00:0d.0: Get port status 2-1 read: 0x10202a0, return 0x10341
[ 127.205832] usb usb2-port1: status 0341 change 0001

CAS is flagged so warm-reset ensues:
[ 127.313467] usb usb2-port1: do warm reset

However, it seems nothing is connected to usb2-port1, causes many warm-reset fail, hence this error message:
[ 132.158968] usb usb2-port1: Cannot enable. Maybe the USB cable is bad?

This issue doesn't happen on CML system with AR/TR TBT controller.

Revision history for this message
Kai-Heng Feng (kaihengfeng) wrote :
Revision history for this message
Kai-Heng Feng (kaihengfeng) wrote :

lspci -vvnn

Revision history for this message
Kai-Heng Feng (kaihengfeng) wrote :
Revision history for this message
Kai-Heng Feng (kaihengfeng) wrote :

firmwares are all up-to-date.

Revision history for this message
Kai-Heng Feng (kaihengfeng) wrote :

usb1 and usb2 is root hub of "00:0d.0 USB controller [0c03]: Intel Corporation Ice Lake Thunderbolt 3 USB Controller [8086:8a13] (rev 03) (prog-if 30 [XHCI])".

Changed in linux (Ubuntu):
status: New → Confirmed
Revision history for this message
Kai-Heng Feng (kaihengfeng) wrote :

Mika, Matthias,

Can you please take a look at the dmesg? If it's a known bug in ICL TBT firmware/hardware, we can close this issue.

Revision history for this message
Mika Westerberg (mika-westerberg) wrote :

I don't know much about xHCI so Mathias can comment on that. I do remember seeing messages like:

  usb usb2-port1: Cannot enable. Maybe the USB cable is bad?

in the past but not sure if it is only with ICL. It is also weird that the TCSS xHCI is doing anything if you plug TBT 3 device since USB is not tunneled. Might be something related to Type-C or PD.

Revision history for this message
Mathias Nyman (mathias-nyman) wrote :

I'm not aware of any known issue like this.
Is there any USB3 device connected at all?

The only sign of a connected device is that one time CAS bit is set.

device never reaches enables state (no successful link training), no error,
not going to invalid or compliance state either.
Just stays in disabled/Disconnected, as if no device is connected.

Driver tries everything to enable the device, several resets, warm reset, turns port power
off/on, but no reaction.

(CAS -Cold Attach Status is set when xHC can't advance the link to the enabled U0 state due
to itself being in D3, or because its clocks are not running.)

Revision history for this message
Kai-Heng Feng (kaihengfeng) wrote :

> Is there any USB3 device connected at all?
No. Only a Thunderbolt Dock is connected.

> Just stays in disabled/Disconnected, as if no device is connected.
Because there's no device connected to it. Actually it seems to be completely unused.

I wonder if we can disable the Bus 01/02 xHC completely, since all internal USBs are connected to the other xHC:
$ lsusb -t
/: Bus 04.Port 1: Dev 1, Class=root_hub, Driver=xhci_hcd/6p, 10000M
/: Bus 03.Port 1: Dev 1, Class=root_hub, Driver=xhci_hcd/12p, 480M
    |__ Port 5: Dev 2, If 0, Class=Vendor Specific Class, Driver=, 12M
    |__ Port 9: Dev 3, If 0, Class=Video, Driver=uvcvideo, 480M
    |__ Port 9: Dev 3, If 1, Class=Video, Driver=uvcvideo, 480M
    |__ Port 9: Dev 3, If 2, Class=Video, Driver=uvcvideo, 480M
    |__ Port 9: Dev 3, If 3, Class=Video, Driver=uvcvideo, 480M
    |__ Port 9: Dev 3, If 4, Class=Application Specific Interface, Driver=, 480M
    |__ Port 10: Dev 4, If 0, Class=Wireless, Driver=btusb, 12M
    |__ Port 10: Dev 4, If 1, Class=Wireless, Driver=btusb, 12M
/: Bus 02.Port 1: Dev 1, Class=root_hub, Driver=xhci_hcd/4p, 10000M
/: Bus 01.Port 1: Dev 1, Class=root_hub, Driver=xhci_hcd/1p, 480M

External USBs and Thunderbolt are also connected to Bus 03/04.

Revision history for this message
Kai-Heng Feng (kaihengfeng) wrote :

Since it doesn't seem to affect any real functionality, let's close it.

Changed in linux (Ubuntu):
status: Confirmed → Won't Fix
Alex Tu (alextu)
tags: added: oem-priority originate-from-1880498 somerville
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.