diff options
author | adrian <adrian@FreeBSD.org> | 2012-11-23 05:38:38 +0000 |
---|---|---|
committer | adrian <adrian@FreeBSD.org> | 2012-11-23 05:38:38 +0000 |
commit | 428f085c8364bd3322981fc294cdb50b2e61da0a (patch) | |
tree | 52031ca09199518f0d623982d4465cc9a8710e34 /lib/libc | |
parent | 8b099e2d4f6102ccf6c2d9e25373e08d90b0c094 (diff) | |
download | FreeBSD-src-428f085c8364bd3322981fc294cdb50b2e61da0a.zip FreeBSD-src-428f085c8364bd3322981fc294cdb50b2e61da0a.tar.gz |
Fix up the nexttbtt -> TSF delta calculation to not wrap ridiculously
on the 802.11n NICs.
The 802.11n NICs return a TBTT value that continues far past the 16 bit
HAL_BEACON_PERIOD time (in TU.) The code would constrain nextslot to
HAL_BEACON_PERIOD, but it wasn't constraining nexttbtt - the pre-11n
NICs would only return TU values from 0 -> HAL_BEACON_PERIOD. Thus,
when nexttbtt exceeded 64 milliseconds, it would not wrap (but nextslot
did) which lead to a huge tsfdelta.
So until the slot calculation is converted to work in TSF rather than
a mix of TSF and TU, "make" the nexttbtt values match the TU assumptions
for pre-11n NICs.
This fixes the crazy deltatsf calculations but it doesn't fix the
non-convergent tsfdelta issue. That'll be fixed in a subsequent commit.
Diffstat (limited to 'lib/libc')
0 files changed, 0 insertions, 0 deletions