Saturday, October 31, 2009, 12:34:37 PM, Johannes Berg wrote: >> > > 4 actually, wasn't there some cases where the header could have an odd >> > > number of bytes and would require 3 bytes for alignment? >> > >> > Hm, is there? I thought they changed the 11s draft to no longer have >> > that. >> >> Well 2 is fine in that case, (I was basing my comment on something said on this mailinglist >> a long time ago). :) > However, it really all depends on the hardware too ... Maybe we should > put more of the logic into drivers, and have mac80211 only export its > required headroom? > Or maybe we should just not bother with having drivers do the alignment > any more -- mac80211 does that now and it only does it if necessary > (i.e. not on powerpc/x86) I'm having this issue on mips platform, if it matters. I cannot test it on x86 yet. Now, searching for "extra_tx_headroom" gives me essentially the following two: net/mac80211/main.c: local->tx_headroom = max_t(unsigned int , local->hw.extra_tx_headroom, sizeof(struct ieee80211_tx_status_rtap_hdr)); drivers/net/wireless/rt*pci.c: rt2x00dev->hw->extra_tx_headroom = 0; So, as a quick-and-dirty fix, should I replace "max_t(..." by "4 + max_t(..." or "= 0" by "= 4" ? Thank you! Nikolai ZHUBR > johannes -- To unsubscribe from this list: send the line "unsubscribe linux-wireless" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html