diff options
-rw-r--r-- | net/mac80211/rc80211_minstrel.c | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/net/mac80211/rc80211_minstrel.c b/net/mac80211/rc80211_minstrel.c index 3ea9740736a5..007164919e02 100644 --- a/net/mac80211/rc80211_minstrel.c +++ b/net/mac80211/rc80211_minstrel.c | |||
@@ -51,6 +51,7 @@ | |||
51 | #include <linux/random.h> | 51 | #include <linux/random.h> |
52 | #include <linux/ieee80211.h> | 52 | #include <linux/ieee80211.h> |
53 | #include <net/mac80211.h> | 53 | #include <net/mac80211.h> |
54 | #include "mesh.h" | ||
54 | #include "rate.h" | 55 | #include "rate.h" |
55 | #include "rc80211_minstrel.h" | 56 | #include "rc80211_minstrel.h" |
56 | 57 | ||
@@ -178,9 +179,14 @@ minstrel_tx_status(void *priv, struct ieee80211_supported_band *sband, | |||
178 | 179 | ||
179 | if ((i != IEEE80211_TX_MAX_RATES - 1) && (ar[i + 1].idx < 0)) { | 180 | if ((i != IEEE80211_TX_MAX_RATES - 1) && (ar[i + 1].idx < 0)) { |
180 | mi->r[ndx].success += success; | 181 | mi->r[ndx].success += success; |
181 | if (si) | 182 | if (si) { |
182 | si->fail_avg = (18050 - mi->r[ndx].probability) | 183 | si->fail_avg = (18050 - mi->r[ndx].probability) |
183 | / 180; | 184 | / 180; |
185 | WARN_ON(si->fail_avg > 100); | ||
186 | if (si->fail_avg == 100 && | ||
187 | ieee80211_vif_is_mesh(&si->sdata->vif)) | ||
188 | mesh_plink_broken(si); | ||
189 | } | ||
184 | } | 190 | } |
185 | } | 191 | } |
186 | 192 | ||