--- a/include/net/mac80211.h +++ b/include/net/mac80211.h @@ -386,14 +386,17 @@ struct ieee80211_tx_rate { * @flags: transmit info flags, defined above * @band: the band to transmit on (use for checking for races) * @antenna_sel_tx: antenna to use, 0 for automatic diversity + * @driver_flags: flags for internal driver use * @pad: padding, ignore * @control: union for control data * @status: union for status data * @driver_data: array of driver_data pointers - * @ampdu_ack_len: number of aggregated frames. - * relevant only if IEEE80211_TX_STATUS_AMPDU was set. + * @ampdu_ack_len: number of acked aggregated frames. + * relevant only if ieee80211_tx_status_ampdu was set. * @ampdu_ack_map: block ack bit map for the aggregation. * relevant only if IEEE80211_TX_STATUS_AMPDU was set. + * @ampdu_len: number of aggregated frames. + * relevant only if ieee80211_tx_status_ampdu was set. * @ack_signal: signal strength of the ACK frame */ struct ieee80211_tx_info { @@ -403,8 +406,8 @@ struct ieee80211_tx_info { u8 antenna_sel_tx; - /* 2 byte hole */ - u8 pad[2]; + u8 driver_flags; + u8 pad; union { struct { @@ -428,7 +431,8 @@ struct ieee80211_tx_info { u8 ampdu_ack_len; u64 ampdu_ack_map; int ack_signal; - /* 8 bytes free */ + u8 ampdu_len; + /* 7 bytes free */ } status; struct { struct ieee80211_tx_rate driver_rates[