Got hit with this after waking my ThinkPad today. DRM Panic screen (Tux plus a QR code) that kernels 6.12+ can show instead of a frozen console.
Setup
- ThinkPad T14s Gen 3 AMD (21CQ), BIOS 1.50
- Kali, kernel
7.1.5+kali-amd64 - Wi-Fi: Qualcomm WCN6855 (
ath11k_pci), firmwareWLAN.HSP.1.1-03125(April 2024) - Sleep mode: hybrid-sleep
Getting the log
The QR code encodes a https://deb.li/panic#... URL containing the compressed kernel log. Scan it with your phone and open the full URL, and the page decodes the log in the browser. Note that the page tells you to reportbug to Debian. On Kali, file at bugs.kali.org instead.
The relevant part
RIP: 0010:ath11k_hal_srng_access_begin+0x12/0x40 [ath11k]
ath11k_ce_send+0xc1/0x2a0 [ath11k]
ath11k_htc_send+0x1fa/0x320 [ath11k]
ath11k_wmi_cmd_send+0x54/0x320 [ath11k]
ath11k_wmi_pdev_set_param+0x67/0xc0 [ath11k]
ath11k_mac_op_start+0xcb/0x3f0 [ath11k]
drv_start+0x48/0x130 [mac80211]
ieee80211_reconfig+0x83/0x1cf0 [mac80211]
wiphy_resume+0x89/0x1c0 [cfg80211]
...
Kernel panic - not syncing: Fatal exception in interrupt
The ath11k driver page-faulted while resuming from sleep. mac80211 restarted the radio, the driver sent a firmware command, and it touched a ring buffer that wasn’t mapped anymore because the chip hadn’t come back cleanly. It’s a known class of ath11k/WCN6855 resume bugs, and it’s intermittent: I’d suspended and resumed several times the weeks before without issues.
Fix
Unload the Wi-Fi driver before sleep and reload it after resume, so there’s nothing for ath11k to resume.
sudo mkdir -p /usr/lib/systemd/system-sleep
sudo tee /usr/lib/systemd/system-sleep/ath11k >/dev/null <<'EOF'
#!/bin/sh
case "$1" in
pre) modprobe -r ath11k_pci 2>&1 | logger -t ath11k-sleep ;;
post) modprobe ath11k_pci 2>&1 | logger -t ath11k-sleep ;;
esac
EOF
sudo chmod 755 /usr/lib/systemd/system-sleep/ath11k
This runs for suspend, hibernate and hybrid-sleep. To confirm it ran after a resume:
journalctl -b -t ath11k-sleep
You lose Wi-Fi for a few seconds on wake while it reconnects. That’s the tradeoff.
oto
Firmware isn’t the issue here. firmware-atheros is current (20260810-1) and still ships the WLAN.HSP.1.1-03125 build for WCN6855 hw2.1. The fault is in the ath11k driver’s resume path, so the sleep hook is the workaround until it’s fixed upstream.
Logging this here if helpful to anyone else. I’ve also reported upstream to the ath11k and linux-wireless mailing lists and will update this thread if a fix lands.
