diff options
Diffstat (limited to 'package/kernel/mac80211/patches/subsys/323-mac80211-Expose-ieee80211_schedule_txq-function.patch')
-rw-r--r-- | package/kernel/mac80211/patches/subsys/323-mac80211-Expose-ieee80211_schedule_txq-function.patch | 73 |
1 files changed, 0 insertions, 73 deletions
diff --git a/package/kernel/mac80211/patches/subsys/323-mac80211-Expose-ieee80211_schedule_txq-function.patch b/package/kernel/mac80211/patches/subsys/323-mac80211-Expose-ieee80211_schedule_txq-function.patch deleted file mode 100644 index 573f9bd135..0000000000 --- a/package/kernel/mac80211/patches/subsys/323-mac80211-Expose-ieee80211_schedule_txq-function.patch +++ /dev/null @@ -1,73 +0,0 @@ -From: =?UTF-8?q?Toke=20H=C3=B8iland-J=C3=B8rgensen?= <toke@redhat.com> -Date: Tue, 22 Jan 2019 15:20:16 +0100 -Subject: [PATCH] mac80211: Expose ieee80211_schedule_txq() function -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -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> ---- - ---- a/include/net/mac80211.h -+++ b/include/net/mac80211.h -@@ -6074,6 +6074,19 @@ void ieee80211_txq_schedule_end(struct i - __releases(txq_lock); - - /** -+ * ieee80211_schedule_txq - schedule a TXQ for transmission -+ * -+ * @hw: pointer as obtained from ieee80211_alloc_hw() -+ * @txq: pointer obtained from station or virtual interface -+ * -+ * Schedules a TXQ for transmission if it is not already scheduled. Takes a -+ * lock, which means it must *not* be called between -+ * ieee80211_txq_schedule_start() and ieee80211_txq_schedule_end() -+ */ -+void ieee80211_schedule_txq(struct ieee80211_hw *hw, struct ieee80211_txq *txq) -+ __acquires(txq_lock) __releases(txq_lock); -+ -+/** - * ieee80211_txq_may_transmit - check whether TXQ is allowed to transmit - * - * This function is used to check whether given txq is allowed to transmit by ---- a/net/mac80211/driver-ops.h -+++ b/net/mac80211/driver-ops.h -@@ -1179,9 +1179,7 @@ static inline void drv_wake_tx_queue(str - static inline void schedule_and_wake_txq(struct ieee80211_local *local, - struct txq_info *txqi) - { -- spin_lock_bh(&local->active_txq_lock[txqi->txq.ac]); -- ieee80211_return_txq(&local->hw, &txqi->txq); -- spin_unlock_bh(&local->active_txq_lock[txqi->txq.ac]); -+ ieee80211_schedule_txq(&local->hw, &txqi->txq); - drv_wake_tx_queue(local, txqi); - } - ---- a/net/mac80211/tx.c -+++ b/net/mac80211/tx.c -@@ -3675,6 +3675,19 @@ void ieee80211_return_txq(struct ieee802 - } - 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) - { |