Re: [PATCH 00/24] Thunderbolt security levels and NVM firmware upgrade

From: Mika Westerberg
Date: Fri May 19 2017 - 13:20:00 EST


On Fri, May 19, 2017 at 04:35:01PM +0000, Mario.Limonciello@xxxxxxxx wrote:
> Mika,
>
> Thanks for submitting this series.
> I've tested security level stuff a little bit,
> but I'm running into what I think is some odd behavior.

Thanks for testing.

> Here's my setup:
> System: I'm using is an XPS 9350 (Has Alpine Ridge). It's got NVM 16.0. BIOS 1.4.13
> TBT Device: Dell TB16 (which has AR in the cable and in dock - both NVM 16.0).
>
> I created a udev rule that will automatically authorize the dock and cable.
> #dell cable
> ACTION=="add", SUBSYSTEM=="thunderbolt", ATTR{authorized}=="0", ATTR{vendor}=="0xd4", ATTR{device}=="0xb051", ATTR{authorized}="1"
> #dell dock
> ACTION=="add", SUBSYSTEM=="thunderbolt", ATTR{authorized}=="0", ATTR{vendor}=="0xd4", ATTR{device}=="0xb054", ATTR{authorized}="1"
>
> If I boot the system with the dock connected the cable shows up and authorizes but the dock doesn't.
> ---
> [ 6.916669] thunderbolt 0000:03:00.0: current switch config:
> [ 6.916671] thunderbolt 0000:03:00.0: Switch: 8086:1576 (Revision: 4, TB Version: 2)
> [ 6.916673] thunderbolt 0000:03:00.0: Max Port Number: 11
> [ 6.916673] thunderbolt 0000:03:00.0: Config:
> [ 6.916675] thunderbolt 0000:03:00.0: Upstream Port Number: 5 Depth: 0 Route String: 0x0 Enabled: 1, PlugEventsDelay: 254ms
> [ 6.916676] thunderbolt 0000:03:00.0: unknown1: 0x0 unknown4: 0x0
> [ 6.927293] thunderbolt 0000:03:00.0: 0: uid: 0x8086a3422131ea10
> [ 6.927632] thunderbolt 0000:03:00.0: Port 0: 8086:1576 (Revision: 4, TB Version: 1, Type: Port (0x1))
> [ 6.927633] thunderbolt 0000:03:00.0: Max hop id (in/out): 7/7
> [ 6.927634] thunderbolt 0000:03:00.0: Max counters: 8
> [ 6.927635] thunderbolt 0000:03:00.0: NFC Credits: 0x800000
> [ 6.927760] thunderbolt 0000:03:00.0: Port 1: 8086:1576 (Revision: 4, TB Version: 1, Type: Port (0x1))
> [ 6.927761] thunderbolt 0000:03:00.0: Max hop id (in/out): 15/15
> [ 6.927762] thunderbolt 0000:03:00.0: Max counters: 16
> [ 6.927763] thunderbolt 0000:03:00.0: NFC Credits: 0x7800000
> [ 6.927890] thunderbolt 0000:03:00.0: Port 2: 8086:1576 (Revision: 4, TB Version: 1, Type: Port (0x1))
> [ 6.927895] thunderbolt 0000:03:00.0: Max hop id (in/out): 15/15
> [ 6.927896] thunderbolt 0000:03:00.0: Max counters: 16
> [ 6.927897] thunderbolt 0000:03:00.0: NFC Credits: 0x0
> [ 6.928091] thunderbolt 0000:03:00.0: Port 3: 8086:1576 (Revision: 4, TB Version: 1, Type: Port (0x1))
> [ 6.928092] thunderbolt 0000:03:00.0: Max hop id (in/out): 15/15
> [ 6.928092] thunderbolt 0000:03:00.0: Max counters: 16
> [ 6.928093] thunderbolt 0000:03:00.0: NFC Credits: 0x3c00000
> [ 6.928217] thunderbolt 0000:03:00.0: Port 4: 8086:1576 (Revision: 4, TB Version: 1, Type: Port (0x1))
> [ 6.928219] thunderbolt 0000:03:00.0: Max hop id (in/out): 15/15
> [ 6.928219] thunderbolt 0000:03:00.0: Max counters: 16
> [ 6.928220] thunderbolt 0000:03:00.0: NFC Credits: 0x3c00000
> [ 6.928222] thunderbolt 0000:03:00.0: 0:5: disabled by eeprom
> [ 6.928261] thunderbolt 0000:03:00.0: Port 6: 8086:1576 (Revision: 4, TB Version: 1, Type: PCIe (0x100101))
> [ 6.928262] thunderbolt 0000:03:00.0: Max hop id (in/out): 8/8
> [ 6.928262] thunderbolt 0000:03:00.0: Max counters: 2
> [ 6.928263] thunderbolt 0000:03:00.0: NFC Credits: 0x800000
> [ 6.928304] thunderbolt 0000:03:00.0: Port 7: 8086:1576 (Revision: 4, TB Version: 1, Type: PCIe (0x100101))
> [ 6.928305] thunderbolt 0000:03:00.0: Max hop id (in/out): 8/8
> [ 6.928306] thunderbolt 0000:03:00.0: Max counters: 2
> [ 6.928306] thunderbolt 0000:03:00.0: NFC Credits: 0x800000
> [ 6.930860] thunderbolt 0000:03:00.0: Port 8: 8086:1576 (Revision: 4, TB Version: 1, Type: DP/HDMI (0xe0102))
> [ 6.930862] thunderbolt 0000:03:00.0: Max hop id (in/out): 9/9
> [ 6.930863] thunderbolt 0000:03:00.0: Max counters: 2
> [ 6.930864] thunderbolt 0000:03:00.0: NFC Credits: 0x800000
> [ 6.930865] thunderbolt 0000:03:00.0: 0:9: disabled by eeprom
> [ 6.930908] thunderbolt 0000:03:00.0: Port 10: 8086:1576 (Revision: 4, TB Version: 1, Type: DP/HDMI (0xe0101))
> [ 6.930909] thunderbolt 0000:03:00.0: Max hop id (in/out): 9/9
> [ 6.930910] thunderbolt 0000:03:00.0: Max counters: 2
> [ 6.930911] thunderbolt 0000:03:00.0: NFC Credits: 0x1000000
> [ 6.930912] thunderbolt 0000:03:00.0: 0:b: disabled by eeprom
> [ 6.932249] thunderbolt 0000:03:00.0: current switch config:
> [ 6.932252] thunderbolt 0000:03:00.0: Switch: 8086:1578 (Revision: 4, TB Version: 2)
> [ 6.932253] thunderbolt 0000:03:00.0: Max Port Number: 11
> [ 6.932254] thunderbolt 0000:03:00.0: Config:
> [ 6.932255] thunderbolt 0000:03:00.0: Upstream Port Number: 1 Depth: 1 Route String: 0x1 Enabled: 1, PlugEventsDelay: 254ms
> [ 6.932256] thunderbolt 0000:03:00.0: unknown1: 0x0 unknown4: 0x0
> [ 6.940642] thunderbolt 0000:03:00.0: 1: reading drom (length: 0x6e)
> [ 7.040048] thunderbolt 0000:03:00.0: 1: drom data crc32 mismatch (expected: 0xaf438340, got: 0xaf4383c0), continuing
> [ 7.040247] thunderbolt 0000:03:00.0: 1: uid: 0xd40f7a7928c300
> [ 7.040296] thunderbolt 0000:03:00.0: Port 0: 8086:1578 (Revision: 4, TB Version: 1, Type: Port (0x1))
> [ 7.040297] thunderbolt 0000:03:00.0: Max hop id (in/out): 7/7
> [ 7.040298] thunderbolt 0000:03:00.0: Max counters: 8
> [ 7.040299] thunderbolt 0000:03:00.0: NFC Credits: 0x800000
> [ 7.040574] thunderbolt 0000:03:00.0: Port 1: 8086:1578 (Revision: 4, TB Version: 1, Type: Port (0x1))
> [ 7.040575] thunderbolt 0000:03:00.0: Max hop id (in/out): 15/15
> [ 7.040576] thunderbolt 0000:03:00.0: Max counters: 16
> [ 7.040577] thunderbolt 0000:03:00.0: NFC Credits: 0x7800000
> [ 7.040711] thunderbolt 0000:03:00.0: Port 2: 8086:1578 (Revision: 4, TB Version: 1, Type: Port (0x1))
> [ 7.040712] thunderbolt 0000:03:00.0: Max hop id (in/out): 15/15
> [ 7.040713] thunderbolt 0000:03:00.0: Max counters: 16
> [ 7.040714] thunderbolt 0000:03:00.0: NFC Credits: 0x0
> [ 7.040848] thunderbolt 0000:03:00.0: Port 3: 8086:1578 (Revision: 4, TB Version: 1, Type: Port (0x1))
> [ 7.040849] thunderbolt 0000:03:00.0: Max hop id (in/out): 15/15
> [ 7.040850] thunderbolt 0000:03:00.0: Max counters: 16
> [ 7.040851] thunderbolt 0000:03:00.0: NFC Credits: 0x7800000
> [ 7.040987] thunderbolt 0000:03:00.0: Port 4: 8086:1578 (Revision: 4, TB Version: 1, Type: Port (0x1))
> [ 7.040988] thunderbolt 0000:03:00.0: Max hop id (in/out): 15/15
> [ 7.040990] thunderbolt 0000:03:00.0: Max counters: 16
> [ 7.040991] thunderbolt 0000:03:00.0: NFC Credits: 0x0
> [ 7.040992] thunderbolt 0000:03:00.0: 1:5: disabled by eeprom
> [ 7.041033] thunderbolt 0000:03:00.0: Port 6: 8086:1578 (Revision: 4, TB Version: 1, Type: PCIe (0x100102))
> [ 7.041034] thunderbolt 0000:03:00.0: Max hop id (in/out): 8/8
> [ 7.041035] thunderbolt 0000:03:00.0: Max counters: 2
> [ 7.041036] thunderbolt 0000:03:00.0: NFC Credits: 0x800000
> [ 7.041078] thunderbolt 0000:03:00.0: Port 7: 8086:1578 (Revision: 4, TB Version: 1, Type: PCIe (0x100101))
> [ 7.041080] thunderbolt 0000:03:00.0: Max hop id (in/out): 8/8
> [ 7.041080] thunderbolt 0000:03:00.0: Max counters: 2
> [ 7.041081] thunderbolt 0000:03:00.0: NFC Credits: 0x800000
> [ 7.041083] thunderbolt 0000:03:00.0: 1:8: disabled by eeprom
> [ 7.041084] thunderbolt 0000:03:00.0: 1:9: disabled by eeprom
> [ 7.041085] thunderbolt 0000:03:00.0: 1:a: disabled by eeprom
> [ 7.041085] thunderbolt 0000:03:00.0: 1:b: disabled by eeprom
> [ 7.041827] thunderbolt 0000:03:00.0: current switch config:
> [ 7.041829] thunderbolt 0000:03:00.0: Switch: 8086:1578 (Revision: 4, TB Version: 2)
> [ 7.041829] thunderbolt 0000:03:00.0: Max Port Number: 11
> [ 7.041830] thunderbolt 0000:03:00.0: Config:
> [ 7.041831] thunderbolt 0000:03:00.0: Upstream Port Number: 1 Depth: 2 Route String: 0x301 Enabled: 1, PlugEventsDelay: 254ms
> [ 7.041832] thunderbolt 0000:03:00.0: unknown1: 0x0 unknown4: 0x0
> [ 7.416678] pci 0000:04:00.0: [8086:1578] type 01 class 0x060400
> [ 7.416925] pci 0000:04:00.0: supports D1 D2
> [ 7.416926] pci 0000:04:00.0: PME# supported from D0 D1 D2 D3hot D3cold

