diff mbox

ath10k: wake up offchannel queue properly

Message ID 1438865214-1651-1-git-send-email-michal.kazior@tieto.com (mailing list archive)
State Accepted
Headers show

Commit Message

Michal Kazior Aug. 6, 2015, 12:46 p.m. UTC
Once HTT Tx queue got full offchannel queue was
stopped and never woken up again. This broke, e.g.
P2P. This could be reproduced after running a lot
of traffic enough to saturate 100% of the driver
Tx queue and then trying to send offchannel
traffic.

Fixes: 96d828d45e16 ("ath10k: rework tx queue locking")
Signed-off-by: Michal Kazior <michal.kazior@tieto.com>
---
 drivers/net/wireless/ath/ath10k/mac.c | 2 ++
 1 file changed, 2 insertions(+)

Comments

Kalle Valo Aug. 17, 2015, 1:40 p.m. UTC | #1
Michal Kazior <michal.kazior@tieto.com> writes:

> Once HTT Tx queue got full offchannel queue was
> stopped and never woken up again. This broke, e.g.
> P2P. This could be reproduced after running a lot
> of traffic enough to saturate 100% of the driver
> Tx queue and then trying to send offchannel
> traffic.
>
> Fixes: 96d828d45e16 ("ath10k: rework tx queue locking")
> Signed-off-by: Michal Kazior <michal.kazior@tieto.com>

Thanks, applied.
diff mbox

Patch

diff --git a/drivers/net/wireless/ath/ath10k/mac.c b/drivers/net/wireless/ath/ath10k/mac.c
index acd222f3b899..c7ff0c8a5bd4 100644
--- a/drivers/net/wireless/ath/ath10k/mac.c
+++ b/drivers/net/wireless/ath/ath10k/mac.c
@@ -3002,6 +3002,8 @@  void ath10k_mac_tx_unlock(struct ath10k *ar, int reason)
 						   IEEE80211_IFACE_ITER_RESUME_ALL,
 						   ath10k_mac_tx_unlock_iter,
 						   ar);
+
+	ieee80211_wake_queue(ar->hw, ar->hw->offchannel_tx_hw_queue);
 }
 
 void ath10k_mac_vif_tx_lock(struct ath10k_vif *arvif, int reason)