[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <20260126054231.GR2275908@black.igk.intel.com>
Date: Mon, 26 Jan 2026 06:42:31 +0100
From: Mika Westerberg <mika.westerberg@...ux.intel.com>
To: "Chia-Lin Kao (AceLan)" <acelan.kao@...onical.com>,
Andreas Noever <andreas.noever@...il.com>,
Mika Westerberg <westeri@...nel.org>,
Yehezkel Bernat <YehezkelShB@...il.com>, linux-usb@...r.kernel.org,
linux-kernel@...r.kernel.org
Subject: Re: [PATCH] thunderbolt: Fix PCIe device enumeration with delayed
rescan
On Mon, Jan 26, 2026 at 11:30:47AM +0800, Chia-Lin Kao (AceLan) wrote:
> Hi,
> On Fri, Jan 23, 2026 at 01:01:12PM +0100, Mika Westerberg wrote:
> > Hi,
> >
> > On Fri, Jan 23, 2026 at 10:04:11AM +0800, Chia-Lin Kao (AceLan) wrote:
> > > > Can you comment out call to tb_switch_xhci_connect() and see if that
> > > > changes anything?
> > >
> > > Here is what I modified, and the problem becomes a little bit complicated.
> >
> > Okay I see it did not change anything (well this is kind of what I
> > expected). Thanks for trying.
> >
> > I see in your log that the PCIe tunnel is established just fine. It's just
> > that there is no PCIe hotplug happening or it is happening but the PCIe
> > Downstream Port is not waking up.
> >
> > I figured you have following USB4/TB topology, right?
> >
> > AMD Host <-> GR Hub <-> TB3 Hub
> > ^
> > |
> > TB3 Hub
> Should be more like this
> AMD Host <-> Dell TB4 Dock <-> OWC Envoy Express (1-502)
> \
> <-> OWC Envoy Express (1-702)
> or
> AMD Host (1-0, domain1)
> |
> └─ Port 2 ──→ Dell Thunderbolt 4 Dock (1-2)
> ├─ Port 5 ──→ OWC Envoy Express (1-502)
> └─ Port 7 ──→ OWC Envoy Express (1-702)
Okay so the same ;-)
> > What if you run 'lspci' after the issue reproduces? Does that bring the
> > missing PCIe devices? I suspect that this is due to older TB3 devices that
> > they may need bit more time to get the PCIe link (going over the tunnel) up
> > and running.
> lspci doesn't bring back the missing tbt storage.
Forgot to mention that let it (the whole topology) enter runtime suspend
before you run lspci.
> It's not about the timing issue, you can't get the tbt storage works
> with multiple re-plug. And after rescan, you can always get the tbt storage
> work after replug.
>
> And reproduce the issue again by unplugging the 2 tbt storages, and
> then plugging them back in one by one. The second one will not be
> recognized. There is a hotplug event, but it just stops somewhere
> in the middle.
You mean the first one always works?
What if you connect them directly to the host, one by one?
Powered by blists - more mailing lists