> [ 7.428433] pci_bus 0000:05: [bus 05] partially hidden behind bridge 0000:04 [bus 04]
> [ 7.428500] pci_bus 0000:39: busn_res: can not insert [bus 39] under [bus 02-05] (conflicts with (null) [bus 02-05])

These two I've seen before.

> [ 7.428503] pcieport 0000:02:02.0: PCI bridge to [bus 39]
> [ 7.428512] pcieport 0000:02:02.0: bridge window [mem 0xd9f00000-0xd9ffffff]
> [ 7.428519] pci_bus 0000:39: [bus 39] partially hidden behind bridge 0000:02 [bus 02-05]

And this.

It happens occasionally when you reboot the machine when a device is
connected but seems to be dependent on the BIOS version. Since it is the
BIOS who is supposed to enumerated these devices, I suspect that it is
either problem in BIOS or our PCI enumeration code does something wrong.

> [ 7.428542] pci_bus 0000:02: Allocating resources
> [ 7.428544] pcieport 0000:02:02.0: can't claim BAR 14 [mem 0xd9f00000-0xd9ffffff]: no compatible bridge window
> [ 7.451018] Bluetooth: RFCOMM TTY layer initialized
> [ 7.451022] Bluetooth: RFCOMM socket layer initialized
> [ 7.451026] Bluetooth: RFCOMM ver 1.11
> [ 11.958457] wlp58s0: authenticate with 50:6a:03:a7:1c:27
> [ 11.969167] wlp58s0: send auth to 50:6a:03:a7:1c:27 (try 1/3)
> [ 11.975768] wlp58s0: authenticated
> [ 11.976386] wlp58s0: associate with 50:6a:03:a7:1c:27 (try 1/3)
> [ 11.984817] wlp58s0: RX AssocResp from 50:6a:03:a7:1c:27 (capab=0x1411 status=0 aid=2)
> [ 12.001864] wlp58s0: associated
> [ 12.001913] IPv6: ADDRCONF(NETDEV_CHANGE): wlp58s0: link becomes ready
> [ 27.616672] thunderbolt 0000:03:00.0: timeout reading config space 2 from 0x5
> [ 27.616674] thunderbolt 0000:03:00.0: 301: cannot find TB_VSEC_CAP_PLUG_EVENTS aborting
>
> If I then unplug the cable and plug it back in the dock does show up and authorize properly, but is a traceback
> along the way.
> ---
> [ 1653.226296] pcieport 0000:02:02.0: Refused to change power state, currently in D3
> [ 1653.729116] thunderbolt 0000:03:00.0: stopping RX ring 0
> [ 1653.729130] thunderbolt 0000:03:00.0: disabling interrupt at register 0x38200 bit 12 (0xffffffff -> 0xffffefff)
> [ 1653.729159] thunderbolt 0000:03:00.0: stopping TX ring 0
> [ 1653.729168] thunderbolt 0000:03:00.0: disabling interrupt at register 0x38200 bit 0 (0xffffffff -> 0xfffffffe)
> [ 1653.729195] thunderbolt 0000:03:00.0: control channel stopped
> [ 1653.729362] thunderbolt 0000:03:00.0: freeing RX ring 0
> [ 1653.729381] thunderbolt 0000:03:00.0: freeing TX ring 0
> [ 1653.729407] thunderbolt 0000:03:00.0: shutdown
> [ 1653.753091] pcieport 0000:02:00.0: Refused to change power state, currently in D3
> [ 1653.756383] pci_bus 0000:03: busn_res: [bus 03] is released
> [ 1653.756676] pci_bus 0000:04: busn_res: [bus 04] is released
> [ 1653.757479] pci_bus 0000:02: busn_res: [bus 02-05] is released
> [ 1660.846964] ACPI Error: [SPRT] Namespace lookup failure, AE_ALREADY_EXISTS (20170303/dswload2-330)
> [ 1660.846979] ACPI Exception: AE_ALREADY_EXISTS, During name lookup/catalog (20170303/psobject-241)
> [ 1660.846985] ACPI Error: Method parse/execution failed [\_GPE._E42] (Node ffff8ba73016b488), AE_ALREADY_EXISTS (20170303/psparse-543)
> [ 1660.846996] ACPI Error: Method parse/execution failed [\_GPE._E42] (Node ffff8ba73016b488), AE_ALREADY_EXISTS (20170303/psparse-543)
> [ 1660.847009] ACPI Exception: AE_ALREADY_EXISTS, while evaluating GPE method [_E42] (20170303/evgpe-646)
> [ 1660.893399] pci 0000:01:00.0: [8086:1576] type 01 class 0x060400
> [ 1660.893529] pci 0000:01:00.0: supports D1 D2
> [ 1660.893530] pci 0000:01:00.0: PME# supported from D0 D1 D2 D3hot D3cold
> [ 1660.893625] pci 0000:01:00.0: System wakeup disabled by ACPI
> [ 1660.893776] pci 0000:02:00.0: [8086:1576] type 01 class 0x060400
> [ 1660.894047] pci 0000:02:00.0: supports D1 D2
> [ 1660.894049] pci 0000:02:00.0: PME# supported from D0 D1 D2 D3hot D3cold
> [ 1660.894178] pci 0000:02:01.0: [8086:1576] type 01 class 0x060400
> [ 1660.894320] pci 0000:02:01.0: supports D1 D2
> [ 1660.894321] pci 0000:02:01.0: PME# supported from D0 D1 D2 D3hot D3cold
> [ 1660.894409] pci 0000:02:02.0: [8086:1576] type 01 class 0x060400
> [ 1660.894542] pci 0000:02:02.0: supports D1 D2
> [ 1660.894543] pci 0000:02:02.0: PME# supported from D0 D1 D2 D3hot D3cold
> [ 1660.894637] pci 0000:01:00.0: PCI bridge to [bus 02-39]
> [ 1660.894646] pci 0000:01:00.0: bridge window [mem 0xc4000000-0xda0fffff]
> [ 1660.894652] pci 0000:01:00.0: bridge window [mem 0xa0000000-0xc1ffffff 64bit pref]
> [ 1660.894716] pci 0000:03:00.0: [8086:1575] type 00 class 0x088000
> [ 1660.894744] pci 0000:03:00.0: reg 0x10: [mem 0xda000000-0xda03ffff]
> [ 1660.894756] pci 0000:03:00.0: reg 0x14: [mem 0xda040000-0xda040fff]
> [ 1660.894910] pci 0000:03:00.0: supports D1 D2
> [ 1660.894911] pci 0000:03:00.0: PME# supported from D0 D1 D2 D3hot D3cold
> [ 1660.895079] pci 0000:02:00.0: PCI bridge to [bus 03]
> [ 1660.895089] pci 0000:02:00.0: bridge window [mem 0xda000000-0xda0fffff]
> [ 1660.895152] pci 0000:02:01.0: PCI bridge to [bus 04-38]
> [ 1660.895161] pci 0000:02:01.0: bridge window [mem 0xc4000000-0xd9efffff]
> [ 1660.895168] pci 0000:02:01.0: bridge window [mem 0xa0000000-0xc1ffffff 64bit pref]
> [ 1660.895222] pci 0000:02:02.0: PCI bridge to [bus 39]
> [ 1660.895231] pci 0000:02:02.0: bridge window [mem 0xd9f00000-0xd9ffffff]
> [ 1660.895263] pci_bus 0000:02: Allocating resources
> [ 1660.895296] pci 0000:02:01.0: bridge window [io 0x1000-0x0fff] to [bus 04-38] add_size 1000
> [ 1660.895314] pci 0000:01:00.0: bridge window [io 0x1000-0x0fff] to [bus 02-39] add_size 1000
> [ 1660.895318] pci 0000:01:00.0: BAR 13: assigned [io 0x2000-0x2fff]
> [ 1660.895321] pci 0000:02:01.0: BAR 13: assigned [io 0x2000-0x2fff]
> [ 1660.895322] pci 0000:02:00.0: PCI bridge to [bus 03]
> [ 1660.895329] pci 0000:02:00.0: bridge window [mem 0xda000000-0xda0fffff]
> [ 1660.895338] pci 0000:02:01.0: PCI bridge to [bus 04-38]
> [ 1660.895341] pci 0000:02:01.0: bridge window [io 0x2000-0x2fff]
> [ 1660.895346] pci 0000:02:01.0: bridge window [mem 0xc4000000-0xd9efffff]
> [ 1660.895351] pci 0000:02:01.0: bridge window [mem 0xa0000000-0xc1ffffff 64bit pref]
> [ 1660.895357] pci 0000:02:02.0: PCI bridge to [bus 39]
> [ 1660.895363] pci 0000:02:02.0: bridge window [mem 0xd9f00000-0xd9ffffff]
> [ 1660.895372] pci 0000:01:00.0: PCI bridge to [bus 02-39]
> [ 1660.895374] pci 0000:01:00.0: bridge window [io 0x2000-0x2fff]
> [ 1660.895379] pci 0000:01:00.0: bridge window [mem 0xc4000000-0xda0fffff]
> [ 1660.895383] pci 0000:01:00.0: bridge window [mem 0xa0000000-0xc1ffffff 64bit pref]
> [ 1661.283910] pcieport 0000:01:00.0: enabling device (0006 -> 0007)
> [ 1661.284659] pcieport 0000:02:01.0: enabling device (0006 -> 0007)
> [ 1661.285546] thunderbolt 0000:03:00.0: NHI initialized, starting thunderbolt
> [ 1661.285550] thunderbolt 0000:03:00.0: allocating TX ring 0 of size 10
> [ 1661.285565] thunderbolt 0000:03:00.0: allocating RX ring 0 of size 10
> [ 1661.285582] thunderbolt 0000:03:00.0: control channel created
> [ 1661.285583] thunderbolt 0000:03:00.0: control channel starting...
> [ 1661.285584] thunderbolt 0000:03:00.0: starting TX ring 0
> [ 1661.285591] thunderbolt 0000:03:00.0: enabling interrupt at register 0x38200 bit 0 (0x0 -> 0x1)
> [ 1661.285592] thunderbolt 0000:03:00.0: starting RX ring 0
> [ 1661.285599] thunderbolt 0000:03:00.0: enabling interrupt at register 0x38200 bit 12 (0x1 -> 0x1001)
> [ 1661.731122] ACPI Error: Cannot release Mutex [PATM], not acquired (20170303/exmutex-393)
> [ 1661.731143] ACPI Error: Method parse/execution failed [\_SB.PCI0.LPCB.ECDV._Q66] (Node ffff8ba73017bf00), AE_AML_MUTEX_NOT_ACQUIRED (20170303/psparse-543)
> [ 1662.538307] thunderbolt 0000:03:00.0: current switch config:
> [ 1662.538315] thunderbolt 0000:03:00.0: Switch: 8086:1576 (Revision: 4, TB Version: 2)
> [ 1662.538319] thunderbolt 0000:03:00.0: Max Port Number: 11
> [ 1662.538322] thunderbolt 0000:03:00.0: Config:
> [ 1662.538329] thunderbolt 0000:03:00.0: Upstream Port Number: 5 Depth: 0 Route String: 0x0 Enabled: 1, PlugEventsDelay: 254ms
> [ 1662.538333] thunderbolt 0000:03:00.0: unknown1: 0x0 unknown4: 0x0
> [ 1662.561266] thunderbolt 0000:03:00.0: 0: uid: 0x8086a3422131ea10
> [ 1662.561856] thunderbolt 0000:03:00.0: Port 0: 8086:1576 (Revision: 4, TB Version: 1, Type: Port (0x1))
> [ 1662.561860] thunderbolt 0000:03:00.0: Max hop id (in/out): 7/7
> [ 1662.561864] thunderbolt 0000:03:00.0: Max counters: 8
> [ 1662.561868] thunderbolt 0000:03:00.0: NFC Credits: 0x800000
> [ 1662.562078] thunderbolt 0000:03:00.0: Port 1: 8086:1576 (Revision: 4, TB Version: 1, Type: Port (0x1))
> [ 1662.562082] thunderbolt 0000:03:00.0: Max hop id (in/out): 15/15
> [ 1662.562086] thunderbolt 0000:03:00.0: Max counters: 16
> [ 1662.562090] thunderbolt 0000:03:00.0: NFC Credits: 0x7800000
> [ 1662.562323] thunderbolt 0000:03:00.0: Port 2: 8086:1576 (Revision: 4, TB Version: 1, Type: Port (0x1))
> [ 1662.562328] thunderbolt 0000:03:00.0: Max hop id (in/out): 15/15
> [ 1662.562331] thunderbolt 0000:03:00.0: Max counters: 16
> [ 1662.562335] thunderbolt 0000:03:00.0: NFC Credits: 0x0
> [ 1662.562568] thunderbolt 0000:03:00.0: Port 3: 8086:1576 (Revision: 4, TB Version: 1, Type: Port (0x1))
> [ 1662.562575] thunderbolt 0000:03:00.0: Max hop id (in/out): 15/15
> [ 1662.562579] thunderbolt 0000:03:00.0: Max counters: 16
> [ 1662.562583] thunderbolt 0000:03:00.0: NFC Credits: 0x3c00000
> [ 1662.562797] thunderbolt 0000:03:00.0: Port 4: 8086:1576 (Revision: 4, TB Version: 1, Type: Port (0x1))
> [ 1662.562801] thunderbolt 0000:03:00.0: Max hop id (in/out): 15/15
> [ 1662.562805] thunderbolt 0000:03:00.0: Max counters: 16
> [ 1662.562808] thunderbolt 0000:03:00.0: NFC Credits: 0x3c00000
> [ 1662.562813] thunderbolt 0000:03:00.0: 0:5: disabled by eeprom
> [ 1662.562873] thunderbolt 0000:03:00.0: Port 6: 8086:1576 (Revision: 4, TB Version: 1, Type: PCIe (0x100101))
> [ 1662.562877] thunderbolt 0000:03:00.0: Max hop id (in/out): 8/8
> [ 1662.562880] thunderbolt 0000:03:00.0: Max counters: 2
> [ 1662.562884] thunderbolt 0000:03:00.0: NFC Credits: 0x800000
> [ 1662.562938] thunderbolt 0000:03:00.0: Port 7: 8086:1576 (Revision: 4, TB Version: 1, Type: PCIe (0x100101))
> [ 1662.562942] thunderbolt 0000:03:00.0: Max hop id (in/out): 8/8
> [ 1662.562945] thunderbolt 0000:03:00.0: Max counters: 2
> [ 1662.562949] thunderbolt 0000:03:00.0: NFC Credits: 0x800000
> [ 1662.563005] thunderbolt 0000:03:00.0: Port 8: 8086:1576 (Revision: 4, TB Version: 1, Type: DP/HDMI (0xe0102))
> [ 1662.563009] thunderbolt 0000:03:00.0: Max hop id (in/out): 9/9
> [ 1662.563012] thunderbolt 0000:03:00.0: Max counters: 2
> [ 1662.563016] thunderbolt 0000:03:00.0: NFC Credits: 0x800000
> [ 1662.563019] thunderbolt 0000:03:00.0: 0:9: disabled by eeprom
> [ 1662.563082] thunderbolt 0000:03:00.0: Port 10: 8086:1576 (Revision: 4, TB Version: 1, Type: DP/HDMI (0xe0101))
> [ 1662.563085] thunderbolt 0000:03:00.0: Max hop id (in/out): 9/9
> [ 1662.563089] thunderbolt 0000:03:00.0: Max counters: 2
> [ 1662.563092] thunderbolt 0000:03:00.0: NFC Credits: 0x1000000
> [ 1662.563096] thunderbolt 0000:03:00.0: 0:b: disabled by eeprom
> [ 1662.564973] thunderbolt 0000:03:00.0: current switch config:
> [ 1662.564983] thunderbolt 0000:03:00.0: Switch: 8086:1578 (Revision: 4, TB Version: 2)
> [ 1662.564989] thunderbolt 0000:03:00.0: Max Port Number: 11
> [ 1662.564994] thunderbolt 0000:03:00.0: Config:
> [ 1662.565004] thunderbolt 0000:03:00.0: Upstream Port Number: 1 Depth: 1 Route String: 0x1 Enabled: 1, PlugEventsDelay: 254ms
> [ 1662.565011] thunderbolt 0000:03:00.0: unknown1: 0x0 unknown4: 0x0
> [ 1662.586185] thunderbolt 0000:03:00.0: 1: reading drom (length: 0x6e)
> [ 1662.685656] thunderbolt 0000:03:00.0: 1: drom data crc32 mismatch (expected: 0xaf438340, got: 0xaf4383c0), continuing
> [ 1662.685923] thunderbolt 0000:03:00.0: 1: uid: 0xd40f7a7928c300
> [ 1662.685970] thunderbolt 0000:03:00.0: Port 0: 8086:1578 (Revision: 4, TB Version: 1, Type: Port (0x1))
> [ 1662.685972] thunderbolt 0000:03:00.0: Max hop id (in/out): 7/7
> [ 1662.685974] thunderbolt 0000:03:00.0: Max counters: 8
> [ 1662.685976] thunderbolt 0000:03:00.0: NFC Credits: 0x800000
> [ 1662.686163] thunderbolt 0000:03:00.0: Port 1: 8086:1578 (Revision: 4, TB Version: 1, Type: Port (0x1))
> [ 1662.686165] thunderbolt 0000:03:00.0: Max hop id (in/out): 15/15
> [ 1662.686167] thunderbolt 0000:03:00.0: Max counters: 16
> [ 1662.686169] thunderbolt 0000:03:00.0: NFC Credits: 0x7800000
> [ 1662.686346] thunderbolt 0000:03:00.0: Port 2: 8086:1578 (Revision: 4, TB Version: 1, Type: Port (0x1))
> [ 1662.686348] thunderbolt 0000:03:00.0: Max hop id (in/out): 15/15
> [ 1662.686350] thunderbolt 0000:03:00.0: Max counters: 16
> [ 1662.686351] thunderbolt 0000:03:00.0: NFC Credits: 0x0
> [ 1662.686520] thunderbolt 0000:03:00.0: Port 3: 8086:1578 (Revision: 4, TB Version: 1, Type: Port (0x1))
> [ 1662.686522] thunderbolt 0000:03:00.0: Max hop id (in/out): 15/15
> [ 1662.686523] thunderbolt 0000:03:00.0: Max counters: 16
> [ 1662.686525] thunderbolt 0000:03:00.0: NFC Credits: 0x7800000
> [ 1662.686697] thunderbolt 0000:03:00.0: Port 4: 8086:1578 (Revision: 4, TB Version: 1, Type: Port (0x1))
> [ 1662.686698] thunderbolt 0000:03:00.0: Max hop id (in/out): 15/15
> [ 1662.686700] thunderbolt 0000:03:00.0: Max counters: 16
> [ 1662.686702] thunderbolt 0000:03:00.0: NFC Credits: 0x0
> [ 1662.686704] thunderbolt 0000:03:00.0: 1:5: disabled by eeprom
> [ 1662.686757] thunderbolt 0000:03:00.0: Port 6: 8086:1578 (Revision: 4, TB Version: 1, Type: PCIe (0x100102))
> [ 1662.686758] thunderbolt 0000:03:00.0: Max hop id (in/out): 8/8
> [ 1662.686760] thunderbolt 0000:03:00.0: Max counters: 2
> [ 1662.686762] thunderbolt 0000:03:00.0: NFC Credits: 0x800000
> [ 1662.686816] thunderbolt 0000:03:00.0: Port 7: 8086:1578 (Revision: 4, TB Version: 1, Type: PCIe (0x100101))
> [ 1662.686818] thunderbolt 0000:03:00.0: Max hop id (in/out): 8/8
> [ 1662.686820] thunderbolt 0000:03:00.0: Max counters: 2
> [ 1662.686822] thunderbolt 0000:03:00.0: NFC Credits: 0x800000
> [ 1662.686825] thunderbolt 0000:03:00.0: 1:8: disabled by eeprom
> [ 1662.686827] thunderbolt 0000:03:00.0: 1:9: disabled by eeprom
> [ 1662.686830] thunderbolt 0000:03:00.0: 1:a: disabled by eeprom
> [ 1662.686832] thunderbolt 0000:03:00.0: 1:b: disabled by eeprom
> [ 1662.688262] thunderbolt 0000:03:00.0: current switch config:
> [ 1662.688271] thunderbolt 0000:03:00.0: Switch: 8086:1578 (Revision: 4, TB Version: 2)
> [ 1662.688273] thunderbolt 0000:03:00.0: Max Port Number: 11
> [ 1662.688275] thunderbolt 0000:03:00.0: Config:
> [ 1662.688284] thunderbolt 0000:03:00.0: Upstream Port Number: 1 Depth: 2 Route String: 0x301 Enabled: 1, PlugEventsDelay: 254ms
> [ 1662.688287] thunderbolt 0000:03:00.0: unknown1: 0x0 unknown4: 0x0
> [ 1666.261728] pci 0000:04:00.0: [8086:1578] type 01 class 0x060400
> [ 1666.262033] pci 0000:04:00.0: supports D1 D2
> [ 1666.262034] pci 0000:04:00.0: PME# supported from D0 D1 D2 D3hot D3cold
> [ 1666.262442] sysfs: cannot create duplicate filename '/class/pci_bus/0000:05'

This is probably due the previous problem of the PCI device being hidden
behind a bridge.

If you shutdown the machine and boot it without devices connected and
then when the OS is up, connect the device, do you see the same issue?

Also can you try so that you power off the machine completely, connect
the device and power it on. Do you see the issue?

Thanks.