mirror of
git://git.openwrt.org/openwrt/openwrt.git
synced 2024-12-12 18:05:15 +00:00
mac80211: ath10k: fix latency issue for QCA988x
This backport fixes high latency (>100ms) on the WiFi link when using a QCA988x Wave 1 radio. The ath10k-ct driver is not affected by this bug from my testing, hence why it hasn't been discovered earlier. Signed-off-by: David Bauer <mail@david-bauer.net>
This commit is contained in:
parent
34e2526f9f
commit
97c37f8dd0
@ -0,0 +1,42 @@
|
||||
From: Miaoqing Pan <miaoqing@codeaurora.org>
|
||||
Subject: [PATCH] ath10k: fix latency issue for QCA988x
|
||||
Date: Thu, 29 Aug 2019 10:45:12 +0800
|
||||
|
||||
Bad latency is found on QCA988x, the issue was introduced by
|
||||
commit 4504f0e5b571 ("ath10k: sdio: workaround firmware UART
|
||||
pin configuration bug"). If uart_pin_workaround is false, this
|
||||
change will set uart pin even if uart_print is false.
|
||||
|
||||
Tested HW: QCA9880
|
||||
Tested FW: 10.2.4-1.0-00037
|
||||
|
||||
Fixes: 4504f0e5b571 ("ath10k: sdio: workaround firmware UART pin configuration bug")
|
||||
Signed-off-by: Miaoqing Pan <miaoqing@codeaurora.org>
|
||||
---
|
||||
drivers/net/wireless/ath/ath10k/core.c | 15 +++++++++------
|
||||
1 file changed, 9 insertions(+), 6 deletions(-)
|
||||
|
||||
--- a/drivers/net/wireless/ath/ath10k/core.c
|
||||
+++ b/drivers/net/wireless/ath/ath10k/core.c
|
||||
@@ -2124,12 +2124,15 @@ static int ath10k_init_uart(struct ath10
|
||||
return ret;
|
||||
}
|
||||
|
||||
- if (!uart_print && ar->hw_params.uart_pin_workaround) {
|
||||
- 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;
|
||||
+ if (!uart_print) {
|
||||
+ if (ar->hw_params.uart_pin_workaround) {
|
||||
+ 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;
|
Loading…
Reference in New Issue
Block a user