minstrel: update stats after processing status
Instead of updating stats before sending a packet, update them after processing the packet's status. This makes minstrel in line with minstrel_ht. Signed-off-by: Johannes Berg <johannes.berg@intel.com>
This commit is contained in:
parent
8e3c1b7743
commit
8acbcddb5f
|
@ -154,6 +154,7 @@ minstrel_tx_status(void *priv, struct ieee80211_supported_band *sband,
|
||||||
struct ieee80211_sta *sta, void *priv_sta,
|
struct ieee80211_sta *sta, void *priv_sta,
|
||||||
struct sk_buff *skb)
|
struct sk_buff *skb)
|
||||||
{
|
{
|
||||||
|
struct minstrel_priv *mp = priv;
|
||||||
struct minstrel_sta_info *mi = priv_sta;
|
struct minstrel_sta_info *mi = priv_sta;
|
||||||
struct ieee80211_tx_info *info = IEEE80211_SKB_CB(skb);
|
struct ieee80211_tx_info *info = IEEE80211_SKB_CB(skb);
|
||||||
struct ieee80211_tx_rate *ar = info->status.rates;
|
struct ieee80211_tx_rate *ar = info->status.rates;
|
||||||
|
@ -181,6 +182,10 @@ minstrel_tx_status(void *priv, struct ieee80211_supported_band *sband,
|
||||||
|
|
||||||
if (mi->sample_deferred > 0)
|
if (mi->sample_deferred > 0)
|
||||||
mi->sample_deferred--;
|
mi->sample_deferred--;
|
||||||
|
|
||||||
|
if (time_after(jiffies, mi->stats_update +
|
||||||
|
(mp->update_interval * HZ) / 1000))
|
||||||
|
minstrel_update_stats(mp, mi);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -235,10 +240,6 @@ minstrel_get_rate(void *priv, struct ieee80211_sta *sta,
|
||||||
|
|
||||||
mrr = mp->has_mrr && !txrc->rts && !txrc->bss_conf->use_cts_prot;
|
mrr = mp->has_mrr && !txrc->rts && !txrc->bss_conf->use_cts_prot;
|
||||||
|
|
||||||
if (time_after(jiffies, mi->stats_update + (mp->update_interval *
|
|
||||||
HZ) / 1000))
|
|
||||||
minstrel_update_stats(mp, mi);
|
|
||||||
|
|
||||||
ndx = mi->max_tp_rate;
|
ndx = mi->max_tp_rate;
|
||||||
|
|
||||||
if (mrr)
|
if (mrr)
|
||||||
|
|
Loading…
Reference in a new issue