earlyprintk=xdbc seems broken

From: Peter Zijlstra
Date: Thu Dec 02 2021 - 12:30:57 EST


Hi Lu,

I was unfortunate enough to need xdbc and can't get my machine to boot
with earlyprintk=xdbc on the cmdline.

When I boot the target without the earlyprintk=xdbc, but have the cable
attached, it won't boot because boot gets stuck like:

Dec 2 15:08:10 tigerlake kernel: [ 42.043137] usb usb4-port3: Cannot enable. Maybe the USB cable is bad?
Dec 2 15:08:10 tigerlake kernel: [ 42.043227] usb usb4-port3: config error

However, when I boot without earlyprintk=xdbc, without the cable
attached, then I can attach the cable and:

$ echo enable > /sys/bus/pci/devices/0000:00:14.0/dbc

will actually work, and it shows up on my host system:

[1023855.419430] usb usb2-port3: Cannot enable. Maybe the USB cable is bad?
[1023855.419455] usb usb2-port3: config error
[1023859.491476] usb usb2-port3: Cannot enable. Maybe the USB cable is bad?
[1023859.491487] usb usb2-port3: config error
[1023861.335436] usb usb2-port3: config error
[1023861.607476] usb 2-3: new SuperSpeed USB device number 7 using xhci_hcd
[1023861.627614] usb 2-3: LPM exit latency is zeroed, disabling LPM.
[1023861.627853] usb 2-3: New USB device found, idVendor=1d6b, idProduct=0010, bcdDevice= 0.10
[1023861.627855] usb 2-3: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[1023861.627856] usb 2-3: Product: Linux USB Debug Target
[1023861.627857] usb 2-3: Manufacturer: Linux Foundation
[1023861.627858] usb 2-3: SerialNumber: 0001
[1023861.629344] usb_debug 2-3:1.0: xhci_dbc converter detected
[1023861.629532] usb 2-3: xhci_dbc converter now attached to ttyUSB0


Can you please see if you can repro and fix this?

This all was with current 5.16-rc3 on a tigerlake nuc.

Also, perhaps you can update the guide on what sort of setup/cables
etc.. you need when either the host or the client is a usb3.1 usb-c only
device.