Re: So, I had to revert d6d458d42e1 ("Handle DisplayPort tunnel activation asynchronously") too, to stop my resume crashes

Mika Westerberg
2025-03-03T13:46:20Z

On Mon, Mar 03, 2025 at 03:23:27PM +0200, Mika Westerberg wrote:
> Since if it is happening over suspend resume, I suggest we stick with that
> for repro because it involves simpler code paths.

Okay I'm now trying with following.

0. "Forget" all devices from boltctl to make sure PCIe is not involved.

1. Boot the system, nothing connected.
2. Plug in TBT 4 dock.
3. Plug in DP monitor through DP to Type-C adapter to the TBT 4 dock.
4. Verify that there is picture on that monitor.
5. Enter system suspend (s2idle):

# rtcwake -s 30 -mmem

6. Once it wakes up verify that the monitor display a picture.
7. Repeat steps 5. and 6. several times.

I did serveral iterations (will do more) but I did not see any issues.

Can you try this one first, when you have time. If you see the issue, try
to take full dmesg.

---------------------------------------------------------------------

Then I tried another flow.

0. "Forget" all devices from boltctl to make sure PCIe is not involved.

1. Boot the system, nothing connected.
2. Plug in TBT 4 dock.
3. Plug in DP monitor through DP to Type-C adapter to the TBT 4 dock.
4. Verify that there is picture on that monitor.
5. Enter system suspend (s2idle):

# rtcwake -s 30 -mmem

6. Once the system is suspended, unplug the monitor.
7. Once system resumes it should stay responsive.
8. Repeat steps 3. - 7. several times.

Here too, I don't see any issues. Please try this too if you have not been
able to reproduce with the first flow.

---------------------------------------------------------------------

Then yet another flow

0. "Forget" all devices from boltctl to make sure PCIe is not involved.

1. Boot the system, nothing connected.
2. Plug in TBT 4 dock.
3. Plug in DP monitor through DP to Type-C adapter to the TBT 4 dock.
4. Verify that there is picture on that monitor.
5. Enter system suspend (s2idle):

# rtcwake -s 30 -mmem

6. Once the system is suspended, unplug the monitor.
7. Plug it back while the system is still suspended. You can use different
Type-C port too.
8. Once system resumes the monitor should come up and show picture.
9. Repeat steps 5. - 8. several times.

I was not able to trigger any issues with this flow either but I'll
continue with them. Please try this one too if you don't manage to
reproduce the issue with the above two.