提交 a6a0345c 编写于 作者: J Johannes Berg 提交者: Reinette Chatre

iwlwifi: split allocation/sending local station LQ

Rename iwl_sta_init_lq to iwl_sta_alloc_lq and
move sending it out into the caller.
Signed-off-by: NJohannes Berg <johannes.berg@intel.com>
Signed-off-by: NReinette Chatre <reinette.chatre@intel.com>
上级 156b70d1
...@@ -407,13 +407,12 @@ int iwl_add_station_common(struct iwl_priv *priv, const u8 *addr, ...@@ -407,13 +407,12 @@ int iwl_add_station_common(struct iwl_priv *priv, const u8 *addr,
} }
EXPORT_SYMBOL(iwl_add_station_common); EXPORT_SYMBOL(iwl_add_station_common);
static struct iwl_link_quality_cmd *iwl_sta_init_lq(struct iwl_priv *priv, static struct iwl_link_quality_cmd *iwl_sta_alloc_lq(struct iwl_priv *priv,
u8 sta_id) u8 sta_id)
{ {
int i, r; int i, r;
struct iwl_link_quality_cmd *link_cmd; struct iwl_link_quality_cmd *link_cmd;
u32 rate_flags; u32 rate_flags;
int ret = 0;
link_cmd = kzalloc(sizeof(struct iwl_link_quality_cmd), GFP_KERNEL); link_cmd = kzalloc(sizeof(struct iwl_link_quality_cmd), GFP_KERNEL);
if (!link_cmd) { if (!link_cmd) {
...@@ -459,10 +458,6 @@ static struct iwl_link_quality_cmd *iwl_sta_init_lq(struct iwl_priv *priv, ...@@ -459,10 +458,6 @@ static struct iwl_link_quality_cmd *iwl_sta_init_lq(struct iwl_priv *priv,
link_cmd->sta_id = sta_id; 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; return link_cmd;
} }
...@@ -493,12 +488,17 @@ int iwl_add_local_station(struct iwl_priv *priv, const u8 *addr, bool init_rs) ...@@ -493,12 +488,17 @@ int iwl_add_local_station(struct iwl_priv *priv, const u8 *addr, bool init_rs)
if (init_rs) { if (init_rs) {
/* Set up default rate scaling table in device's station table */ /* 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) { if (!link_cmd) {
IWL_ERR(priv, "Unable to initialize rate scaling for station %pM.\n", IWL_ERR(priv, "Unable to initialize rate scaling for station %pM.\n",
addr); addr);
return -ENOMEM; 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); spin_lock_irqsave(&priv->sta_lock, flags);
priv->stations[sta_id].lq = link_cmd; priv->stations[sta_id].lq = link_cmd;
spin_unlock_irqrestore(&priv->sta_lock, flags); spin_unlock_irqrestore(&priv->sta_lock, flags);
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册