ath5k: beacon interval is in TU
authorBruno Randolf <bruno@thinktube.com>
Fri, 18 Jan 2008 12:51:40 +0000 (21:51 +0900)
committerDavid S. Miller <davem@davemloft.net>
Mon, 28 Jan 2008 23:10:50 +0000 (15:10 -0800)
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: Bruno Randolf <bruno@thinktube.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
drivers/net/wireless/ath5k/ath5k.h
drivers/net/wireless/ath5k/base.c
drivers/net/wireless/ath5k/base.h

index 878609f1bf39813278188c9a87136458afb3aaf8..c79066b38d3b4797e79ff59aee3752b3824d84d0 100644 (file)
@@ -486,8 +486,8 @@ struct ath5k_beacon_state {
  * TSF to TU conversion:
  *
  * TSF is a 64bit value in usec (microseconds).
- * TU is a 32bit value in roughly msec (milliseconds): usec / 1024
- * (1000ms equals 976 TU)
+ * TU is a 32bit value and defined by IEEE802.11 (page 6) as "A measurement of
+ * time equal to 1024 usec", so it's roughly milliseconds (usec / 1024).
  */
 #define TSF_TO_TU(_tsf) (u32)((_tsf) >> 10)
 
index 5ff115da91e34c629cc71e2c3000607e640b1bc4..de590163a07ebcd09faf908cd61956d3bd13d6ac 100644 (file)
@@ -2554,7 +2554,7 @@ ath5k_config(struct ieee80211_hw *hw,
 {
        struct ath5k_softc *sc = hw->priv;
 
-       sc->bintval = conf->beacon_int * 1000 / 1024;
+       sc->bintval = conf->beacon_int;
        ath5k_setcurmode(sc, conf->phymode);
 
        return ath5k_chan_set(sc, conf->chan);
@@ -2570,7 +2570,7 @@ ath5k_config_interface(struct ieee80211_hw *hw, struct ieee80211_vif *vif,
 
        /* Set to a reasonable value. Note that this will
         * be set to mac80211's value at ath5k_config(). */
-       sc->bintval = 1000 * 1000 / 1024;
+       sc->bintval = 1000;
        mutex_lock(&sc->lock);
        if (sc->vif != vif) {
                ret = -EIO;
index 7ba2223d22470c5a570280788260b5836d504c07..20c946926090c66781e2a4e98903057bd3600161 100644 (file)
@@ -164,7 +164,7 @@ struct ath5k_softc {
        struct ath5k_buf        *bbuf;          /* beacon buffer */
        unsigned int            bhalq,          /* SW q for outgoing beacons */
                                bmisscount,     /* missed beacon transmits */
-                               bintval,        /* beacon interval */
+                               bintval,        /* beacon interval in TU */
                                bsent;
 
        struct timer_list       calib_tim;      /* calibration timer */