Commit e535c1ac authored by Bruno Randolf's avatar Bruno Randolf Committed by David S. Miller

ath5k: beacon interval is in TU

the beacon interval is passed by mac80211 in TU already, so we can directly use
it without conversion. also update the comments about TU (1 TU is defined by
802.11 as 1024usec).

drivers/net/wireless/ath5k/ath5k.h:     Changes-licensed-under: ISC
drivers/net/wireless/ath5k/base.c:      Changes-licensed-under: 3-Clause-BSD
drivers/net/wireless/ath5k/base.h:      Changes-licensed-under: 3-Clause-BSD
Signed-off-by: default avatarBruno Randolf <bruno@thinktube.com>
Signed-off-by: default avatarJohn W. Linville <linville@tuxdriver.com>
parent 1008e0f7
...@@ -486,8 +486,8 @@ struct ath5k_beacon_state { ...@@ -486,8 +486,8 @@ struct ath5k_beacon_state {
* TSF to TU conversion: * TSF to TU conversion:
* *
* TSF is a 64bit value in usec (microseconds). * TSF is a 64bit value in usec (microseconds).
* TU is a 32bit value in roughly msec (milliseconds): usec / 1024 * TU is a 32bit value and defined by IEEE802.11 (page 6) as "A measurement of
* (1000ms equals 976 TU) * time equal to 1024 usec", so it's roughly milliseconds (usec / 1024).
*/ */
#define TSF_TO_TU(_tsf) (u32)((_tsf) >> 10) #define TSF_TO_TU(_tsf) (u32)((_tsf) >> 10)
......
...@@ -2554,7 +2554,7 @@ ath5k_config(struct ieee80211_hw *hw, ...@@ -2554,7 +2554,7 @@ ath5k_config(struct ieee80211_hw *hw,
{ {
struct ath5k_softc *sc = hw->priv; struct ath5k_softc *sc = hw->priv;
sc->bintval = conf->beacon_int * 1000 / 1024; sc->bintval = conf->beacon_int;
ath5k_setcurmode(sc, conf->phymode); ath5k_setcurmode(sc, conf->phymode);
return ath5k_chan_set(sc, conf->chan); return ath5k_chan_set(sc, conf->chan);
...@@ -2570,7 +2570,7 @@ ath5k_config_interface(struct ieee80211_hw *hw, struct ieee80211_vif *vif, ...@@ -2570,7 +2570,7 @@ ath5k_config_interface(struct ieee80211_hw *hw, struct ieee80211_vif *vif,
/* Set to a reasonable value. Note that this will /* Set to a reasonable value. Note that this will
* be set to mac80211's value at ath5k_config(). */ * be set to mac80211's value at ath5k_config(). */
sc->bintval = 1000 * 1000 / 1024; sc->bintval = 1000;
mutex_lock(&sc->lock); mutex_lock(&sc->lock);
if (sc->vif != vif) { if (sc->vif != vif) {
ret = -EIO; ret = -EIO;
......
...@@ -164,7 +164,7 @@ struct ath5k_softc { ...@@ -164,7 +164,7 @@ struct ath5k_softc {
struct ath5k_buf *bbuf; /* beacon buffer */ struct ath5k_buf *bbuf; /* beacon buffer */
unsigned int bhalq, /* SW q for outgoing beacons */ unsigned int bhalq, /* SW q for outgoing beacons */
bmisscount, /* missed beacon transmits */ bmisscount, /* missed beacon transmits */
bintval, /* beacon interval */ bintval, /* beacon interval in TU */
bsent; bsent;
struct timer_list calib_tim; /* calibration timer */ struct timer_list calib_tim; /* calibration timer */
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment