git.openpandora.org
/
pandora-kernel.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
minstrel: update stats after processing status
[pandora-kernel.git]
/
net
/
mac80211
/
rc80211_minstrel.c
diff --git
a/net/mac80211/rc80211_minstrel.c
b/net/mac80211/rc80211_minstrel.c
index
58a8955
..
05c8a5c
100644
(file)
--- a/
net/mac80211/rc80211_minstrel.c
+++ b/
net/mac80211/rc80211_minstrel.c
@@
-154,6
+154,7
@@
minstrel_tx_status(void *priv, struct ieee80211_supported_band *sband,
struct ieee80211_sta *sta, void *priv_sta,
struct sk_buff *skb)
{
struct ieee80211_sta *sta, void *priv_sta,
struct sk_buff *skb)
{
+ struct minstrel_priv *mp = priv;
struct minstrel_sta_info *mi = priv_sta;
struct ieee80211_tx_info *info = IEEE80211_SKB_CB(skb);
struct ieee80211_tx_rate *ar = info->status.rates;
struct minstrel_sta_info *mi = priv_sta;
struct ieee80211_tx_info *info = IEEE80211_SKB_CB(skb);
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)
mi->sample_deferred--;
if (mi->sample_deferred > 0)
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;
if (mrr)
ndx = mi->max_tp_rate;
if (mrr)
@@
-334,8
+335,8
@@
minstrel_get_rate(void *priv, struct ieee80211_sta *sta,
static void
static void
-calc_rate_durations(struct
minstrel_sta_info *mi, struct ieee80211_local *local
,
-
struct minstrel_rate *d,
struct ieee80211_rate *rate)
+calc_rate_durations(struct
ieee80211_local *local, struct minstrel_rate *d
,
+ struct ieee80211_rate *rate)
{
int erp = !!(rate->flags & IEEE80211_RATE_ERP_G);
{
int erp = !!(rate->flags & IEEE80211_RATE_ERP_G);
@@
-402,8
+403,7
@@
minstrel_rate_init(void *priv, struct ieee80211_supported_band *sband,
mr->rix = i;
mr->bitrate = sband->bitrates[i].bitrate / 5;
mr->rix = i;
mr->bitrate = sband->bitrates[i].bitrate / 5;
- calc_rate_durations(mi, local, mr,
- &sband->bitrates[i]);
+ calc_rate_durations(local, mr, &sband->bitrates[i]);
/* calculate maximum number of retransmissions before
* fallback (based on maximum segment size) */
/* calculate maximum number of retransmissions before
* fallback (based on maximum segment size) */