ath9k: fix ad-hoc nexttbtt calculation
rounding up the delta between last-beacon-tsf and tsf to intval is wrong and can lead to misconfigured timers which breaks beacon transmission. Fix this by adding intval and subtracting the offset of the tsf within the current slot. Signed-off-by: Felix Fietkau <nbd@openwrt.org> Signed-off-by: John W. Linville <linville@tuxdriver.com>
This commit is contained in:
parent
5b68138e56
commit
ac56703e0e
|
@ -654,7 +654,7 @@ static void ath_beacon_config_adhoc(struct ath_softc *sc,
|
|||
delta = (tsf - sc->beacon.bc_tstamp);
|
||||
else
|
||||
delta = (tsf + 1 + (~0U - sc->beacon.bc_tstamp));
|
||||
nexttbtt = tsf + roundup(delta, intval);
|
||||
nexttbtt = tsf + intval - (delta % intval);
|
||||
}
|
||||
|
||||
ath_dbg(common, ATH_DBG_BEACON,
|
||||
|
|
Loading…
Reference in New Issue