修复 "kernel: ath10k_pci 0000:01:00.0: SWBA overrun on vdev 0, skipped old beacon"
修复backports-4.19驱动bug,运行中随机出现“SWBA overrun on vdev 0, skipped old beacon”异常,导致无线断流。
backports新版本已经修复此问题:
https://git.kernel.org/pub/scm/linux/kernel/git/kvalo/wireless-drivers.git/commit/?id=d79749f7716d9dc32fa2d5075f6ec29aac63c76d
但新驱动不适用于4.14的内核,参照这个commit修改4.19版本。
以下是 patch补丁内容:
--- a/drivers/net/wireless/ath/ath10k/core.c
+++ b/drivers/net/wireless/ath/ath10k/core.c
@@ -1869,8 +1869,19 @@
return ret;
}
- if (!uart_print)
+ if (!uart_print) {
+ if (true) {
+ ret = ath10k_bmi_write32(ar, hi_dbg_uart_txpin,
+ ar->hw_params.uart_pin);
+ if (ret) {
+ ath10k_warn(ar, "failed to set UART TX pin: %d",
+ ret);
+ return ret;
+ }
+ }
+
return 0;
+ }
ret = ath10k_bmi_write32(ar, hi_dbg_uart_txpin, ar->hw_params.uart_pin);
if (ret) {
将内容保存为999-ath10k-skipped-old-beacon.patch保存到package/kernel/mac80211/patches/ath/目录下,再编译,完成bug修补。
补丁下载:999-ath10k-skipped-old-beacon.zip