Dunedan / mbp-2016-linux

State of Linux on the MacBook Pro 2016 & 2017
2.07k stars 108 forks source link

Linux cannot wake up after closing the lid #37

Open syangav opened 6 years ago

syangav commented 6 years ago

I successfully installed Ubuntu 16.04 on my MBP 13,1 and everything went on smoothly. However, I found that if I closed the lid while Linux is running, and I opened it again, nothing would show up. Completely black screen is the only result. This is quite annoying because every time I need to go somewhere else, I can only shut down Linux completely and start it up again somewhere else. Has anyone met the same problem as I have? Any help will be greatly appreciated. Thanks in advance.

peterychuang commented 6 years ago

Suspend & resume doesn't work. That's a known problem, I believe. In my case, my screen can go back on after waiting for a while, but the NVMe drive doesn't seem to power on properly.

christophgysin commented 6 years ago

Yes, this is a know problem, see: https://github.com/Dunedan/mbp-2016-linux#suspend--hibernation

While it's not a great solution, the workaround is to disable suspend on lid close. See HandleLidSwitch in man logind.conf. ...

roadrunner2 commented 5 years ago

If anybody has the time and inclination to work on this, one suggestion might be to use dtrace to trace the NVMe driver commands in MacOS while the laptop is being suspended and resumed. You'll have to first find appropriate functions to trace (using the fbt provider) and then analyze the commands sent - most likely the special commands are either vendor and/or power-management admin commands.

roadrunner2 commented 5 years ago

