]> bbs.cooldavid.org Git - net-next-2.6.git/commitdiff
iwlwifi: split allocation/sending local station LQ
authorJohannes Berg <johannes.berg@intel.com>
Thu, 29 Apr 2010 17:41:07 +0000 (10:41 -0700)
committerReinette Chatre <reinette.chatre@intel.com>
Mon, 10 May 2010 22:09:02 +0000 (15:09 -0700)
Rename iwl_sta_init_lq to iwl_sta_alloc_lq and
move sending it out into the caller.

Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Signed-off-by: Reinette Chatre <reinette.chatre@intel.com>
drivers/net/wireless/iwlwifi/iwl-sta.c

index dd1c639074c1770dfd66096de130f40cb855e447..5bf82b9b523bf6a612a2fa69684a9b23594402d4 100644 (file)
@@ -407,13 +407,12 @@ int iwl_add_station_common(struct iwl_priv *priv, const u8 *addr,
 }
 EXPORT_SYMBOL(iwl_add_station_common);
 
-static struct iwl_link_quality_cmd *iwl_sta_init_lq(struct iwl_priv *priv,
-                                                   u8 sta_id)
+static struct iwl_link_quality_cmd *iwl_sta_alloc_lq(struct iwl_priv *priv,
+                                                    u8 sta_id)
 {
        int i, r;
        struct iwl_link_quality_cmd *link_cmd;
        u32 rate_flags;
-       int ret = 0;
 
        link_cmd = kzalloc(sizeof(struct iwl_link_quality_cmd), GFP_KERNEL);
        if (!link_cmd) {
@@ -459,10 +458,6 @@ static struct iwl_link_quality_cmd *iwl_sta_init_lq(struct iwl_priv *priv,
 
        link_cmd->sta_id = sta_id;
 
-       ret = iwl_send_lq_cmd(priv, link_cmd, CMD_SYNC, true);
-       if (ret)
-               IWL_ERR(priv, "Link quality command failed (%d)\n", ret);
-
        return link_cmd;
 }
 
@@ -493,12 +488,17 @@ int iwl_add_local_station(struct iwl_priv *priv, const u8 *addr, bool init_rs)
 
        if (init_rs) {
                /* Set up default rate scaling table in device's station table */
-               link_cmd = iwl_sta_init_lq(priv, sta_id);
+               link_cmd = iwl_sta_alloc_lq(priv, sta_id);
                if (!link_cmd) {
                        IWL_ERR(priv, "Unable to initialize rate scaling for station %pM.\n",
                                addr);
                        return -ENOMEM;
                }
+
+               ret = iwl_send_lq_cmd(priv, link_cmd, CMD_SYNC, true);
+               if (ret)
+                       IWL_ERR(priv, "Link quality command failed (%d)\n", ret);
+
                spin_lock_irqsave(&priv->sta_lock, flags);
                priv->stations[sta_id].lq = link_cmd;
                spin_unlock_irqrestore(&priv->sta_lock, flags);