I happened to be looking in net80211/ieee80211_var.h and examined the
macros IEEE80211_MS_TO_TU and IEEE80211_TU_TO_MS. The conversions seem
backward to me. The macros are:

 

#define IEEE80211_MS_TO_TU(x)          (((x) * 1000) / 1024)

#define IEEE80211_TU_TO_MS(x)          (((x) * 1024) / 1000)

 

If I take the values:

            1 second = 1000 milliseconds (ms) = 1024 timer units (tu)

 

When I convert 1000 ms, I should get 1024 tu but when I use the macro
IEEE80211_MS_TO_TU(1000), I get 976. The current definition yields (1000
* 1000) / 1024 = 976. 

The macro should be:

 

#define IEEE80211_MS_TO_TU(x)          (((x) * 1024) / 1000)

 

This yields IEEE80211_MS_TO_TU(1000) = (1000 * 1024) / 1000 = 1024

 

The other macro needs a similar change.

 

Am I missing something, interpreting something incorrectly? Please let
me know.

 

Paul

_______________________________________________
freebsd-net@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-net
To unsubscribe, send any mail to "[EMAIL PROTECTED]"

Reply via email to