diff options
author | Michal Kazior <michal.kazior@tieto.com> | 2015-03-31 13:26:23 +0300 |
---|---|---|
committer | Kalle Valo <kvalo@qca.qualcomm.com> | 2015-04-01 20:31:00 +0300 |
commit | 96d828d45e166d6d6cc240b7ef082d312d6f579f (patch) | |
tree | f3ff006f0589810d246dfab6d1f4f3b7340741f4 /drivers/net/wireless/ath/ath10k/htt_tx.c | |
parent | 5b272e30a42aa581cd5d544d9e7193d0bd55c823 (diff) | |
download | linux-96d828d45e166d6d6cc240b7ef082d312d6f579f.tar.xz |
ath10k: rework tx queue locking
Tx queue locking was very simple until now.
Multi-channel support will require a more flexible
and fine grained control.
This introduces a per-hw and per-vif (each with a
bitmask of reasons) tx queue locking.
Signed-off-by: Michal Kazior <michal.kazior@tieto.com>
Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
Diffstat (limited to 'drivers/net/wireless/ath/ath10k/htt_tx.c')
-rw-r--r-- | drivers/net/wireless/ath/ath10k/htt_tx.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/drivers/net/wireless/ath/ath10k/htt_tx.c b/drivers/net/wireless/ath/ath10k/htt_tx.c index 5b2c61b0390a..a60ef7d1d5fc 100644 --- a/drivers/net/wireless/ath/ath10k/htt_tx.c +++ b/drivers/net/wireless/ath/ath10k/htt_tx.c @@ -26,7 +26,7 @@ void __ath10k_htt_tx_dec_pending(struct ath10k_htt *htt) { htt->num_pending_tx--; if (htt->num_pending_tx == htt->max_num_pending_tx - 1) - ieee80211_wake_queues(htt->ar->hw); + ath10k_mac_tx_unlock(htt->ar, ATH10K_TX_PAUSE_Q_FULL); } static void ath10k_htt_tx_dec_pending(struct ath10k_htt *htt) @@ -49,7 +49,7 @@ static int ath10k_htt_tx_inc_pending(struct ath10k_htt *htt) htt->num_pending_tx++; if (htt->num_pending_tx == htt->max_num_pending_tx) - ieee80211_stop_queues(htt->ar->hw); + ath10k_mac_tx_lock(htt->ar, ATH10K_TX_PAUSE_Q_FULL); exit: spin_unlock_bh(&htt->tx_lock); |