ath9k_htc: Cleanup beacon configuration
authorSujith <Sujith.Manoharan@atheros.com>
Fri, 16 Apr 2010 06:23:48 +0000 (11:53 +0530)
committerJohn W. Linville <linville@tuxdriver.com>
Fri, 16 Apr 2010 19:47:03 +0000 (15:47 -0400)
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>
drivers/net/wireless/ath/ath9k/htc_drv_beacon.c
drivers/net/wireless/ath/ath9k/htc_drv_main.c

index 5e21f4d92ff5ca761ee4b075563231e471fc7f02..d10402864b7603fbddc1cfebfcdf9ebfd1fa9c9f 100644 (file)
@@ -244,25 +244,20 @@ void ath9k_htc_beacon_config(struct ath9k_htc_priv *priv,
                             struct ieee80211_vif *vif)
 {
        struct ath_common *common = ath9k_hw_common(priv->ah);
-       enum nl80211_iftype iftype;
        struct htc_beacon_config *cur_conf = &priv->cur_beacon_conf;
+       struct ieee80211_bss_conf *bss_conf = &vif->bss_conf;
 
-       if (vif) {
-               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;
-
+       cur_conf->beacon_interval = bss_conf->beacon_int;
        if (cur_conf->beacon_interval == 0)
                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:
                ath9k_htc_beacon_config_sta(priv, cur_conf);
                break;
index eb7722b2cfcca62611f0e4636a38683cc456e0ca..08a4a58a4180b7ef91d27e4112d293eaaaac9308 100644 (file)
@@ -1687,7 +1687,7 @@ static void ath9k_htc_sw_scan_complete(struct ieee80211_hw *hw)
        spin_unlock_bh(&priv->beacon_lock);
        priv->op_flags |= OP_FULL_RESET;
        if (priv->op_flags & OP_ASSOCIATED)
-               ath9k_htc_beacon_config(priv, NULL);
+               ath9k_htc_beacon_config(priv, priv->vif);
        ath_start_ani(priv);
        mutex_unlock(&priv->mutex);
        ath9k_htc_ps_restore(priv);