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:
parent
e88402fbdd
commit
fcb9392ff7
2 changed files with 10 additions and 15 deletions
|
@ -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;
|
||||||
|
|
||||||
if (vif) {
|
|
||||||
struct ieee80211_bss_conf *bss_conf = &vif->bss_conf;
|
struct ieee80211_bss_conf *bss_conf = &vif->bss_conf;
|
||||||
iftype = vif->type;
|
|
||||||
cur_conf->beacon_interval = bss_conf->beacon_int;
|
cur_conf->beacon_interval = bss_conf->beacon_int;
|
||||||
|
if (cur_conf->beacon_interval == 0)
|
||||||
|
cur_conf->beacon_interval = 100;
|
||||||
|
|
||||||
cur_conf->dtim_period = bss_conf->dtim_period;
|
cur_conf->dtim_period = bss_conf->dtim_period;
|
||||||
cur_conf->listen_interval = 1;
|
cur_conf->listen_interval = 1;
|
||||||
cur_conf->dtim_count = 1;
|
cur_conf->dtim_count = 1;
|
||||||
cur_conf->bmiss_timeout =
|
cur_conf->bmiss_timeout =
|
||||||
ATH_DEFAULT_BMISS_LIMIT * cur_conf->beacon_interval;
|
ATH_DEFAULT_BMISS_LIMIT * cur_conf->beacon_interval;
|
||||||
} else
|
|
||||||
iftype = priv->ah->opmode;
|
|
||||||
|
|
||||||
if (cur_conf->beacon_interval == 0)
|
switch (vif->type) {
|
||||||
cur_conf->beacon_interval = 100;
|
|
||||||
|
|
||||||
switch (iftype) {
|
|
||||||
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;
|
||||||
|
|
|
@ -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);
|
||||||
|
|
Reference in a new issue