On Tue, 2011-10-11 at 13:48 +0200, Helmut Schaa wrote: > On Tue, Oct 11, 2011 at 1:35 PM, Johannes Berg > <johannes@xxxxxxxxxxxxxxxx> wrote: > > So using something like > > this would allow us to save some space as well: > > > > struct ieee80211_tx_status_rtap_hdr { > > struct ieee80211_radiotap_header hdr; > > union { > > struct { > > u8 rate; > > u8 padding_for_rate; > > __le16 tx_flags; > > u8 data_retries; > > } non_mcs; > > struct { > > __le16 tx_flags; > > u8 data_retries; > > u8 mcs_known, mcs_flags, mcs; > > } mcs; > > } > > } __packed; > > I thought about the same but this means we have to fill in > different fields (non_mcs.tx_flags vs mcs.tx_flags) for the MCS > vs legacy path and set the radiotap header len differently in > both cases. Good point. > Or should we just get rid of the whole struct and fill in the > rtap header dynamically like it is done in the rx path and > drop the build-bug-on thing? I wouldn't mind that either, but we'll want to have a WARN_ON_ONCE() somewhere if we run out of space. 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