summaryrefslogtreecommitdiffstats
path: root/drivers/net/wireless/iwlwifi/dvm/mac80211.c
diff options
context:
space:
mode:
authorThomas Huehn2012-07-23 21:33:42 +0200
committerJohannes Berg2012-07-31 16:18:39 +0200
commit36323f817af0376c78612cfdab714b0feb05fea5 (patch)
tree9821c1805175a79006799e458f1efa238af671f7 /drivers/net/wireless/iwlwifi/dvm/mac80211.c
parentmac80211: add PS flag to bss_conf (diff)
downloadkernel-qcow2-linux-36323f817af0376c78612cfdab714b0feb05fea5.tar.gz
kernel-qcow2-linux-36323f817af0376c78612cfdab714b0feb05fea5.tar.xz
kernel-qcow2-linux-36323f817af0376c78612cfdab714b0feb05fea5.zip
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/iwlwifi/dvm/mac80211.c')
-rw-r--r--drivers/net/wireless/iwlwifi/dvm/mac80211.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/drivers/net/wireless/iwlwifi/dvm/mac80211.c b/drivers/net/wireless/iwlwifi/dvm/mac80211.c
index a5f7bce96325..e64af60a37c1 100644
--- a/drivers/net/wireless/iwlwifi/dvm/mac80211.c
+++ b/drivers/net/wireless/iwlwifi/dvm/mac80211.c
@@ -511,14 +511,16 @@ static void iwlagn_mac_set_wakeup(struct ieee80211_hw *hw, bool enabled)
}
#endif
-static void iwlagn_mac_tx(struct ieee80211_hw *hw, struct sk_buff *skb)
+static void iwlagn_mac_tx(struct ieee80211_hw *hw,
+ struct ieee80211_tx_control *control,
+ struct sk_buff *skb)
{
struct iwl_priv *priv = IWL_MAC80211_GET_DVM(hw);
IWL_DEBUG_TX(priv, "dev->xmit(%d bytes) at rate 0x%02x\n", skb->len,
ieee80211_get_tx_rate(hw, IEEE80211_SKB_CB(skb))->bitrate);
- if (iwlagn_tx_skb(priv, skb))
+ if (iwlagn_tx_skb(priv, control->sta, skb))
dev_kfree_skb_any(skb);
}