修复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

标签: ath10k_pci, SWBA overrun on vdev, skipped old beacon

添加新评论