ath9k_htc: Unify target capability updating
authorSujith Manoharan <Sujith.Manoharan@atheros.com>
Mon, 21 Feb 2011 02:18:09 +0000 (07:48 +0530)
committerJohn W. Linville <linville@tuxdriver.com>
Wed, 23 Feb 2011 21:25:26 +0000 (16:25 -0500)
Update capabilites on the target once, when
start() is called, there is no need for redundant
updating on adding an interface.

Signed-off-by: Sujith Manoharan <Sujith.Manoharan@atheros.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
drivers/net/wireless/ath/ath9k/htc_drv_main.c

index 618670d318c5010ca7114d0c4b91a0adb1edf3ea..4ced5cd6ef1c64471841086f87297410b29d5523 100644 (file)
@@ -318,15 +318,6 @@ static int ath9k_htc_add_monitor_interface(struct ath9k_htc_priv *priv)
 
        priv->sta_slot |= (1 << sta_idx);
        priv->nstations++;
-
-       /*
-        * Set chainmask etc. on the target.
-        */
-       ret = ath9k_htc_update_cap_target(priv);
-       if (ret)
-               ath_dbg(common, ATH_DBG_CONFIG,
-                       "Failed to update capability in target\n");
-
        priv->vif_sta_pos[priv->mon_vif_idx] = sta_idx;
        priv->ah->is_monitoring = true;
 
@@ -1050,6 +1041,11 @@ static int ath9k_htc_start(struct ieee80211_hw *hw)
 
        ath9k_host_rx_init(priv);
 
+       ret = ath9k_htc_update_cap_target(priv);
+       if (ret)
+               ath_dbg(common, ATH_DBG_CONFIG,
+                       "Failed to update capability in target\n");
+
        priv->op_flags &= ~OP_INVALID;
        htc_start(priv->htc);
 
@@ -1182,11 +1178,6 @@ static int ath9k_htc_add_interface(struct ieee80211_hw *hw,
        if (ret)
                goto out;
 
-       ret = ath9k_htc_update_cap_target(priv);
-       if (ret)
-               ath_dbg(common, ATH_DBG_CONFIG,
-                       "Failed to update capability in target\n");
-
        priv->ah->opmode = vif->type;
        priv->vif_slot |= (1 << avp->index);
        priv->vif = vif;