On Mon, 2009-11-23 at 22:44 +0100, Gertjan van Wingerde wrote: > 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@xxxxxxxxx> > Cc: Johannes Berg <johannes@xxxxxxxxxxxxxxxx> That makes more sense to me, thanks. johannes > --- > include/net/mac80211.h | 6 ++++++ > net/mac80211/main.c | 2 ++ > 2 files changed, 8 insertions(+), 0 deletions(-) > > diff --git a/include/net/mac80211.h b/include/net/mac80211.h > index 3754ea4..a113458 100644 > --- a/include/net/mac80211.h > +++ b/include/net/mac80211.h > @@ -1727,6 +1727,12 @@ static inline void ieee80211_rx_ni(struct ieee80211_hw *hw, > local_bh_enable(); > } > > +/* > + * 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 > * > diff --git a/net/mac80211/main.c b/net/mac80211/main.c > index dd8ec8d..f35d4aa 100644 > --- a/net/mac80211/main.c > +++ b/net/mac80211/main.c > @@ -515,6 +515,8 @@ int ieee80211_register_hw(struct ieee80211_hw *hw) > * 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)); >
Attachment:
signature.asc
Description: This is a digitally signed message part