diff options
author | Sujith Manoharan <c_manoha@qca.qualcomm.com> | 2012-07-17 17:15:56 +0530 |
---|---|---|
committer | John W. Linville <linville@tuxdriver.com> | 2012-07-17 15:11:38 -0400 |
commit | ef4ad63368e6162fb0b18861748fac49edfcbd03 (patch) | |
tree | 3ac3958361fe7ae2b12b4ef9c580f1a5faa65d8a /drivers/net/wireless/ath/ath9k/ath9k.h | |
parent | 6c43c090a92938c3e89ce3b7459f91c5159535e2 (diff) | |
download | blackbird-op-linux-ef4ad63368e6162fb0b18861748fac49edfcbd03.tar.gz blackbird-op-linux-ef4ad63368e6162fb0b18861748fac49edfcbd03.zip |
ath9k: Cleanup beacon logic
* The beaconing status routine is not required, since in
multi-VIF cases the HW beacon parameters should not be
re-configured.
* Remove SC_OP_TSF_RESET - when a beaconing interface comes
up the first time, the TSF has to be reset.
* Simplify ath9k_allow_beacon_config().
* Handle setting/clearing the SWBA interrupt properly.
* Remove the TSF mangling in IBSS mode, it is not required.
* General code cleanup.
Signed-off-by: Sujith Manoharan <c_manoha@qca.qualcomm.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Diffstat (limited to 'drivers/net/wireless/ath/ath9k/ath9k.h')
-rw-r--r-- | drivers/net/wireless/ath/ath9k/ath9k.h | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/drivers/net/wireless/ath/ath9k/ath9k.h b/drivers/net/wireless/ath/ath9k/ath9k.h index 9dd8fbb847fd..4cce997d6867 100644 --- a/drivers/net/wireless/ath/ath9k/ath9k.h +++ b/drivers/net/wireless/ath/ath9k/ath9k.h @@ -389,6 +389,7 @@ struct ath_beacon_config { u16 dtim_period; u16 bmiss_timeout; u8 dtim_count; + bool enable_beacon; }; struct ath_beacon { @@ -415,11 +416,13 @@ struct ath_beacon { }; void ath_beacon_tasklet(unsigned long data); -void ath_beacon_config(struct ath_softc *sc, struct ieee80211_vif *vif); +bool ath9k_allow_beacon_config(struct ath_softc *sc, struct ieee80211_vif *vif); +void ath9k_beacon_config(struct ath_softc *sc, struct ieee80211_vif *vif, + u32 changed); void ath9k_beacon_assign_slot(struct ath_softc *sc, struct ieee80211_vif *vif); void ath9k_beacon_remove_slot(struct ath_softc *sc, struct ieee80211_vif *vif); int ath_beaconq_config(struct ath_softc *sc); -void ath_set_beacon(struct ath_softc *sc); +void ath9k_set_beacon(struct ath_softc *sc); void ath9k_set_beaconing_status(struct ath_softc *sc, bool status); /*******************/ @@ -622,7 +625,6 @@ enum sc_op_flags { SC_OP_INVALID, SC_OP_BEACONS, SC_OP_RXFLUSH, - SC_OP_TSF_RESET, SC_OP_ANI_RUN, SC_OP_PRIM_STA_VIF, SC_OP_HW_RESET, |