A few execution paths are not applicable for high latency
devices and can be skipped.

Signed-off-by: Erik Stromdahl <[email protected]>
---
 drivers/net/wireless/ath/ath10k/htt_rx.c | 3 ++-
 drivers/net/wireless/ath/ath10k/txrx.c   | 2 +-
 2 files changed, 3 insertions(+), 2 deletions(-)

diff --git a/drivers/net/wireless/ath/ath10k/htt_rx.c 
b/drivers/net/wireless/ath/ath10k/htt_rx.c
index 7b3d6bf015c7..1432d5b3e9d3 100644
--- a/drivers/net/wireless/ath/ath10k/htt_rx.c
+++ b/drivers/net/wireless/ath/ath10k/htt_rx.c
@@ -2686,7 +2686,8 @@ bool ath10k_htt_t2h_msg_handler(struct ath10k *ar, struct 
sk_buff *skb)
                break;
        }
        case HTT_T2H_MSG_TYPE_TX_COMPL_IND:
-               ath10k_htt_rx_tx_compl_ind(htt->ar, skb);
+               if (!ar->is_high_latency)
+                       ath10k_htt_rx_tx_compl_ind(htt->ar, skb);
                break;
        case HTT_T2H_MSG_TYPE_SEC_IND: {
                struct ath10k *ar = htt->ar;
diff --git a/drivers/net/wireless/ath/ath10k/txrx.c 
b/drivers/net/wireless/ath/ath10k/txrx.c
index febc3eb93fbd..a151abe5e97b 100644
--- a/drivers/net/wireless/ath/ath10k/txrx.c
+++ b/drivers/net/wireless/ath/ath10k/txrx.c
@@ -90,7 +90,7 @@ int ath10k_txrx_tx_unref(struct ath10k_htt *htt,
 
        ath10k_htt_tx_free_msdu_id(htt, tx_done->msdu_id);
        ath10k_htt_tx_dec_pending(htt);
-       if (htt->num_pending_tx == 0)
+       if (!ar->is_high_latency && (htt->num_pending_tx == 0))
                wake_up(&htt->empty_tx_wq);
        spin_unlock_bh(&htt->tx_lock);
 
-- 
2.15.1


_______________________________________________
ath10k mailing list
[email protected]
http://lists.infradead.org/mailman/listinfo/ath10k

Reply via email to