--- /dev/null
+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;