[PATCH v5] mac80211: Remove control.sta from struct ieee80211_tx_info and restructure tx-path
Johannes Berg
johannes at sipsolutions.net
Wed Jul 25 05:36:30 EDT 2012
On Tue, 2012-07-24 at 22:18 +0200, Thomas Huehn wrote:
> The pointer control.sta is removed from ieee80211_tx_info to free up
> sufficient memory in SKB_CB on the tx-path to enable new annotations
> per data packet e.g.support of upcoming Transmit Power Control (TPC).
> Now the control.sta pointer is put on the stack where passed as
> function parameter to the .tx equivalent (ieee80211_ops) of each
> affected wireless driver.
> Therefore a new structure ieee80211_tx_control is added to mac80211.h
> which holds the sta structure instead. The tx-path of all affected
> drivers is restructured to respect the chaneges.
>
> Signed-off-by: Thomas Huehn <thomas at net.t-labs.tu-berlin.de>
> Signed-off-by: Alina Friedrichsen <x-alina at gmx.net>
> Signed-off-by: Felix Fietkau <nbd at openwrt.org>
> ---
> restructure this patch to respect logical API evolutions. thx to Johannes Berg
> add missing drivers that are effected as well. thx to Xose Vazquez Perez
> add missing drivers that are effected as well. thx to Johannes Berg
> simplified control pointer passing in tx.c - thx to Johannes Berg
Finally applied, but I dropped these spurious changes:
> @@ -1301,8 +1302,7 @@ static bool __ieee80211_tx(struct ieee80211_local *local,
> break;
> }
>
> - result = ieee80211_tx_frags(local, vif, pubsta, skbs,
> - txpending);
> + result = ieee80211_tx_frags(local, vif, pubsta, skbs, txpending);
>
> ieee80211_tpt_led_trig_tx(local, fc, led_len);
> ieee80211_led_tx(local, 1);
> @@ -1409,8 +1409,8 @@ static bool ieee80211_tx(struct ieee80211_sub_if_data *sdata,
> sdata->vif.hw_queue[skb_get_queue_mapping(skb)];
>
> if (!invoke_tx_handlers(&tx))
> - result = __ieee80211_tx(local, &tx.skbs, led_len,
> - tx.sta, txpending);
> + result = __ieee80211_tx(local, &tx.skbs, led_len, tx.sta,
> + txpending);
> out:
> rcu_read_unlock();
> return result;
johannes
More information about the b43-dev
mailing list