When sat idle for approx 24 hours, a user experienced a firmware lockup on a
ath11k chip, resulting in the following log output:
systemd-timesyncd[558]: Timed out waiting for reply from 23.95.49.216:123 (2.arch.pool.ntp.org).
systemd-timesyncd[558]: Timed out waiting for reply from 23.186.168.125:123 (2.arch.pool.ntp.org).
systemd-timesyncd[558]: Timed out waiting for reply from 64.79.100.197:123 (2.arch.pool.ntp.org).
systemd-timesyncd[558]: Timed out waiting for reply from 69.89.207.199:123 (2.arch.pool.ntp.org).
kernel: ath11k_pci 0000:03:00.0: failed to transmit frame -12
kernel: ath11k_pci 0000:03:00.0: failed to transmit frame -12
kernel: ath11k_pci 0000:03:00.0: failed to transmit frame -12
[...]
kernel: ath11k_pci 0000:03:00.0: failed to flush transmit queue, data pkts pending 564
kernel: ath11k_pci 0000:03:00.0: wmi command 20486 timeout
kernel: ath11k_pci 0000:03:00.0: failed to submit WMI_VDEV_STOP cmd
kernel: ath11k_pci 0000:03:00.0: failed to stop WMI vdev 0: -11
kernel: ath11k_pci 0000:03:00.0: failed to stop vdev 0: -11
kernel: ath11k_pci 0000:03:00.0: failed to do early vdev stop: -11
kernel: ath11k_pci 0000:03:00.0: Failed to remove station: xx:xx:xx:xx:xx:xx for VDEV: 0
kernel: ath11k_pci 0000:03:00.0: Found peer entry xx:xx:xx:xx:xx:xx n vdev 0 after it was supposedly removed
kernel: ------------[ cut here ]------------
kernel: WARNING: CPU: 0 PID: 1229 at net/mac80211/sta_info.c:1490 __sta_info_destroy_part2+0x14e/0x180 [mac80211]
This patch series:
- Fixes a bug in the core reset logic which could cause a second redundant reset
after the original reset completes.
- Implements the error correlation logic and queues a chip reset when detected.
- Adds a simulation to the simulate_fw_crash debugfs file to test the
detection logic.
Signed-off-by: Matthew Leach <matthew.leach@collabora.com>
---
Matthew Leach (3):
net: ath11k: fix redundant reset from stale pending workqueue bit
net: ath11k: add firmware lockup detection and recovery
net: ath11k: add lockup simulation via debugfs
drivers/net/wireless/ath/ath11k/core.h | 3 +++
drivers/net/wireless/ath/ath11k/debugfs.c | 7 ++++++-
drivers/net/wireless/ath/ath11k/hal.c | 7 +++++--
drivers/net/wireless/ath/ath11k/htc.c | 2 +-
drivers/net/wireless/ath/ath11k/mac.c | 10 ++++++++++
drivers/net/wireless/ath/ath11k/wmi.c | 28 +++++++++++++++++++++++++++-
6 files changed, 52 insertions(+), 5 deletions(-)
---
base-commit: 11439c4635edd669ae435eec308f4ab8a0804808
change-id: 20260304-ath11k-lockup-fixes-b808b5c7318b
Best regards,
--
Matt