mirror of https://gitee.com/openkylin/linux.git
iwl3945: use iwl3945_commit_rxon
There's no need to go via the indirect function call from within the 3945 subdriver. Signed-off-by: Johannes Berg <johannes.berg@intel.com> Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com>
This commit is contained in:
parent
a77029ee3f
commit
8289e07b8a
|
@ -1763,8 +1763,7 @@ static int iwl3945_send_rxon_assoc(struct iwl_priv *priv,
|
||||||
* function correctly transitions out of the RXON_ASSOC_MSK state if
|
* function correctly transitions out of the RXON_ASSOC_MSK state if
|
||||||
* a HW tune is required based on the RXON structure changes.
|
* a HW tune is required based on the RXON structure changes.
|
||||||
*/
|
*/
|
||||||
static int iwl3945_commit_rxon(struct iwl_priv *priv,
|
int iwl3945_commit_rxon(struct iwl_priv *priv, struct iwl_rxon_context *ctx)
|
||||||
struct iwl_rxon_context *ctx)
|
|
||||||
{
|
{
|
||||||
/* cast away the const for active_rxon in this function */
|
/* cast away the const for active_rxon in this function */
|
||||||
struct iwl3945_rxon_cmd *active_rxon = (void *)&ctx->active;
|
struct iwl3945_rxon_cmd *active_rxon = (void *)&ctx->active;
|
||||||
|
|
|
@ -271,6 +271,9 @@ extern void iwl3945_post_associate(struct iwl_priv *priv,
|
||||||
extern void iwl3945_config_ap(struct iwl_priv *priv,
|
extern void iwl3945_config_ap(struct iwl_priv *priv,
|
||||||
struct ieee80211_vif *vif);
|
struct ieee80211_vif *vif);
|
||||||
|
|
||||||
|
extern int iwl3945_commit_rxon(struct iwl_priv *priv,
|
||||||
|
struct iwl_rxon_context *ctx);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* iwl3945_hw_find_station - Find station id for a given BSSID
|
* iwl3945_hw_find_station - Find station id for a given BSSID
|
||||||
* @bssid: MAC address of station ID to find
|
* @bssid: MAC address of station ID to find
|
||||||
|
|
|
@ -2547,7 +2547,7 @@ static void iwl3945_alive_start(struct iwl_priv *priv)
|
||||||
priv->cfg->ops->hcmd->send_bt_config(priv);
|
priv->cfg->ops->hcmd->send_bt_config(priv);
|
||||||
|
|
||||||
/* Configure the adapter for unassociated operation */
|
/* Configure the adapter for unassociated operation */
|
||||||
iwlcore_commit_rxon(priv, ctx);
|
iwl3945_commit_rxon(priv, ctx);
|
||||||
|
|
||||||
iwl3945_reg_txpower_periodic(priv);
|
iwl3945_reg_txpower_periodic(priv);
|
||||||
|
|
||||||
|
@ -2992,7 +2992,7 @@ void iwl3945_post_scan(struct iwl_priv *priv)
|
||||||
* performing the scan, fire one off if needed
|
* performing the scan, fire one off if needed
|
||||||
*/
|
*/
|
||||||
if (memcmp(&ctx->staging, &ctx->active, sizeof(ctx->staging)))
|
if (memcmp(&ctx->staging, &ctx->active, sizeof(ctx->staging)))
|
||||||
iwlcore_commit_rxon(priv, ctx);
|
iwl3945_commit_rxon(priv, ctx);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void iwl3945_bg_restart(struct work_struct *data)
|
static void iwl3945_bg_restart(struct work_struct *data)
|
||||||
|
@ -3061,7 +3061,7 @@ void iwl3945_post_associate(struct iwl_priv *priv, struct ieee80211_vif *vif)
|
||||||
conf = ieee80211_get_hw_conf(priv->hw);
|
conf = ieee80211_get_hw_conf(priv->hw);
|
||||||
|
|
||||||
ctx->staging.filter_flags &= ~RXON_FILTER_ASSOC_MSK;
|
ctx->staging.filter_flags &= ~RXON_FILTER_ASSOC_MSK;
|
||||||
iwlcore_commit_rxon(priv, ctx);
|
iwl3945_commit_rxon(priv, ctx);
|
||||||
|
|
||||||
rc = iwl_send_rxon_timing(priv, ctx);
|
rc = iwl_send_rxon_timing(priv, ctx);
|
||||||
if (rc)
|
if (rc)
|
||||||
|
@ -3087,7 +3087,7 @@ void iwl3945_post_associate(struct iwl_priv *priv, struct ieee80211_vif *vif)
|
||||||
ctx->staging.flags &= ~RXON_FLG_SHORT_SLOT_MSK;
|
ctx->staging.flags &= ~RXON_FLG_SHORT_SLOT_MSK;
|
||||||
}
|
}
|
||||||
|
|
||||||
iwlcore_commit_rxon(priv, ctx);
|
iwl3945_commit_rxon(priv, ctx);
|
||||||
|
|
||||||
switch (vif->type) {
|
switch (vif->type) {
|
||||||
case NL80211_IFTYPE_STATION:
|
case NL80211_IFTYPE_STATION:
|
||||||
|
@ -3226,7 +3226,7 @@ void iwl3945_config_ap(struct iwl_priv *priv, struct ieee80211_vif *vif)
|
||||||
|
|
||||||
/* RXON - unassoc (to set timing command) */
|
/* RXON - unassoc (to set timing command) */
|
||||||
ctx->staging.filter_flags &= ~RXON_FILTER_ASSOC_MSK;
|
ctx->staging.filter_flags &= ~RXON_FILTER_ASSOC_MSK;
|
||||||
iwlcore_commit_rxon(priv, ctx);
|
iwl3945_commit_rxon(priv, ctx);
|
||||||
|
|
||||||
/* RXON Timing */
|
/* RXON Timing */
|
||||||
rc = iwl_send_rxon_timing(priv, ctx);
|
rc = iwl_send_rxon_timing(priv, ctx);
|
||||||
|
@ -3253,7 +3253,7 @@ void iwl3945_config_ap(struct iwl_priv *priv, struct ieee80211_vif *vif)
|
||||||
}
|
}
|
||||||
/* restore RXON assoc */
|
/* restore RXON assoc */
|
||||||
ctx->staging.filter_flags |= RXON_FILTER_ASSOC_MSK;
|
ctx->staging.filter_flags |= RXON_FILTER_ASSOC_MSK;
|
||||||
iwlcore_commit_rxon(priv, ctx);
|
iwl3945_commit_rxon(priv, ctx);
|
||||||
}
|
}
|
||||||
iwl3945_send_beacon_cmd(priv);
|
iwl3945_send_beacon_cmd(priv);
|
||||||
|
|
||||||
|
@ -3519,7 +3519,7 @@ static ssize_t store_flags(struct device *d,
|
||||||
IWL_DEBUG_INFO(priv, "Committing rxon.flags = 0x%04X\n",
|
IWL_DEBUG_INFO(priv, "Committing rxon.flags = 0x%04X\n",
|
||||||
flags);
|
flags);
|
||||||
ctx->staging.flags = cpu_to_le32(flags);
|
ctx->staging.flags = cpu_to_le32(flags);
|
||||||
iwlcore_commit_rxon(priv, ctx);
|
iwl3945_commit_rxon(priv, ctx);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
mutex_unlock(&priv->mutex);
|
mutex_unlock(&priv->mutex);
|
||||||
|
@ -3557,7 +3557,7 @@ static ssize_t store_filter_flags(struct device *d,
|
||||||
"0x%04X\n", filter_flags);
|
"0x%04X\n", filter_flags);
|
||||||
ctx->staging.filter_flags =
|
ctx->staging.filter_flags =
|
||||||
cpu_to_le32(filter_flags);
|
cpu_to_le32(filter_flags);
|
||||||
iwlcore_commit_rxon(priv, ctx);
|
iwl3945_commit_rxon(priv, ctx);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
mutex_unlock(&priv->mutex);
|
mutex_unlock(&priv->mutex);
|
||||||
|
|
Loading…
Reference in New Issue