On Sun, 2008-05-04 at 23:24 +0200, Johannes Berg wrote: > This assigns the netdev's needed_headroom/tailroom members > to take advantage of pre-allocated space for 802.11 headers. > > Signed-off-by: Johannes Berg <johannes@xxxxxxxxxxxxxxxx> > --- > Builds on my other patch to add those fields, of course! > > net/mac80211/iface.c | 8 ++++++++ > net/mac80211/tx.c | 14 +++++++++----- > 2 files changed, 17 insertions(+), 5 deletions(-) > > --- everything.orig/net/mac80211/iface.c 2008-05-04 15:40:53.000000000 +0200 > +++ everything/net/mac80211/iface.c 2008-05-04 16:08:45.000000000 +0200 > @@ -53,6 +53,14 @@ int ieee80211_if_add(struct net_device * > if (!ndev) > return -ENOMEM; > > + ndev->needed_headroom = local->tx_headroom + > + 4*6 /* four MAC addresses */ > + + 2 + 2 + 2 + 2 /* ctl, dur, seq, qos */ > + + 6 /* mesh */ > + - ETH_HLEN /* ethernet hard_header_len */ > + + IEEE80211_ENCRYPT_HEADROOM; Although this seems to have worked for me, that was most likely coincidence because I had two bytes extra headroom and no fourth MAC address, I actually forgot 8 bytes here (rfc1042/bridge tunnel encapsulation) johannes
Attachment:
signature.asc
Description: This is a digitally signed message part