ath9k_htc: Cleanup beacon configuration

This patch cleans up beacon configuration,
removing a redundant interface type check
and updating beacon interval in the correct place.

Signed-off-by: Sujith <Sujith.Manoharan@atheros.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
This commit is contained in:
Sujith 2010-04-16 11:53:48 +05:30 committed by John W. Linville
parent e88402fbdd
commit fcb9392ff7
2 changed files with 10 additions and 15 deletions

View file

@ -244,25 +244,20 @@ void ath9k_htc_beacon_config(struct ath9k_htc_priv *priv,
struct ieee80211_vif *vif) struct ieee80211_vif *vif)
{ {
struct ath_common *common = ath9k_hw_common(priv->ah); struct ath_common *common = ath9k_hw_common(priv->ah);
enum nl80211_iftype iftype;
struct htc_beacon_config *cur_conf = &priv->cur_beacon_conf; struct htc_beacon_config *cur_conf = &priv->cur_beacon_conf;
struct ieee80211_bss_conf *bss_conf = &vif->bss_conf;
if (vif) { cur_conf->beacon_interval = bss_conf->beacon_int;
struct ieee80211_bss_conf *bss_conf = &vif->bss_conf;
iftype = vif->type;
cur_conf->beacon_interval = bss_conf->beacon_int;
cur_conf->dtim_period = bss_conf->dtim_period;
cur_conf->listen_interval = 1;
cur_conf->dtim_count = 1;
cur_conf->bmiss_timeout =
ATH_DEFAULT_BMISS_LIMIT * cur_conf->beacon_interval;
} else
iftype = priv->ah->opmode;
if (cur_conf->beacon_interval == 0) if (cur_conf->beacon_interval == 0)
cur_conf->beacon_interval = 100; cur_conf->beacon_interval = 100;
switch (iftype) { cur_conf->dtim_period = bss_conf->dtim_period;
cur_conf->listen_interval = 1;
cur_conf->dtim_count = 1;
cur_conf->bmiss_timeout =
ATH_DEFAULT_BMISS_LIMIT * cur_conf->beacon_interval;
switch (vif->type) {
case NL80211_IFTYPE_STATION: case NL80211_IFTYPE_STATION:
ath9k_htc_beacon_config_sta(priv, cur_conf); ath9k_htc_beacon_config_sta(priv, cur_conf);
break; break;

View file

@ -1687,7 +1687,7 @@ static void ath9k_htc_sw_scan_complete(struct ieee80211_hw *hw)
spin_unlock_bh(&priv->beacon_lock); spin_unlock_bh(&priv->beacon_lock);
priv->op_flags |= OP_FULL_RESET; priv->op_flags |= OP_FULL_RESET;
if (priv->op_flags & OP_ASSOCIATED) if (priv->op_flags & OP_ASSOCIATED)
ath9k_htc_beacon_config(priv, NULL); ath9k_htc_beacon_config(priv, priv->vif);
ath_start_ani(priv); ath_start_ani(priv);
mutex_unlock(&priv->mutex); mutex_unlock(&priv->mutex);
ath9k_htc_ps_restore(priv); ath9k_htc_ps_restore(priv);