summaryrefslogtreecommitdiff
path: root/package/kernel/mac80211/patches/345-ath9k-Turn-ath_txq_lock-unlock-into-static-inlines.patch
diff options
context:
space:
mode:
Diffstat (limited to 'package/kernel/mac80211/patches/345-ath9k-Turn-ath_txq_lock-unlock-into-static-inlines.patch')
-rw-r--r--package/kernel/mac80211/patches/345-ath9k-Turn-ath_txq_lock-unlock-into-static-inlines.patch62
1 files changed, 62 insertions, 0 deletions
diff --git a/package/kernel/mac80211/patches/345-ath9k-Turn-ath_txq_lock-unlock-into-static-inlines.patch b/package/kernel/mac80211/patches/345-ath9k-Turn-ath_txq_lock-unlock-into-static-inlines.patch
new file mode 100644
index 0000000..734ba22
--- /dev/null
+++ b/package/kernel/mac80211/patches/345-ath9k-Turn-ath_txq_lock-unlock-into-static-inlines.patch
@@ -0,0 +1,62 @@
+From: =?UTF-8?q?Toke=20H=C3=B8iland-J=C3=B8rgensen?= <toke@toke.dk>
+Date: Mon, 5 Dec 2016 13:27:38 +0200
+Subject: [PATCH] ath9k: Turn ath_txq_lock/unlock() into static inlines.
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+These are one-line functions that just call spin_lock/unlock_bh(); turn
+them into static inlines to avoid the function call overhead.
+
+Signed-off-by: Toke Høiland-Jørgensen <toke@toke.dk>
+Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
+---
+
+--- a/drivers/net/wireless/ath/ath9k/ath9k.h
++++ b/drivers/net/wireless/ath/ath9k/ath9k.h
+@@ -569,6 +569,15 @@ static inline void ath_chanctx_check_act
+
+ #endif /* CPTCFG_ATH9K_CHANNEL_CONTEXT */
+
++static inline void ath_txq_lock(struct ath_softc *sc, struct ath_txq *txq)
++{
++ spin_lock_bh(&txq->axq_lock);
++}
++static inline void ath_txq_unlock(struct ath_softc *sc, struct ath_txq *txq)
++{
++ spin_unlock_bh(&txq->axq_lock);
++}
++
+ void ath_startrecv(struct ath_softc *sc);
+ bool ath_stoprecv(struct ath_softc *sc);
+ u32 ath_calcrxfilter(struct ath_softc *sc);
+@@ -576,8 +585,6 @@ int ath_rx_init(struct ath_softc *sc, in
+ void ath_rx_cleanup(struct ath_softc *sc);
+ int ath_rx_tasklet(struct ath_softc *sc, int flush, bool hp);
+ struct ath_txq *ath_txq_setup(struct ath_softc *sc, int qtype, int subtype);
+-void ath_txq_lock(struct ath_softc *sc, struct ath_txq *txq);
+-void ath_txq_unlock(struct ath_softc *sc, struct ath_txq *txq);
+ void ath_txq_unlock_complete(struct ath_softc *sc, struct ath_txq *txq);
+ void ath_tx_cleanupq(struct ath_softc *sc, struct ath_txq *txq);
+ bool ath_drain_all_txq(struct ath_softc *sc);
+--- a/drivers/net/wireless/ath/ath9k/xmit.c
++++ b/drivers/net/wireless/ath/ath9k/xmit.c
+@@ -98,18 +98,6 @@ static void ath_tx_status(struct ieee802
+ dev_kfree_skb(skb);
+ }
+
+-void ath_txq_lock(struct ath_softc *sc, struct ath_txq *txq)
+- __acquires(&txq->axq_lock)
+-{
+- spin_lock_bh(&txq->axq_lock);
+-}
+-
+-void ath_txq_unlock(struct ath_softc *sc, struct ath_txq *txq)
+- __releases(&txq->axq_lock)
+-{
+- spin_unlock_bh(&txq->axq_lock);
+-}
+-
+ void ath_txq_unlock_complete(struct ath_softc *sc, struct ath_txq *txq)
+ __releases(&txq->axq_lock)
+ {