diff options
author | Toke Høiland-Jørgensen <toke@redhat.com> | 2019-01-22 17:20:16 +0300 |
---|---|---|
committer | Johannes Berg <johannes.berg@intel.com> | 2019-01-25 16:05:27 +0300 |
commit | 390298e86f8a2e8b428ffb259a323667229ff822 (patch) | |
tree | fea73410d4be62407f66c461f68121b76e95a7b8 /net/mac80211/tx.c | |
parent | e073f7caa26cc7f5423779b1a47f1689dd20bf17 (diff) | |
download | linux-390298e86f8a2e8b428ffb259a323667229ff822.tar.xz |
mac80211: Expose ieee80211_schedule_txq() function
Since we reworked ieee80211_return_txq() so it assumes that the caller
takes care of logging, we need another function that can be called without
holding any locks. Introduce ieee80211_schedule_txq() which serves this
purpose.
Signed-off-by: Toke Høiland-Jørgensen <toke@redhat.com>
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Diffstat (limited to 'net/mac80211/tx.c')
-rw-r--r-- | net/mac80211/tx.c | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/net/mac80211/tx.c b/net/mac80211/tx.c index f46d8d822f86..037f95e39a45 100644 --- a/net/mac80211/tx.c +++ b/net/mac80211/tx.c @@ -3703,6 +3703,19 @@ void ieee80211_return_txq(struct ieee80211_hw *hw, } EXPORT_SYMBOL(ieee80211_return_txq); +void ieee80211_schedule_txq(struct ieee80211_hw *hw, + struct ieee80211_txq *txq) + __acquires(txq_lock) __releases(txq_lock) +{ + struct ieee80211_local *local = hw_to_local(hw); + struct txq_info *txqi = to_txq_info(txq); + + spin_lock_bh(&local->active_txq_lock[txq->ac]); + ieee80211_return_txq(hw, txq); + spin_unlock_bh(&local->active_txq_lock[txq->ac]); +} +EXPORT_SYMBOL(ieee80211_schedule_txq); + bool ieee80211_txq_may_transmit(struct ieee80211_hw *hw, struct ieee80211_txq *txq) { |