mirror of https://github.com/proski/madwifi
Fix contention window calculation in sample and minstrel code
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
This commit is contained in:
parent
922778b6ef
commit
acbbdd0bb6
|
@ -283,7 +283,7 @@ calc_usecs_unicast_packet(struct ath_softc *sc, int length,
|
|||
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;
|
||||
|
|
|
@ -254,7 +254,7 @@ calc_usecs_unicast_packet(struct ath_softc *sc, int length,
|
|||
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;
|
||||
|
|
Loading…
Reference in New Issue