The contention window is supposed to be a power of two minus one, i.e.
15, 31, 63, 127... Due to a wrong formula, the actual sequence was 15,
32, 66, 134...
Bug reported by Dan Halperin <dhalperi@cs.washington.edu>
git-svn-id: http://madwifi-project.org/svn/madwifi/trunk@4097
0192ed92-7a03-0410-a25b-
9323aeb14dbd
tt += (long_retries + 1) * ath_hal_computetxtime(sc->sc_ah, rt, length,
rix, AH_TRUE);
for (x = 0; x <= short_retries + long_retries; x++) {
- cw = MIN(ATH_DEFAULT_CWMAX, (cw + 1) * 2);
+ cw = MIN(ATH_DEFAULT_CWMAX, (cw << 1) | 1);
tt += (t_slot * cw / 2);
}
return tt;
tt += (long_retries+1)*ath_hal_computetxtime(sc->sc_ah, rt, length,
rix, AH_TRUE);
for (x = 0; x <= short_retries + long_retries; x++) {
- cw = MIN(ATH_DEFAULT_CWMAX, (cw + 1) * 2);
+ cw = MIN(ATH_DEFAULT_CWMAX, (cw << 1) | 1);
tt += (t_slot * cw / 2);
}
return tt;