Re: diagnosing resume failures after disconnected USB4 drives (Was: Re: PCI/ASPM: Fix L1SS saving (linus/master commit 7507eb3e7bfac))

From: Mika Westerberg
Date: Tue Mar 04 2025 - 03:23:35 EST


On Mon, Mar 03, 2025 at 09:00:28PM +0100, Lukas Wunner wrote:
> On Wed, Feb 26, 2025 at 11:19:58AM +0200, Mika Westerberg wrote:
> > On Wed, Feb 26, 2025 at 10:10:43AM +0100, Lukas Wunner wrote:
> > > On Wed, Feb 26, 2025 at 10:44:04AM +0200, Mika Westerberg wrote:
> > > > [Meteor Lake host] <--> [TB 4 dock] <--> [TB 3 NVMe]
> > > [...]
> > > > I added "no_console_suspend" to the command line and the did sysrq-w to
> > > > get list of blocked tasks. I've attached it just in case it is needed.
> > >
> > > This looks like the deadlock we've had for years when hot-removing
> > > nested hotplug ports.
> > >
> > > If you attach only a single device to the host, I guess the issue
> > > does not occur, right?
> >
> > Yes.
> >
> > > Previous attempts to fix this:
> > >
> > > https://lore.kernel.org/all/4c882e25194ba8282b78fe963fec8faae7cf23eb.1529173804.git.lukas@xxxxxxxxx/
> > >
> > > https://lore.kernel.org/all/20240612181625.3604512-1-kbusch@xxxxxxxx/
> >
> > Well, it does not happen if I revert the commit so isn't that a
> > regresssion?
>
> Does the below fix the issue?

Unfortunately I still see the same hang. I double checked, with revert the
problem goes a way and with this patch I still see it.

Steps:

1. Boot the system, nothing connected.
2. Connect TBT 4 dock to the host.
3. Connect TBT 3 NVMe to the TBT4 doc.
4. Authorize both PCIe tunnels, verify devices are there.
5. Enter s2idle.
6. Unplug the TBT 4 dock from the host.
7. Exit s2idle.