https://bugzilla.novell.com/show_bug.cgi?id=725267
https://bugzilla.novell.com/show_bug.cgi?id=725267#c2
David Sterba changed:
What |Removed |Added
----------------------------------------------------------------------------
CC| |dsterba@suse.com
--- Comment #2 from David Sterba 2011-10-20 15:02:08 CEST ---
Out of curiosity I looked at the oops and it seems that the driver really tries
to divide by zero potentailly at several places:
net/mac80211/rc80211_minstrel_ht.c:
229 minstrel_calc_rate_ewma(mp, mr);
230 minstrel_ht_calc_tp(mp, mi, group, i);
net/mac80211/rc80211_minstrel_ht.c:
158 static void
159 minstrel_ht_calc_tp(struct minstrel_priv *mp, struct minstrel_ht_sta *mi,
160 int group, int rate)
161 {
162 struct minstrel_rate_stats *mr;
163 unsigned int usecs;
164
165 mr = &mi->groups[group].rates[rate];
166
167 if (mr->probability < MINSTREL_FRAC(1, 10)) {
168 mr->cur_tp = 0;
169 return;
170 }
171
172 usecs = mi->overhead / MINSTREL_TRUNC(mi->avg_ampdu_len);
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
173 usecs += minstrel_mcs_groups[group].duration[rate];
174 mr->cur_tp = MINSTREL_TRUNC((1000000 / usecs) * mr->probability);
175 }
net/mac80211/rc80211_minstrel_ht.h:
22 #define MINSTREL_TRUNC(val) ((val) >> MINSTREL_SCALE)
and minstrel_calc_rate_ewma():
137 mr->cur_prob = MINSTREL_FRAC(mr->success, mr->attempts);
21 #define MINSTREL_FRAC(val, div) (((val) << MINSTREL_SCALE) / div)
[upstream code]
--
Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are on the CC list for the bug.