aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/wireless/ath/ath5k/base.h
diff options
context:
space:
mode:
authorBob Copeland <me@bobcopeland.com>2009-07-04 12:59:52 -0400
committerJohn W. Linville <linville@tuxdriver.com>2009-07-10 15:02:29 -0400
commit21800491cc5c48e9f1084a6f524a0da7c2525cc6 (patch)
tree5453e16a1c423f8541b819947d90760000f08a00 /drivers/net/wireless/ath/ath5k/base.h
parentath5k: send buffered frames after the beacon (diff)
downloadlinux-dev-21800491cc5c48e9f1084a6f524a0da7c2525cc6.tar.xz
linux-dev-21800491cc5c48e9f1084a6f524a0da7c2525cc6.zip
ath5k: rework beacon configuration
Using the enable_beacon flag allows some simplifications and fixes some corner cases in beacon handling. This change adds a state variable for beaconing in ath5k_beacon_config and handles both enabling and disabling, thus eliminating the need for ath5k_beacon_disable. We also now configure the beacon when any of the beacon parameters change, so ath5k_beacon_reconfig is no longer needed (its mmiowb gets moved to ath5k_beacon_config). Finally, by locking around the whole config function, we don't need to worry about clearing the interrupt mask register before installing the new mask. The upshot is this correctly disables beaconing when the interfaces are taken down, it fixes a potential restarting of beaconing when ath5k_reset() is called, and ensures that updates to the beacon interval take effect immediately. Signed-off-by: Bob Copeland <me@bobcopeland.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
Diffstat (limited to 'drivers/net/wireless/ath/ath5k/base.h')
-rw-r--r--drivers/net/wireless/ath/ath5k/base.h1
1 files changed, 1 insertions, 0 deletions
diff --git a/drivers/net/wireless/ath/ath5k/base.h b/drivers/net/wireless/ath/ath5k/base.h
index 65e75fb54482..778e422946ab 100644
--- a/drivers/net/wireless/ath/ath5k/base.h
+++ b/drivers/net/wireless/ath/ath5k/base.h
@@ -190,6 +190,7 @@ struct ath5k_softc {
struct timer_list calib_tim; /* calibration timer */
int power_level; /* Requested tx power in dbm */
bool assoc; /* assocate state */
+ bool enable_beacon; /* true if beacons are on */
};
#define ath5k_hw_hasbssidmask(_ah) \