On Fri, 2012-04-06 at 20:48 +0200, Lorenzo Bianconi wrote: > Hi, > > I noticed a possible issue in the status count field management of the > ieee80211_tx_info data structure. In particular, when the AGGR > processing is employed, > status.rates[].count is set just for the first frame and not for > others belonging to the same burst, leading to wrong statistic data in > the mac80211 debug file system. > > Regards > > Lorenzo > > Signed-off-by: Lorenzo Bianconi <lorenzo.bianconi83@xxxxxxxxx> > --- > --- a/net/mac80211/status.c > +++ b/net/mac80211/status.c > @@ -355,7 +355,13 @@ > int rtap_len; > > for (i = 0; i < IEEE80211_TX_MAX_RATES; i++) { > - if (info->status.rates[i].idx < 0) { > + if ((info->flags & IEEE80211_TX_CTL_AMPDU) && > + !(info->flags & IEEE80211_TX_STAT_AMPDU)) { > + /* just the first aggr frame carry status info */ > + info->status.rates[i].idx = -1; > + info->status.rates[i].count = 0; > + break; > + } else if (info->status.rates[i].idx < 0) { Is that really the way all drivers do it? I know ath9k seems to do it that way, but I don't think all drivers do. ath9k is probably the exception rather than the rule, at least today 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