Another thing that might be easier to try is to modify the DSDT: the _PS3 method in the RP01 scope (search for Scope (RP01) and then scroll down for the _PS3 method) has an if (OSDW()) clause that looks like it powers down the SSD or something - it might be interesting to see if inverting that condition (i.e. if (!OSDW())) avoids the issue (though obviously it wouldn't be a permanent solution).

Dunedan commented 5 years ago

I did play around with dtrace a bit, but so far couldn't identify any suspicious function which gets called during suspend. :disappointed:

ClashTheBunny commented 4 years ago

Still no movement on this?

elggem commented 4 years ago

Is this going to be fixed by the nvme fixes in the 5.4 kernel?

JeremiahCornelius commented 4 years ago

I fixed this issue for my 14,1 for suspend/resume. This is as simple as a setting in the PCI driver, for the nvme storage. cat 0 > /sys/bus/pci/devices/0000\:01\:00.0/d3cold_allowed

This needs to be done as root, sudo won't allow access on Ubuntu 19.xx. I wrote a simple script and a systemd wrapper for startup - depends multiuser.

I suspect this may work for other modern MBP models, prior to T2-chip introduction. You'll want to use lspcito determine the correct pci device for your specific model.

JeremiahCornelius commented 4 years ago

These fixes work like a charm under Ubuntu/Pop_OS! 19.04 and 19.10 beta.

/etc/systemd/system/fix_sleep.service

# systemd oneshot service to set sleep boolean on Apple Macbook Pro disks
# Original by Pier Lim. Posted at https://kerpanic.wordpress.com/2018/03/13/apple-keyboard-get-function-keys-working-properly-in-ubuntu/

    [Unit]
    Description=Job that disables sleep from stopping nvme hardware on MBP

    [Service]
    ExecStart=/sbin/fixsleep
    Type=oneshot
    RemainAfterExit=yes

    [Install]
    WantedBy=multi-user.target

/sbin/fixsleep

#!/bin/bash
/bin/echo 0 > /sys/bus/pci/devices/0000\:01\:00.0/d3cold_allowed
ghost commented 4 years ago

@JeremiahCornelius unfortunately this fix doesn't seem to work on a MacBook9,1 :-(

christophgysin commented 4 years ago

Seems to work for me on a MacBookPro13,1. Maybe we could add that to the README?

Dunedan commented 4 years ago

Seems to work for me on a MacBookPro13,1. Maybe we could add that to the README?

Sure, just open a PR. :slightly_smiling_face: Would be interesting to see, if this also works for MacBook Pro's with Apple's own NVMe controller.

BuzzwordChief commented 4 years ago

These fixes work like a charm under Ubuntu/Pop_OS! 19.04 and 19.10 beta.

/etc/systemd/system/fix_sleep.service

# systemd oneshot service to set sleep boolean on Apple Macbook Pro disks
# Original by Pier Lim. Posted at https://kerpanic.wordpress.com/2018/03/13/apple-keyboard-get-function-keys-working-properly-in-ubuntu/

    [Unit]
    Description=Job that disables sleep from stopping nvme hardware on MBP

    [Service]
    ExecStart=/sbin/fixsleep
    Type=oneshot
    RemainAfterExit=yes

    [Install]
    WantedBy=multi-user.target

/sbin/fixsleep

#!/bin/bash
/bin/echo 0 > /sys/bus/pci/devices/0000\:01\:00.0/d3cold_allowed

Works for my Macbook Pro 14,1 (13" 2017 without touchbar) running Ubuntu 19.10. However it takes about 10-20 seconds until the lockscreen shows up. Is there a fix for this behavior?

JeremiahCornelius commented 4 years ago

Works for my Macbook Pro 14,1 (13" 2017 without touchbar) running Ubuntu 19.10. However it takes about 10-20 seconds until the lockscreen shows up. Is there a fix for this behavior?

I haven't yet figured what takes resume so comparatively long to complete. As is, it's completely usable, turning Linux on this MBP from being a hobby-project, to a real tool.

marc-git commented 4 years ago

any suggestion about how to do this when booting from usb ?

These fixes work like a charm under Ubuntu/Pop_OS! 19.04 and 19.10 beta. /etc/systemd/system/fix_sleep.service

# systemd oneshot service to set sleep boolean on Apple Macbook Pro disks
# Original by Pier Lim. Posted at https://kerpanic.wordpress.com/2018/03/13/apple-keyboard-get-function-keys-working-properly-in-ubuntu/

    [Unit]
    Description=Job that disables sleep from stopping nvme hardware on MBP

    [Service]
    ExecStart=/sbin/fixsleep
    Type=oneshot
    RemainAfterExit=yes

    [Install]
    WantedBy=multi-user.target

/sbin/fixsleep

#!/bin/bash
/bin/echo 0 > /sys/bus/pci/devices/0000\:01\:00.0/d3cold_allowed

Works for my Macbook Pro 14,1 (13" 2017 without touchbar) running Ubuntu 19.10. However it takes about 10-20 seconds until the lockscreen shows up. Is there a fix for this behavior?

JeremiahCornelius commented 4 years ago

any suggestion about how to do this when booting from usb ?

These fixes work like a charm under Ubuntu/Pop_OS! 19.04 and 19.10 beta.

If you are having this problem when booting USB, it MAY still be the NVMe. Even if you don't have a filesystem active on it, the PCI wakeups are going to happen, right? I'd look to the same fix.

If you find that the USB filesystem returns, but is mounted as write-protected, there will have to be a similar fix to my NVMe to be sorted. The difficulty with this is that USB information may be different between boots, if you attach to a different port, hub, etc. lsusb is going to be your friend here.

JeremiahCornelius commented 4 years ago

Seems to work for me on a MacBookPro13,1. Maybe we could add that to the README?

Sure, just open a PR. 🙂 Would be interesting to see, if this also works for MacBook Pro's with Apple's own NVMe controller.

I'm on a Mid-2017 13" - MPXQ2LL/A* - MacBookPro14,1 - A1708 - 3164. That's nearly as modern as they come, without moving to the Apple T2-chip machines, like 2018 MBPs and new MB Air.

You're the expert here, but I'm pretty sure my PCI fix isn't going to help those machines, because the T2 has all of its signing requirements to access devices it obscures.

However? I do have a 2018 MB Air, that was mfd in Feb 2019. I'll see what I can do with a USB boot on the 5.3 kernels, and poke around withlspciand do some spelunking through the/sys filesystem. It won't be for a few days...

marc-git commented 4 years ago

If you are having this problem when booting USB, it MAY still be the NVMe. Even if you don't have a filesystem active on it, the PCI wakeups are going to happen, right? I'd look to the same fix.

Not sure. The light on the usb drive (Samsung T5 SSD) is off and stays off when waking. Maybe I could try on the NVMe but seems doubtful. The usb drive doesn't have the same files in /sys/bus/usb as the NVMe drive.

JeremiahCornelius commented 4 years ago

Not sure. The light on the usb drive (Samsung T5 SSD) is off and stays off when waking. Maybe I could try on the NVMe but seems doubtful. The usb drive doesn't have the same files in /sys/bus/usb as the NVMe drive. That's why I refer to "spelunking." ;-)

Yes, I wouldn't expect the structure to be the same. It does sound like a similar issue to PCI NVMe, where the defaults for power state of devices on the bus inhibits their waking after suspend/resume.

I may have some time to look at this in the week ahead.

marc-git commented 4 years ago

No worries I'll have a look. Right after I'm done with the S section of my dictionary

Dunedan commented 4 years ago

Great. Disabling d3cold for the NVMe controller as mentioned above fixes resume on my MacBookPro13,2 as well. It also takes 10-20 seconds to come back up, as others already reported, but it's at least some progress. :clap:

JeremiahCornelius commented 4 years ago

Great. Disabling d3cold for the NVMe controller as mentioned above fixes resume on my MacBookPro13,2 as well. It also takes 10-20 seconds to come back up, as others already reported, but it's at least some progress. clap

Wow. I'm pretty proud of solving this. FWIW, my 14,1 is faster after a coupe of weeks of this. I also went to a low-latency kernel - I wonder if this is related?

Resume is in the acceptable 4-5 second range.

marc-git commented 4 years ago

Not really much further on my usb drive with same issue.

The device is identified as 6-1 but presumably this can change, though I can use a script to identify it. (Google being my friend)

/sys/bus/usb/devices/6-1$ ls -l
total 0
drwxr-xr-x 8 root root     0 Nov 11 07:16 6-1:1.0
-rw-r--r-- 1 root root  4096 Nov 11 07:17 authorized
-rw-r--r-- 1 root root  4096 Nov 11 07:17 avoid_reset_quirk
-r--r--r-- 1 root root  4096 Nov 11 07:16 bcdDevice
-rw-r--r-- 1 root root  4096 Nov 11 07:17 bConfigurationValue
-r--r--r-- 1 root root  4096 Nov 11 07:16 bDeviceClass
-r--r--r-- 1 root root  4096 Nov 11 07:17 bDeviceProtocol
-r--r--r-- 1 root root  4096 Nov 11 07:17 bDeviceSubClass
-r--r--r-- 1 root root  4096 Nov 11 07:17 bmAttributes
-r--r--r-- 1 root root  4096 Nov 11 07:17 bMaxPacketSize0
-r--r--r-- 1 root root  4096 Nov 11 07:17 bMaxPower
-r--r--r-- 1 root root  4096 Nov 11 07:17 bNumConfigurations
-r--r--r-- 1 root root  4096 Nov 11 07:17 bNumInterfaces
-r--r--r-- 1 root root  4096 Nov 11 07:17 busnum
-r--r--r-- 1 root root  4096 Nov 11 07:17 configuration
-r--r--r-- 1 root root 65553 Nov 11 07:16 descriptors
-r--r--r-- 1 root root  4096 Nov 11 07:17 dev
-r--r--r-- 1 root root  4096 Nov 11 07:17 devnum
-r--r--r-- 1 root root  4096 Nov 11 07:17 devpath
lrwxrwxrwx 1 root root     0 Nov 11 07:17 driver -> ../../../../../../../../bus/usb/drivers/usb
drwxr-xr-x 3 root root     0 Nov 11 07:17 ep_00
lrwxrwxrwx 1 root root     0 Nov 11 07:17 firmware_node -> ../../../../../../../LNXSYSTM:00/LNXSYBUS:00/PNP0A08:00/device:41/device:42/device:5f/device:60/device:61/device:62
-r--r--r-- 1 root root  4096 Nov 11 07:16 idProduct
-r--r--r-- 1 root root  4096 Nov 11 07:16 idVendor
-r--r--r-- 1 root root  4096 Nov 11 07:17 ltm_capable
-r--r--r-- 1 root root  4096 Nov 11 07:16 manufacturer
-r--r--r-- 1 root root  4096 Nov 11 07:17 maxchild
lrwxrwxrwx 1 root root     0 Nov 11 07:17 port -> ../6-0:1.0/usb6-port1
drwxr-xr-x 2 root root     0 Nov 11 07:17 power
-r--r--r-- 1 root root  4096 Nov 11 07:16 product
-r--r--r-- 1 root root  4096 Nov 11 07:17 quirks
-r--r--r-- 1 root root  4096 Nov 11 07:17 removable
--w------- 1 root root  4096 Nov 11 07:17 remove
-r--r--r-- 1 root root  4096 Nov 11 07:17 rx_lanes
-r--r--r-- 1 root root  4096 Nov 11 07:16 serial
-r--r--r-- 1 root root  4096 Nov 11 07:17 speed
lrwxrwxrwx 1 root root     0 Nov 11 07:16 subsystem -> ../../../../../../../../bus/usb
-r--r--r-- 1 root root  4096 Nov 11 07:17 tx_lanes
-rw-r--r-- 1 root root  4096 Nov 11 07:16 uevent
-r--r--r-- 1 root root  4096 Nov 11 07:17 urbnum
-r--r--r-- 1 root root  4096 Nov 11 07:17 version

I thought the power dir would be of interest but could not find anything in there:

/sys/bus/usb/devices/6-1$ ls ./power/
active_duration  autosuspend           connected_duration  level    runtime_active_kids  runtime_enabled  runtime_suspended_time  usb3_hardware_lpm_u1
async            autosuspend_delay_ms  control             persist  runtime_active_time  runtime_status   runtime_usage           usb3_hardware_lpm_u2

So maybe this is controlled somewhere else?

$ cat /proc/acpi/wakeup 
Device  S-state   Status   Sysfs node
PEG0      S3    *enabled   pci:0000:00:01.0
GFX0      S3    *disabled  pci:0000:01:00.0
PEG1      S3    *enabled   pci:0000:00:01.1
XHC2      S3    *enabled   pci:0000:07:00.0
PEG2      S3    *enabled   pci:0000:00:01.2
XHC3      S3    *enabled   pci:0000:7d:00.0
RP01      S3    *enabled   pci:0000:00:1c.0
ARPT      S3    *enabled   pci:0000:03:00.0
RP17      S3    *enabled   pci:0000:00:1b.0
EC    S4    *disabled  platform:PNP0C09:00
GMUX      S3    *disabled  pnp:00:02
SPIT      S3    *enabled   spi:spi-APP000D:00
BLTH      S4    *disabled  serial:serial1-0
XHC1      S3    *enabled   pci:0000:00:14.0
PNIC      S4    *disabled
WDOG      S3    *disabled
ADP1      S4    *disabled  platform:ACPI0003:00
LID0      S4    *enabled   platform:PNP0C0D:00

Any idea if Debian has a systemd option that could simply disable sleeping the drive?

JeremiahCornelius commented 4 years ago

Any idea if Debian has a systemd option that could simply disable sleeping the drive?

I wish I'd more time to help you with this. For USB power management, my best guess is that ACPI parameters are set as kernel arguments for boot in the GRUB command line. It shouldn't be Debian specific.

The best starting resource for these inquiries is documentation on kernel.org: (https://www.kernel.org/doc/html/v4.16/driver-api/usb/power-management.html)

JeremiahCornelius commented 4 years ago

Any idea if Debian has a systemd option that could simply disable sleeping the drive?

I wish I'd more time to help you with this. For USB power management, my best guess is that ACPI parameters are set as kernel arguments for boot in the GRUB command line. It shouldn't be Debian specific.

The best starting resource for these inquiries is documentation on kernel.org: (https://www.kernel.org/doc/html/v4.16/driver-api/usb/power-management.html)

The more recent docs for 5.3 have references for USB persist during suspend: (https://www.kernel.org/doc/html/v5.3/driver-api/usb/persist.html)

marc-git commented 4 years ago

Any idea if Debian has a systemd option that could simply disable sleeping the drive?

I wish I'd more time to help you with this. For USB power management, my best guess is that ACPI parameters are set as kernel arguments for boot in the GRUB command line. It shouldn't be Debian specific.

The best starting resource for these inquiries is documentation on kernel.org: (https://www.kernel.org/doc/html/v4.16/driver-api/usb/power-management.html)

Any idea how one passes the grub-type commands through ReFind?

Any idea if Debian has a systemd option that could simply disable sleeping the drive?

I wish I'd more time to help you with this. For USB power management, my best guess is that ACPI parameters are set as kernel arguments for boot in the GRUB command line. It shouldn't be Debian specific. The best starting resource for these inquiries is documentation on kernel.org: (https://www.kernel.org/doc/html/v4.16/driver-api/usb/power-management.html)

The more recent docs for 5.3 have references for USB persist during suspend: (https://www.kernel.org/doc/html/v5.3/driver-api/usb/persist.html)

Thanks will have a look at that. Looks interesting. I'm pretty sure I saw that too. EDIT: Yes indeed persist is already set to 1 automatically. So the problem must be related to the hub or even something else deeper. Maybe best to just install to the NVMe drive.

JeremiahCornelius commented 4 years ago

Any idea how one passes the grub-type commands through ReFind?

I am unsure about ReFind. Does it call GRUB? I have my machines booting natively from Mac firmware, mounting the HFS-plus EFI partition (/dev/nvme0n1p1), under /boot (/dev/nvme0n1p2). This simplifies things immensely, once you assemble the right bits for FS and "blessing" system at original install.

marc-git commented 4 years ago

Any idea how one passes the grub-type commands through ReFind?

I am unsure about ReFind. Does it call GRUB?

ReFind doesn't call grub. It finds the initram files and boots directly

mflor35 commented 4 years ago

MBP 13,3 - Things work smoothly Ubuntu 20.04 Nightly

5.4.0-9-generic #12-Ubuntu SMP Mon Dec 16 22:34:19 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux

ghost commented 4 years ago

Which model?

Dunedan commented 3 years ago

So what's the status of suspend nowadays? Working for everybody or still something which causes troubles?

mfauvain commented 3 years ago

Hi, reviving the thread. Tried the echo 0 > /sys/bus/pci/devices/0000\:01\:00.0/d3cold_allowed line and resume works (around 10s to wake up) however there is no sound after wakeup. Am I missing anything?

leonpano2006 commented 2 years ago

I have this issue too with my 2015 early macbookpro 13'

sainathmurali commented 1 year ago

Hi! I have an issue with my MBP 14,1 running ubuntu 22.04. I tried doing the script. It works sometime. But most of the time it goes to the login screen where I can't type my passord. Or it enters a terminal kind of screen where the cursor is blinking? Did I do something wrong?

martroben commented 1 year ago

I used the solution by @JeremiahCornelius on MBP 14.1 with Ubuntu 22.04 and it seems to be working great. Thank you!

Using the Power Off / Log Out > Suspend option, I can bring the computer back up by the Power button (which takes about 7 seconds). Closing and reopening the lid, I get the login screen almost instantaneously.

I used sysfsutils instead of systemd to make the change permanent:

  1. Install sysfsutils

    sudo apt install sysfsutils
  2. sysfsutils gives a conf file at /etc/sysfs.conf that can be modified to change sysfs:

    sudo su
    echo "bus/pci/devices/0000\:01\:00.0/d3cold_allowed = 0" >> /etc/sysfs.conf

(I used lspci to verify that 0000:01:00.0 is indeed the correct path in my system.)

lspci | grep -i nvme
$ 01:00.0 Mass storage controller: Apple Inc. S3X NVMe Controller (rev 12)
nionios commented 1 year ago

Hello all, in my MacBook Pro 14.1, running Fedora Linux, this solution with the d3cold state technically works on my machine, but it takes around 2 minutes for the laptop to wake up.

The whole process is detailed in dmesg as such:

[ 1916.634188] ACPI: PM: Preparing to enter system sleep state S3
[ 1916.637947] ACPI: EC: event blocked
[ 1916.637948] ACPI: EC: EC stopped
[ 1916.637948] ACPI: PM: Saving platform NVS memory
[ 1916.637961] Disabling non-boot CPUs ...
[ 1916.639900] smpboot: CPU 1 is now offline
[ 1916.642255] smpboot: CPU 2 is now offline
[ 1916.644577] smpboot: CPU 3 is now offline
[ 1916.647793] ACPI: PM: Low-level resume complete
[ 1916.647840] ACPI: EC: EC started
[ 1916.647841] ACPI: PM: Restoring platform NVS memory
[ 1916.648408] Enabling non-boot CPUs ...
[ 1916.648464] x86: Booting SMP configuration:
[ 1916.648465] smpboot: Booting Node 0 Processor 1 APIC 0x2
[ 1967.842951] perf: interrupt took too long (49764 > 49496), lowering kernel.perf_event_max_sample_rate to 4000
[ 1985.877529] CPU1 is up
[ 1985.881324] smpboot: Booting Node 0 Processor 2 APIC 0x1
[ 1985.883062] CPU2 is up
[ 1985.883100] smpboot: Booting Node 0 Processor 3 APIC 0x3
[ 2019.421616] perf: interrupt took too long (63383 > 62205), lowering kernel.perf_event_max_sample_rate to 3000
[ 2043.821907] CPU3 is up
[ 2043.866920] ACPI: PM: Waking up from system sleep state S3
[ 2043.873638] ACPI: EC: interrupt unblocked
[ 2043.873685] pcieport 0000:00:1c.4: Unable to change power state from D3cold to D0, device inaccessible
[ 2044.114742] pcieport 0000:04:00.0: Unable to change power state from D3cold to D0, device inaccessible
[ 2044.123575] pcieport 0000:05:00.0: Unable to change power state from D3cold to D0, device inaccessible
[ 2044.123588] pcieport 0000:05:04.0: Unable to change power state from D3cold to D0, device inaccessible
[ 2044.123614] pcieport 0000:05:01.0: Unable to change power state from D3cold to D0, device inaccessible
[ 2044.123627] pcieport 0000:05:02.0: Unable to change power state from D3cold to D0, device inaccessible
[ 2044.386731] xhci_hcd 0000:07:00.0: Unable to change power state from D3cold to D0, device inaccessible
[ 2045.410731] thunderbolt 0000:06:00.0: Unable to change power state from D3cold to D0, device inaccessi

I believe the "unable to change power state" messages are from my dock (not sure), ohter than that smpboot seems to take a lot of time. Anyone have any idea why this is happening even though we are on the same hardware as @JeremiahCornelius ?

maenpaa24 commented 1 year ago

Hello,

The readme from this repository says “ Models with Apple's NVMe controller (MacBookPro13,1, MacBookPro13,2, MacBookPro14,1 and MacBookPro14,2)”. I wonder what the controller for the NVMe is for models MacBookPro13,3 and MacBookPro14,3. Does anyone know?

PD: the comment from @roadrunner2 https://github.com/cb22/macbook12-spi-driver/pull/30#issuecomment-487433474 also mentions the same.

maenpaa24 commented 1 year ago

Another curiosity I would like to share follows. The ssd is removable for the *,1 models. So, if the Apple ssd is replaced by another ssd with a non-Apple ssd, that is, (if I am not mistaken) another controller, then the suspend/resume issue might disappear, right?

nitro577 commented 10 months ago

Successfully resolved the issue described in this topic using the suggested above fix. The problem is resolved by setting d3cold_allowed to 0 for the SATA controller (Samsung El. at 0000:04:00.0) on MacBookAir7,2 Resume time is in 5 seconds range. Ubuntu 22.04

Lord-Kamina commented 9 months ago

Hello,

The readme from this repository says “ Models with Apple's NVMe controller (MacBookPro13,1, MacBookPro13,2, MacBookPro14,1 and MacBookPro14,2)”. I wonder what the controller for the NVMe is for models MacBookPro13,3 and MacBookPro14,3. Does anyone know?

PD: the comment from @roadrunner2 cb22/macbook12-spi-driver#30 (comment) also mentions the same.

The SSD is a samsung on mine (14,3) Has anyone figured it out for the 14,3?

gjvanderheiden commented 8 months ago

Hello, The readme from this repository says “ Models with Apple's NVMe controller (MacBookPro13,1, MacBookPro13,2, MacBookPro14,1 and MacBookPro14,2)”. I wonder what the controller for the NVMe is for models MacBookPro13,3 and MacBookPro14,3. Does anyone know? PD: the comment from @roadrunner2 cb22/macbook12-spi-driver#30 (comment) also mentions the same.

The SSD is a samsung on mine (14,3) Has anyone figured it out for the 14,3?

Tried a lot, but it totally freezes. Won't even hibernate

leifliddy commented 7 months ago

suspend/resume is now working on my macbook9,1 https://github.com/cb22/macbook12-spi-driver/pull/30#issuecomment-1839660225

112cxyz commented 5 months ago

Im on a MBP 14,1 it shows i have a samsung controller under lspci. I cant wake up from S3 but i can wake from s2idle it just takes ages.

I ssh'ed into my MBP using my phone and to my suprise when it woke i got a massive chunk of text in my dmesg (i used dmesg -w to follow) [16.464953] is the last thing i see before it freezes for a bit

[  234.950973] PM: suspend entry (s2idle)
[  234.969449] Filesystems sync: 0.018 seconds
[  234.982874] Freezing user space processes
[  234.985872] Freezing user space processes completed (elapsed 0.002 seconds)
[  234.985882] OOM killer disabled.
[  234.985885] Freezing remaining freezable tasks
[  234.987118] Freezing remaining freezable tasks completed (elapsed 0.001 seconds)
[  234.987124] printk: Suspending console(s) (use no_console_suspend to debug)
[  235.556797] ACPI: EC: interrupt blocked
[  235.615204] pcieport 0000:05:02.0: Unable to change power state from D0 to D3hot, device inaccessible
[  235.615339] pcieport 0000:05:00.0: Unable to change power state from D0 to D3hot, device inaccessible
[  235.616934] pcieport 0000:04:00.0: Unable to change power state from D0 to D3hot, device inaccessible
[  237.561596] ACPI: EC: interrupt unblocked
[  242.870299] pcieport 0000:05:04.0: Unable to change power state from D3cold to D0, device inaccessible
[  242.870473] pcieport 0000:05:01.0: Unable to change power state from D3cold to D0, device inaccessible
[  242.870812] pcieport 0000:05:02.0: Unable to change power state from D3cold to D0, device inaccessible
[  242.870969] pcieport 0000:05:00.0: Unable to change power state from D3cold to D0, device inaccessible
[  245.117595] thunderbolt 0000:06:00.0: not ready 1023ms after resume; waiting
[  245.250870] xhci_hcd 0000:07:00.0: not ready 1023ms after resume; waiting
[  246.157553] thunderbolt 0000:06:00.0: not ready 2047ms after resume; waiting
[  246.290930] xhci_hcd 0000:07:00.0: not ready 2047ms after resume; waiting
[  248.397601] xhci_hcd 0000:07:00.0: not ready 4095ms after resume; waiting
[  248.397600] thunderbolt 0000:06:00.0: not ready 4095ms after resume; waiting
[  252.664258] thunderbolt 0000:06:00.0: not ready 8191ms after resume; waiting
[  252.664259] xhci_hcd 0000:07:00.0: not ready 8191ms after resume; waiting
[  260.984220] thunderbolt 0000:06:00.0: not ready 16383ms after resume; waiting
[  260.984221] xhci_hcd 0000:07:00.0: not ready 16383ms after resume; waiting
[  278.690957] xhci_hcd 0000:07:00.0: not ready 32767ms after resume; waiting
[  278.690957] thunderbolt 0000:06:00.0: not ready 32767ms after resume; waiting
[  286.370974] nvme nvme0: I/O 753 QID 1 timeout, completion polled
[  312.824184] thunderbolt 0000:06:00.0: not ready 65535ms after resume; giving up
[  312.824186] xhci_hcd 0000:07:00.0: not ready 65535ms after resume; giving up
[  313.997669] xhci_hcd 0000:07:00.0: Unable to change power state from D3cold to D0, device inaccessible
[  316.427527] thunderbolt 0000:06:00.0: Unable to change power state from D3cold to D0, device inaccessible
[  316.487576] ------------[ cut here ]------------
[  316.487577] tb_cfg_write: -108
[  316.487609] WARNING: CPU: 1 PID: 1680 at drivers/thunderbolt/ctl.c:1116 tb_cfg_write+0x7a/0x110 [thunderbolt]
[  316.487635] Modules linked in: snd_seq_dummy snd_hrtimer snd_seq snd_seq_device rfcomm cmac algif_hash algif_skcipher snd_hda_codec_hdmi af_alg snd_soc_avs intel_rapl_msr snd_soc_hda_codec intel_rapl_common intel_tcc_cooling snd_soc_skl x86_pkg_temp_thermal intel_powerclamp snd_soc_hdac_hda coretemp snd_hda_ext_core snd_soc_sst_ipc snd_soc_sst_dsp kvm_intel snd_hda_codec_cs8409(OE) snd_soc_acpi_intel_match brcmfmac_wcc bnep snd_hda_codec_generic snd_soc_acpi ledtrig_audio kvm snd_soc_core irqbypass snd_compress crct10dif_pclmul ac97_bus crc32_pclmul snd_pcm_dmaengine polyval_clmulni polyval_generic snd_hda_intel gf128mul snd_intel_dspcfg joydev mousedev ghash_clmulni_intel snd_intel_sdw_acpi sha512_ssse3 snd_hda_codec hci_uart(OE) brcmfmac sha1_ssse3 snd_hda_core btqca aesni_intel btrtl snd_hwdep brcmutil btintel iTCO_wdt crypto_simd snd_pcm cryptd spi_pxa2xx_platform btbcm intel_pmc_bxt cfg80211 mei_hdcp mei_pxp rapl dw_dmac 8250_dw snd_timer iTCO_vendor_support vfat bluetooth intel_cstate fat snd mmc_core mei_me
[  316.487674]  applesmc ecdh_generic i2c_i801 intel_lpss_pci intel_uncore thunderbolt soundcore i2c_smbus acpi_als intel_xhci_usb_role_switch sbs mei intel_lpss idma64 pcspkr roles rfkill sbshc industrialio_triggered_buffer kfifo_buf industrialio mac_hid crypto_user loop dm_mod fuse nfnetlink ip_tables x_tables i915 i2c_algo_bit drm_buddy ttm intel_gtt sha256_ssse3 drm_display_helper xhci_pci applespi video xhci_pci_renesas cec crc16 wmi btrfs blake2b_generic libcrc32c crc32c_generic crc32c_intel xor raid6_pq nvme nvme_core nvme_auth
[  316.487701] CPU: 1 PID: 1680 Comm: kworker/u8:15 Tainted: G           OE      6.7.3-arch1-2 #1 299b48d9550015e4437aff1b6ecd0f8f55eab340
[  316.487704] Hardware name: Apple Inc. MacBookPro14,1/Mac-B4831CEBD52A0C4C, BIOS 515.0.0.0.0 06/02/2023
[  316.487705] Workqueue: events_unbound async_run_entry_fn
[  316.487709] RIP: 0010:tb_cfg_write+0x7a/0x110 [thunderbolt]
[  316.487728] Code: 18 e8 ea fb ff ff 8b 5c 24 24 48 83 c4 18 85 db 74 1a 83 fb 01 74 38 83 fb 92 74 6d 89 de 48 c7 c7 c6 13 d8 c0 e8 76 65 39 fc <0f> 0b 48 8b 44 24 18 65 48 2b 04 25 28 00 00 00 75 76 48 83 c4 20
[  316.487729] RSP: 0018:ffffa1b643073cd8 EFLAGS: 00010282
[  316.487730] RAX: 0000000000000000 RBX: 00000000ffffff94 RCX: 0000000000000027
[  316.487732] RDX: ffff8affdeca16c8 RSI: 0000000000000001 RDI: ffff8affdeca16c0
[  316.487733] RBP: ffff8afc82988e40 R08: 0000000000000000 R09: 0000000000ffff0a
[  316.487734] R10: 0000000000000002 R11: 5b2d2d2d2d2d2d2d R12: 0000000000000002
[  316.487735] R13: 0000000000000000 R14: 0000000000000001 R15: ffff8afc85b657a8
[  316.487736] FS:  0000000000000000(0000) GS:ffff8affdec80000(0000) knlGS:0000000000000000
[  316.487737] CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
[  316.487738] CR2: 00007874cd9ffd86 CR3: 000000013e820006 CR4: 00000000003706f0
[  316.487739] DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
[  316.487740] DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400
[  316.487741] Call Trace:
[  316.487742]  <TASK>
[  316.487743]  ? tb_cfg_write+0x7a/0x110 [thunderbolt d1163f24855a507be044df669f22f0da2d3d753d]
[  316.487761]  ? __warn+0x81/0x130
[  316.487766]  ? tb_cfg_write+0x7a/0x110 [thunderbolt d1163f24855a507be044df669f22f0da2d3d753d]
[  316.487785]  ? report_bug+0x171/0x1a0
[  316.487788]  ? handle_bug+0x3c/0x80
[  316.487791]  ? exc_invalid_op+0x17/0x70
[  316.487793]  ? asm_exc_invalid_op+0x1a/0x20
[  316.487797]  ? tb_cfg_write+0x7a/0x110 [thunderbolt d1163f24855a507be044df669f22f0da2d3d753d]
[  316.487815]  ? tb_cfg_write+0x7a/0x110 [thunderbolt d1163f24855a507be044df669f22f0da2d3d753d]
[  316.487833]  tb_switch_configure+0x230/0x240 [thunderbolt d1163f24855a507be044df669f22f0da2d3d753d]
[  316.487854]  tb_switch_resume+0x11a/0x500 [thunderbolt d1163f24855a507be044df669f22f0da2d3d753d]
[  316.487874]  tb_resume_noirq+0x55/0x210 [thunderbolt d1163f24855a507be044df669f22f0da2d3d753d]
[  316.487893]  tb_domain_resume_noirq+0x42/0x60 [thunderbolt d1163f24855a507be044df669f22f0da2d3d753d]
[  316.487916]  ? __pfx_pci_pm_resume_noirq+0x10/0x10
[  316.487919]  dpm_run_callback+0x89/0x1e0
[  316.487922]  __device_resume_noirq+0xc5/0x2f0
[  316.487924]  async_resume_noirq+0x1d/0x30
[  316.487925]  async_run_entry_fn+0x31/0x160
[  316.487927]  process_one_work+0x178/0x350
[  316.487930]  worker_thread+0x30f/0x450
[  316.487932]  ? __pfx_worker_thread+0x10/0x10
[  316.487933]  kthread+0xe5/0x120
[  316.487936]  ? __pfx_kthread+0x10/0x10
[  316.487938]  ret_from_fork+0x31/0x50
[  316.487941]  ? __pfx_kthread+0x10/0x10
[  316.487943]  ret_from_fork_asm+0x1b/0x30
[  316.487947]  </TASK>
[  316.487947] ---[ end trace 0000000000000000 ]---
[  316.487951] ------------[ cut here ]------------
[  316.487951] tb_cfg_read: -108
[  316.487961] WARNING: CPU: 1 PID: 1680 at drivers/thunderbolt/ctl.c:1090 tb_cfg_read+0x7a/0x110 [thunderbolt]
[  316.487979] Modules linked in: snd_seq_dummy snd_hrtimer snd_seq snd_seq_device rfcomm cmac algif_hash algif_skcipher snd_hda_codec_hdmi af_alg snd_soc_avs intel_rapl_msr snd_soc_hda_codec intel_rapl_common intel_tcc_cooling snd_soc_skl x86_pkg_temp_thermal intel_powerclamp snd_soc_hdac_hda coretemp snd_hda_ext_core snd_soc_sst_ipc snd_soc_sst_dsp kvm_intel snd_hda_codec_cs8409(OE) snd_soc_acpi_intel_match brcmfmac_wcc bnep snd_hda_codec_generic snd_soc_acpi ledtrig_audio kvm snd_soc_core irqbypass snd_compress crct10dif_pclmul ac97_bus crc32_pclmul snd_pcm_dmaengine polyval_clmulni polyval_generic snd_hda_intel gf128mul snd_intel_dspcfg joydev mousedev ghash_clmulni_intel snd_intel_sdw_acpi sha512_ssse3 snd_hda_codec hci_uart(OE) brcmfmac sha1_ssse3 snd_hda_core btqca aesni_intel btrtl snd_hwdep brcmutil btintel iTCO_wdt crypto_simd snd_pcm cryptd spi_pxa2xx_platform btbcm intel_pmc_bxt cfg80211 mei_hdcp mei_pxp rapl dw_dmac 8250_dw snd_timer iTCO_vendor_support vfat bluetooth intel_cstate fat snd mmc_core mei_me
[  316.488009]  applesmc ecdh_generic i2c_i801 intel_lpss_pci intel_uncore thunderbolt soundcore i2c_smbus acpi_als intel_xhci_usb_role_switch sbs mei intel_lpss idma64 pcspkr roles rfkill sbshc industrialio_triggered_buffer kfifo_buf industrialio mac_hid crypto_user loop dm_mod fuse nfnetlink ip_tables x_tables i915 i2c_algo_bit drm_buddy ttm intel_gtt sha256_ssse3 drm_display_helper xhci_pci applespi video xhci_pci_renesas cec crc16 wmi btrfs blake2b_generic libcrc32c crc32c_generic crc32c_intel xor raid6_pq nvme nvme_core nvme_auth
[  316.488027] CPU: 1 PID: 1680 Comm: kworker/u8:15 Tainted: G        W  OE      6.7.3-arch1-2 #1 299b48d9550015e4437aff1b6ecd0f8f55eab340
[  316.488029] Hardware name: Apple Inc. MacBookPro14,1/Mac-B4831CEBD52A0C4C, BIOS 515.0.0.0.0 06/02/2023
[  316.488030] Workqueue: events_unbound async_run_entry_fn
[  316.488032] RIP: 0010:tb_cfg_read+0x7a/0x110 [thunderbolt]
[  316.488050] Code: 18 e8 3a fa ff ff 8b 5c 24 24 48 83 c4 18 85 db 74 1a 83 fb 01 74 38 83 fb 92 74 6d 89 de 48 c7 c7 b5 13 d8 c0 e8 96 66 39 fc <0f> 0b 48 8b 44 24 18 65 48 2b 04 25 28 00 00 00 75 76 48 83 c4 20
[  316.488051] RSP: 0018:ffffa1b643073ca0 EFLAGS: 00010286
[  316.488052] RAX: 0000000000000000 RBX: 00000000ffffff94 RCX: 0000000000000027
[  316.488053] RDX: ffff8affdeca16c8 RSI: 0000000000000001 RDI: ffff8affdeca16c0
[  316.488054] RBP: ffff8afc82988e40 R08: 0000000000000000 R09: 0000000000ffff0a
[  316.488055] R10: 0000000000000002 R11: 5b2d2d2d2d2d2d2d R12: 0000000000000001
[  316.488055] R13: 0000000000000000 R14: 0000000000000039 R15: ffff8afc85b657a8
[  316.488056] FS:  0000000000000000(0000) GS:ffff8affdec80000(0000) knlGS:0000000000000000
[  316.488057] CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
[  316.488058] CR2: 00007874cd9ffd86 CR3: 000000013e820006 CR4: 00000000003706f0
[  316.488059] DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
[  316.488060] DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400
[  316.488061] Call Trace:
[  316.488061]  <TASK>
[  316.488062]  ? tb_cfg_read+0x7a/0x110 [thunderbolt d1163f24855a507be044df669f22f0da2d3d753d]
[  316.488080]  ? __warn+0x81/0x130
[  316.488082]  ? tb_cfg_read+0x7a/0x110 [thunderbolt d1163f24855a507be044df669f22f0da2d3d753d]
[  316.488100]  ? report_bug+0x171/0x1a0
[  316.488101]  ? console_unlock+0xcb/0x120
[  316.488104]  ? handle_bug+0x3c/0x80
[  316.488106]  ? exc_invalid_op+0x17/0x70
[  316.488108]  ? asm_exc_invalid_op+0x1a/0x20
[  316.488111]  ? tb_cfg_read+0x7a/0x110 [thunderbolt d1163f24855a507be044df669f22f0da2d3d753d]
[  316.488130]  tb_pci_port_is_enabled+0x73/0xb0 [thunderbolt d1163f24855a507be044df669f22f0da2d3d753d]
[  316.488150]  tb_tunnel_discover_pci+0x1e/0x310 [thunderbolt d1163f24855a507be044df669f22f0da2d3d753d]
[  316.488172]  tb_switch_discover_tunnels+0x147/0x210 [thunderbolt d1163f24855a507be044df669f22f0da2d3d753d]
[  316.488191]  tb_resume_noirq+0x94/0x210 [thunderbolt d1163f24855a507be044df669f22f0da2d3d753d]
[  316.488209]  tb_domain_resume_noirq+0x42/0x60 [thunderbolt d1163f24855a507be044df669f22f0da2d3d753d]
[  316.488232]  ? __pfx_pci_pm_resume_noirq+0x10/0x10
[  316.488234]  dpm_run_callback+0x89/0x1e0
[  316.488236]  __device_resume_noirq+0xc5/0x2f0
[  316.488237]  async_resume_noirq+0x1d/0x30
[  316.488239]  async_run_entry_fn+0x31/0x160
[  316.488241]  process_one_work+0x178/0x350
[  316.488243]  worker_thread+0x30f/0x450
[  316.488245]  ? __pfx_worker_thread+0x10/0x10
[  316.488246]  kthread+0xe5/0x120
[  316.488248]  ? __pfx_kthread+0x10/0x10
[  316.488251]  ret_from_fork+0x31/0x50
[  316.488252]  ? __pfx_kthread+0x10/0x10
[  316.488254]  ret_from_fork_asm+0x1b/0x30
[  316.488257]  </TASK>
[  316.488258] ---[ end trace 0000000000000000 ]---
[  316.488259] ------------[ cut here ]------------
[  316.488260] tb_cfg_read: -108
[  316.488269] WARNING: CPU: 1 PID: 1680 at drivers/thunderbolt/ctl.c:1090 tb_cfg_read+0x7a/0x110 [thunderbolt]
[  316.488287] Modules linked in: snd_seq_dummy snd_hrtimer snd_seq snd_seq_device rfcomm cmac algif_hash algif_skcipher snd_hda_codec_hdmi af_alg snd_soc_avs intel_rapl_msr snd_soc_hda_codec intel_rapl_common intel_tcc_cooling snd_soc_skl x86_pkg_temp_thermal intel_powerclamp snd_soc_hdac_hda coretemp snd_hda_ext_core snd_soc_sst_ipc snd_soc_sst_dsp kvm_intel snd_hda_codec_cs8409(OE) snd_soc_acpi_intel_match brcmfmac_wcc bnep snd_hda_codec_generic snd_soc_acpi ledtrig_audio kvm snd_soc_core irqbypass snd_compress crct10dif_pclmul ac97_bus crc32_pclmul snd_pcm_dmaengine polyval_clmulni polyval_generic snd_hda_intel gf128mul snd_intel_dspcfg joydev mousedev ghash_clmulni_intel snd_intel_sdw_acpi sha512_ssse3 snd_hda_codec hci_uart(OE) brcmfmac sha1_ssse3 snd_hda_core btqca aesni_intel btrtl snd_hwdep brcmutil btintel iTCO_wdt crypto_simd snd_pcm cryptd spi_pxa2xx_platform btbcm intel_pmc_bxt cfg80211 mei_hdcp mei_pxp rapl dw_dmac 8250_dw snd_timer iTCO_vendor_support vfat bluetooth intel_cstate fat snd mmc_core mei_me
[  316.488316]  applesmc ecdh_generic i2c_i801 intel_lpss_pci intel_uncore thunderbolt soundcore i2c_smbus acpi_als intel_xhci_usb_role_switch sbs mei intel_lpss idma64 pcspkr roles rfkill sbshc industrialio_triggered_buffer kfifo_buf industrialio mac_hid crypto_user loop dm_mod fuse nfnetlink ip_tables x_tables i915 i2c_algo_bit drm_buddy ttm intel_gtt sha256_ssse3 drm_display_helper xhci_pci applespi video xhci_pci_renesas cec crc16 wmi btrfs blake2b_generic libcrc32c crc32c_generic crc32c_intel xor raid6_pq nvme nvme_core nvme_auth
[  316.488335] CPU: 1 PID: 1680 Comm: kworker/u8:15 Tainted: G        W  OE      6.7.3-arch1-2 #1 299b48d9550015e4437aff1b6ecd0f8f55eab340
[  316.488337] Hardware name: Apple Inc. MacBookPro14,1/Mac-B4831CEBD52A0C4C, BIOS 515.0.0.0.0 06/02/2023
[  316.488337] Workqueue: events_unbound async_run_entry_fn
[  316.488339] RIP: 0010:tb_cfg_read+0x7a/0x110 [thunderbolt]
[  316.488357] Code: 18 e8 3a fa ff ff 8b 5c 24 24 48 83 c4 18 85 db 74 1a 83 fb 01 74 38 83 fb 92 74 6d 89 de 48 c7 c7 b5 13 d8 c0 e8 96 66 39 fc <0f> 0b 48 8b 44 24 18 65 48 2b 04 25 28 00 00 00 75 76 48 83 c4 20
[  316.488358] RSP: 0018:ffffa1b643073ca0 EFLAGS: 00010286
[  316.488359] RAX: 0000000000000000 RBX: 00000000ffffff94 RCX: 0000000000000027
[  316.488360] RDX: ffff8affdeca16c8 RSI: 0000000000000001 RDI: ffff8affdeca16c0
[  316.488360] RBP: ffff8afc82988e40 R08: 0000000000000000 R09: 0000000000ffff0a
[  316.488361] R10: 0000000000000002 R11: 5b2d2d2d2d2d2d2d R12: 0000000000000001
[  316.488362] R13: 0000000000000000 R14: 0000000000000039 R15: 0000000000000000
[  316.488363] FS:  0000000000000000(0000) GS:ffff8affdec80000(0000) knlGS:0000000000000000
[  316.488364] CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
[  316.488365] CR2: 00007874cd9ffd86 CR3: 000000013e820006 CR4: 00000000003706f0
[  316.488366] DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
[  316.488366] DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400
[  316.488367] Call Trace:
[  316.488368]  <TASK>
[  316.488368]  ? tb_cfg_read+0x7a/0x110 [thunderbolt d1163f24855a507be044df669f22f0da2d3d753d]
[  316.488386]  ? __warn+0x81/0x130
[  316.488388]  ? tb_cfg_read+0x7a/0x110 [thunderbolt d1163f24855a507be044df669f22f0da2d3d753d]
[  316.488406]  ? report_bug+0x171/0x1a0
[  316.488407]  ? console_unlock+0xcb/0x120
[  316.488409]  ? handle_bug+0x3c/0x80
[  316.488411]  ? exc_invalid_op+0x17/0x70
[  316.488413]  ? asm_exc_invalid_op+0x1a/0x20
[  316.488416]  ? tb_cfg_read+0x7a/0x110 [thunderbolt d1163f24855a507be044df669f22f0da2d3d753d]
[  316.488435]  tb_pci_port_is_enabled+0x73/0xb0 [thunderbolt d1163f24855a507be044df669f22f0da2d3d753d]
[  316.488455]  tb_tunnel_discover_pci+0x1e/0x310 [thunderbolt d1163f24855a507be044df669f22f0da2d3d753d]
[  316.488476]  tb_switch_discover_tunnels+0x147/0x210 [thunderbolt d1163f24855a507be044df669f22f0da2d3d753d]
[  316.488495]  tb_resume_noirq+0x94/0x210 [thunderbolt d1163f24855a507be044df669f22f0da2d3d753d]
[  316.488514]  tb_domain_resume_noirq+0x42/0x60 [thunderbolt d1163f24855a507be044df669f22f0da2d3d753d]
[  316.488536]  ? __pfx_pci_pm_resume_noirq+0x10/0x10
[  316.488538]  dpm_run_callback+0x89/0x1e0
[  316.488540]  __device_resume_noirq+0xc5/0x2f0
[  316.488541]  async_resume_noirq+0x1d/0x30
[  316.488543]  async_run_entry_fn+0x31/0x160
[  316.488545]  process_one_work+0x178/0x350
[  316.488547]  worker_thread+0x30f/0x450
[  316.488549]  ? __pfx_worker_thread+0x10/0x10
[  316.488550]  kthread+0xe5/0x120
[  316.488552]  ? __pfx_kthread+0x10/0x10
[  316.488555]  ret_from_fork+0x31/0x50
[  316.488556]  ? __pfx_kthread+0x10/0x10
[  316.488558]  ret_from_fork_asm+0x1b/0x30
[  316.488561]  </TASK>
[  316.488562] ---[ end trace 0000000000000000 ]---
[  316.488563] ------------[ cut here ]------------
[  316.488564] tb_cfg_read: -108
[  316.488573] WARNING: CPU: 1 PID: 1680 at drivers/thunderbolt/ctl.c:1090 tb_cfg_read+0x7a/0x110 [thunderbolt]
[  316.488591] Modules linked in: snd_seq_dummy snd_hrtimer snd_seq snd_seq_device rfcomm cmac algif_hash algif_skcipher snd_hda_codec_hdmi af_alg snd_soc_avs intel_rapl_msr snd_soc_hda_codec intel_rapl_common intel_tcc_cooling snd_soc_skl x86_pkg_temp_thermal intel_powerclamp snd_soc_hdac_hda coretemp snd_hda_ext_core snd_soc_sst_ipc snd_soc_sst_dsp kvm_intel snd_hda_codec_cs8409(OE) snd_soc_acpi_intel_match brcmfmac_wcc bnep snd_hda_codec_generic snd_soc_acpi ledtrig_audio kvm snd_soc_core irqbypass snd_compress crct10dif_pclmul ac97_bus crc32_pclmul snd_pcm_dmaengine polyval_clmulni polyval_generic snd_hda_intel gf128mul snd_intel_dspcfg joydev mousedev ghash_clmulni_intel snd_intel_sdw_acpi sha512_ssse3 snd_hda_codec hci_uart(OE) brcmfmac sha1_ssse3 snd_hda_core btqca aesni_intel btrtl snd_hwdep brcmutil btintel iTCO_wdt crypto_simd snd_pcm cryptd spi_pxa2xx_platform btbcm intel_pmc_bxt cfg80211 mei_hdcp mei_pxp rapl dw_dmac 8250_dw snd_timer iTCO_vendor_support vfat bluetooth intel_cstate fat snd mmc_core mei_me
[  316.488620]  applesmc ecdh_generic i2c_i801 intel_lpss_pci intel_uncore thunderbolt soundcore i2c_smbus acpi_als intel_xhci_usb_role_switch sbs mei intel_lpss idma64 pcspkr roles rfkill sbshc industrialio_triggered_buffer kfifo_buf industrialio mac_hid crypto_user loop dm_mod fuse nfnetlink ip_tables x_tables i915 i2c_algo_bit drm_buddy ttm intel_gtt sha256_ssse3 drm_display_helper xhci_pci applespi video xhci_pci_renesas cec crc16 wmi btrfs blake2b_generic libcrc32c crc32c_generic crc32c_intel xor raid6_pq nvme nvme_core nvme_auth
[  316.488639] CPU: 1 PID: 1680 Comm: kworker/u8:15 Tainted: G        W  OE      6.7.3-arch1-2 #1 299b48d9550015e4437aff1b6ecd0f8f55eab340
[  316.488640] Hardware name: Apple Inc. MacBookPro14,1/Mac-B4831CEBD52A0C4C, BIOS 515.0.0.0.0 06/02/2023
[  316.488641] Workqueue: events_unbound async_run_entry_fn
[  316.488643] RIP: 0010:tb_cfg_read+0x7a/0x110 [thunderbolt]
[  316.488660] Code: 18 e8 3a fa ff ff 8b 5c 24 24 48 83 c4 18 85 db 74 1a 83 fb 01 74 38 83 fb 92 74 6d 89 de 48 c7 c7 b5 13 d8 c0 e8 96 66 39 fc <0f> 0b 48 8b 44 24 18 65 48 2b 04 25 28 00 00 00 75 76 48 83 c4 20
[  316.488661] RSP: 0018:ffffa1b643073c88 EFLAGS: 00010286
[  316.488662] RAX: 0000000000000000 RBX: 00000000ffffff94 RCX: 0000000000000027
[  316.488663] RDX: ffff8affdeca16c8 RSI: 0000000000000001 RDI: ffff8affdeca16c0
[  316.488664] RBP: ffff8afc82988e40 R08: 0000000000000000 R09: 0000000000ffff0a
[  316.488664] R10: 0000000000000002 R11: 5b2d2d2d2d2d2d2d R12: 0000000000000001
[  316.488665] R13: 0000000000000000 R14: 0000000000000039 R15: 0000000000000000
[  316.488666] FS:  0000000000000000(0000) GS:ffff8affdec80000(0000) knlGS:0000000000000000
[  316.488667] CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
[  316.488668] CR2: 00007874cd9ffd86 CR3: 000000013e820006 CR4: 00000000003706f0
[  316.488669] DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
[  316.488669] DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400
[  316.488670] Call Trace:
[  316.488671]  <TASK>
[  316.488671]  ? tb_cfg_read+0x7a/0x110 [thunderbolt d1163f24855a507be044df669f22f0da2d3d753d]
[  316.488689]  ? __warn+0x81/0x130
[  316.488691]  ? tb_cfg_read+0x7a/0x110 [thunderbolt d1163f24855a507be044df669f22f0da2d3d753d]
[  316.488709]  ? report_bug+0x171/0x1a0
[  316.488711]  ? handle_bug+0x3c/0x80
[  316.488713]  ? exc_invalid_op+0x17/0x70
[  316.488715]  ? asm_exc_invalid_op+0x1a/0x20
[  316.488718]  ? tb_cfg_read+0x7a/0x110 [thunderbolt d1163f24855a507be044df669f22f0da2d3d753d]
[  316.488736]  ? tb_cfg_read+0x7a/0x110 [thunderbolt d1163f24855a507be044df669f22f0da2d3d753d]
[  316.488754]  tb_dp_port_is_enabled+0x73/0xb0 [thunderbolt d1163f24855a507be044df669f22f0da2d3d753d]
[  316.488774]  tb_tunnel_discover_dp+0x3b/0x740 [thunderbolt d1163f24855a507be044df669f22f0da2d3d753d]
[  316.488797]  tb_switch_discover_tunnels+0x72/0x210 [thunderbolt d1163f24855a507be044df669f22f0da2d3d753d]
[  316.488815]  tb_resume_noirq+0x94/0x210 [thunderbolt d1163f24855a507be044df669f22f0da2d3d753d]
[  316.488834]  tb_domain_resume_noirq+0x42/0x60 [thunderbolt d1163f24855a507be044df669f22f0da2d3d753d]
[  316.488856]  ? __pfx_pci_pm_resume_noirq+0x10/0x10
[  316.488858]  dpm_run_callback+0x89/0x1e0
[  316.488860]  __device_resume_noirq+0xc5/0x2f0
[  316.488862]  async_resume_noirq+0x1d/0x30
[  316.488863]  async_run_entry_fn+0x31/0x160
[  316.488865]  process_one_work+0x178/0x350
[  316.488867]  worker_thread+0x30f/0x450
[  316.488869]  ? __pfx_worker_thread+0x10/0x10
[  316.488871]  kthread+0xe5/0x120
[  316.488873]  ? __pfx_kthread+0x10/0x10
[  316.488875]  ret_from_fork+0x31/0x50
[  316.488877]  ? __pfx_kthread+0x10/0x10
[  316.488879]  ret_from_fork_asm+0x1b/0x30
[  316.488882]  </TASK>
[  316.488882] ---[ end trace 0000000000000000 ]---
[  316.488883] ------------[ cut here ]------------
[  316.488884] tb_cfg_read: -108
[  316.488893] WARNING: CPU: 1 PID: 1680 at drivers/thunderbolt/ctl.c:1090 tb_cfg_read+0x7a/0x110 [thunderbolt]
[  316.488911] Modules linked in: snd_seq_dummy snd_hrtimer snd_seq snd_seq_device rfcomm cmac algif_hash algif_skcipher snd_hda_codec_hdmi af_alg snd_soc_avs intel_rapl_msr snd_soc_hda_codec intel_rapl_common intel_tcc_cooling snd_soc_skl x86_pkg_temp_thermal intel_powerclamp snd_soc_hdac_hda coretemp snd_hda_ext_core snd_soc_sst_ipc snd_soc_sst_dsp kvm_intel snd_hda_codec_cs8409(OE) snd_soc_acpi_intel_match brcmfmac_wcc bnep snd_hda_codec_generic snd_soc_acpi ledtrig_audio kvm snd_soc_core irqbypass snd_compress crct10dif_pclmul ac97_bus crc32_pclmul snd_pcm_dmaengine polyval_clmulni polyval_generic snd_hda_intel gf128mul snd_intel_dspcfg joydev mousedev ghash_clmulni_intel snd_intel_sdw_acpi sha512_ssse3 snd_hda_codec hci_uart(OE) brcmfmac sha1_ssse3 snd_hda_core btqca aesni_intel btrtl snd_hwdep brcmutil btintel iTCO_wdt crypto_simd snd_pcm cryptd spi_pxa2xx_platform btbcm intel_pmc_bxt cfg80211 mei_hdcp mei_pxp rapl dw_dmac 8250_dw snd_timer iTCO_vendor_support vfat bluetooth intel_cstate fat snd mmc_core mei_me
[  316.488940]  applesmc ecdh_generic i2c_i801 intel_lpss_pci intel_uncore thunderbolt soundcore i2c_smbus acpi_als intel_xhci_usb_role_switch sbs mei intel_lpss idma64 pcspkr roles rfkill sbshc industrialio_triggered_buffer kfifo_buf industrialio mac_hid crypto_user loop dm_mod fuse nfnetlink ip_tables x_tables i915 i2c_algo_bit drm_buddy ttm intel_gtt sha256_ssse3 drm_display_helper xhci_pci applespi video xhci_pci_renesas cec crc16 wmi btrfs blake2b_generic libcrc32c crc32c_generic crc32c_intel xor raid6_pq nvme nvme_core nvme_auth
[  316.488959] CPU: 1 PID: 1680 Comm: kworker/u8:15 Tainted: G        W  OE      6.7.3-arch1-2 #1 299b48d9550015e4437aff1b6ecd0f8f55eab340
[  316.488960] Hardware name: Apple Inc. MacBookPro14,1/Mac-B4831CEBD52A0C4C, BIOS 515.0.0.0.0 06/02/2023
[  316.488961] Workqueue: events_unbound async_run_entry_fn
[  316.488962] RIP: 0010:tb_cfg_read+0x7a/0x110 [thunderbolt]
[  316.488980] Code: 18 e8 3a fa ff ff 8b 5c 24 24 48 83 c4 18 85 db 74 1a 83 fb 01 74 38 83 fb 92 74 6d 89 de 48 c7 c7 b5 13 d8 c0 e8 96 66 39 fc <0f> 0b 48 8b 44 24 18 65 48 2b 04 25 28 00 00 00 75 76 48 83 c4 20
[  316.488981] RSP: 0018:ffffa1b643073c88 EFLAGS: 00010286
[  316.488982] RAX: 0000000000000000 RBX: 00000000ffffff94 RCX: 0000000000000027
[  316.488983] RDX: ffff8affdeca16c8 RSI: 0000000000000001 RDI: ffff8affdeca16c0
[  316.488983] RBP: ffff8afc82988e40 R08: 0000000000000000 R09: 0000000000ffff0a
[  316.488984] R10: 0000000000000002 R11: 2d2d2d2d2d2d5d20 R12: 0000000000000001
[  316.488985] R13: 0000000000000000 R14: 0000000000000039 R15: 0000000000000000
[  316.488986] FS:  0000000000000000(0000) GS:ffff8affdec80000(0000) knlGS:0000000000000000
[  316.488987] CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
[  316.488988] CR2: 00007874cd9ffd86 CR3: 000000013e820006 CR4: 00000000003706f0
[  316.488988] DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
[  316.488989] DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400
[  316.488990] Call Trace:
[  316.488990]  <TASK>
[  316.488991]  ? tb_cfg_read+0x7a/0x110 [thunderbolt d1163f24855a507be044df669f22f0da2d3d753d]
[  316.489008]  ? __warn+0x81/0x130
[  316.489010]  ? tb_cfg_read+0x7a/0x110 [thunderbolt d1163f24855a507be044df669f22f0da2d3d753d]
[  316.489028]  ? report_bug+0x171/0x1a0
[  316.489030]  ? handle_bug+0x3c/0x80
[  316.489032]  ? exc_invalid_op+0x17/0x70
[  316.489035]  ? asm_exc_invalid_op+0x1a/0x20
[  316.489038]  ? tb_cfg_read+0x7a/0x110 [thunderbolt d1163f24855a507be044df669f22f0da2d3d753d]
[  316.489055]  ? tb_cfg_read+0x7a/0x110 [thunderbolt d1163f24855a507be044df669f22f0da2d3d753d]
[  316.489074]  tb_dp_port_is_enabled+0x73/0xb0 [thunderbolt d1163f24855a507be044df669f22f0da2d3d753d]
[  316.489094]  tb_tunnel_discover_dp+0x3b/0x740 [thunderbolt d1163f24855a507be044df669f22f0da2d3d753d]
[  316.489116]  tb_switch_discover_tunnels+0x72/0x210 [thunderbolt d1163f24855a507be044df669f22f0da2d3d753d]
[  316.489134]  tb_resume_noirq+0x94/0x210 [thunderbolt d1163f24855a507be044df669f22f0da2d3d753d]
[  316.489153]  tb_domain_resume_noirq+0x42/0x60 [thunderbolt d1163f24855a507be044df669f22f0da2d3d753d]
[  316.489175]  ? __pfx_pci_pm_resume_noirq+0x10/0x10
[  316.489177]  dpm_run_callback+0x89/0x1e0
[  316.489179]  __device_resume_noirq+0xc5/0x2f0
[  316.489181]  async_resume_noirq+0x1d/0x30
[  316.489182]  async_run_entry_fn+0x31/0x160
[  316.489184]  process_one_work+0x178/0x350
[  316.489186]  worker_thread+0x30f/0x450
[  316.489188]  ? __pfx_worker_thread+0x10/0x10
[  316.489190]  kthread+0xe5/0x120
[  316.489192]  ? __pfx_kthread+0x10/0x10
[  316.489194]  ret_from_fork+0x31/0x50
[  316.489196]  ? __pfx_kthread+0x10/0x10
[  316.489198]  ret_from_fork_asm+0x1b/0x30
[  316.489201]  </TASK>
[  316.489201] ---[ end trace 0000000000000000 ]---
[  316.508514] xhci_hcd 0000:07:00.0: Unable to change power state from D3cold to D0, device inaccessible
[  316.508593] xhci_hcd 0000:07:00.0: Controller not ready at resume -19
[  316.508595] xhci_hcd 0000:07:00.0: PCI post-resume error -19!
[  316.508641] xhci_hcd 0000:07:00.0: HC died; cleaning up
[  316.508692] xhci_hcd 0000:07:00.0: PM: dpm_run_callback(): pci_pm_resume+0x0/0xf0 returns -19
[  316.508700] xhci_hcd 0000:07:00.0: PM: failed to resume async: error -19
[  316.771283] applespi spi-APP000D:00: modeswitch done.
[  316.781532] OOM killer enabled.
[  316.781536] Restarting tasks ... 
[  316.781767] mei_hdcp 0000:00:16.0-b638ab7e-94e2-4ea2-a552-d1c54b627f04: bound 0000:00:02.0 (ops i915_hdcp_ops [i915])
[  316.784572] Core dump to |/usr/lib/systemd/systemd-coredump pipe failed
[  316.786188] done.
[  316.786218] random: crng reseeded on system resumption
[  316.985824] video LNXVIDEO:00: Restoring backlight state
[  316.986573] PM: suspend exit