diff options
author | Thomas Huehn <thomas@net.t-labs.tu-berlin.de> | 2012-07-23 15:33:42 -0400 |
---|---|---|
committer | Johannes Berg <johannes.berg@intel.com> | 2012-07-31 10:18:39 -0400 |
commit | 36323f817af0376c78612cfdab714b0feb05fea5 (patch) | |
tree | 9821c1805175a79006799e458f1efa238af671f7 /drivers/net/wireless/ath/ath9k/main.c | |
parent | ab09587740fddf6b4116be7b6716ab47f34d2634 (diff) |
mac80211: move TX station pointer and restructure TX
Remove the control.sta pointer from ieee80211_tx_info to free up
sufficient space in the TX skb control buffer for the upcoming
Transmit Power Control (TPC).
Instead, the pointer is now on the stack in a new control struct
that is passed as a function parameter to the drivers' tx method.
Signed-off-by: Thomas Huehn <thomas@net.t-labs.tu-berlin.de>
Signed-off-by: Alina Friedrichsen <x-alina@gmx.net>
Signed-off-by: Felix Fietkau <nbd@openwrt.org>
[reworded commit message]
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Diffstat (limited to 'drivers/net/wireless/ath/ath9k/main.c')
-rw-r--r-- | drivers/net/wireless/ath/ath9k/main.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/drivers/net/wireless/ath/ath9k/main.c b/drivers/net/wireless/ath/ath9k/main.c index 6049d8b82855..4d8dc9ff5a75 100644 --- a/drivers/net/wireless/ath/ath9k/main.c +++ b/drivers/net/wireless/ath/ath9k/main.c | |||
@@ -694,7 +694,9 @@ mutex_unlock: | |||
694 | return r; | 694 | return r; |
695 | } | 695 | } |
696 | 696 | ||
697 | static void ath9k_tx(struct ieee80211_hw *hw, struct sk_buff *skb) | 697 | static void ath9k_tx(struct ieee80211_hw *hw, |
698 | struct ieee80211_tx_control *control, | ||
699 | struct sk_buff *skb) | ||
698 | { | 700 | { |
699 | struct ath_softc *sc = hw->priv; | 701 | struct ath_softc *sc = hw->priv; |
700 | struct ath_common *common = ath9k_hw_common(sc->sc_ah); | 702 | struct ath_common *common = ath9k_hw_common(sc->sc_ah); |
@@ -754,6 +756,7 @@ static void ath9k_tx(struct ieee80211_hw *hw, struct sk_buff *skb) | |||
754 | 756 | ||
755 | memset(&txctl, 0, sizeof(struct ath_tx_control)); | 757 | memset(&txctl, 0, sizeof(struct ath_tx_control)); |
756 | txctl.txq = sc->tx.txq_map[skb_get_queue_mapping(skb)]; | 758 | txctl.txq = sc->tx.txq_map[skb_get_queue_mapping(skb)]; |
759 | txctl.sta = control->sta; | ||
757 | 760 | ||
758 | ath_dbg(common, XMIT, "transmitting packet, skb: %p\n", skb); | 761 | ath_dbg(common, XMIT, "transmitting packet, skb: %p\n", skb); |
759 | 762 | ||