| From f5e52129f377a79622b0384634e94749350cf985 Mon Sep 17 00:00:00 2001 |
| From: Gertjan van Wingerde <gwingerde@gmail.com> |
| Date: Sun, 10 Oct 2010 19:25:33 +0100 |
| Subject: mac80211: Add define for TX headroom reserved by mac80211 itself. |
| |
| From: Gertjan van Wingerde <gwingerde@gmail.com> |
| |
| commit d24deb2580823ab0b8425790c6f5d18e2ff749d8 upstream. |
| |
| Add a definition of the amount of TX headroom reserved by mac80211 itself |
| for its own purposes. Also add BUILD_BUG_ON to validate the value. |
| This define can then be used by drivers to request additional TX headroom |
| in the most efficient manner. |
| |
| Signed-off-by: Gertjan van Wingerde <gwingerde@gmail.com> |
| Acked-by: Johannes Berg <johannes@sipsolutions.net> |
| Signed-off-by: John W. Linville <linville@tuxdriver.com> |
| [bwh: Adjust context for 2.6.32] |
| Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> |
| --- |
| include/net/mac80211.h | 6 ++++++ |
| net/mac80211/main.c | 2 ++ |
| 2 files changed, 8 insertions(+) |
| |
| --- a/include/net/mac80211.h |
| +++ b/include/net/mac80211.h |
| @@ -1700,6 +1700,12 @@ void ieee80211_rx(struct ieee80211_hw *h |
| */ |
| void ieee80211_rx_irqsafe(struct ieee80211_hw *hw, struct sk_buff *skb); |
| |
| +/* |
| + * The TX headroom reserved by mac80211 for its own tx_status functions. |
| + * This is enough for the radiotap header. |
| + */ |
| +#define IEEE80211_TX_STATUS_HEADROOM 13 |
| + |
| /** |
| * ieee80211_tx_status - transmit status callback |
| * |
| --- a/net/mac80211/main.c |
| +++ b/net/mac80211/main.c |
| @@ -859,6 +859,8 @@ int ieee80211_register_hw(struct ieee802 |
| * and we need some headroom for passing the frame to monitor |
| * interfaces, but never both at the same time. |
| */ |
| + BUILD_BUG_ON(IEEE80211_TX_STATUS_HEADROOM != |
| + sizeof(struct ieee80211_tx_status_rtap_hdr)); |
| local->tx_headroom = max_t(unsigned int , local->hw.extra_tx_headroom, |
| sizeof(struct ieee80211_tx_status_rtap_hdr)); |
| |