Commit 81e95430 authored by Shanyu Zhao's avatar Shanyu Zhao Committed by John W. Linville

iwlwifi: do not call ieee80211_frequency_to_channel

A few cases in iwlwifi driver function ieee80211_frequency_to_channel()
is called to get channel number from center frequency. This is not needed
since the channel number is already saved in hw_value field of struct
ieee80211_channel in function iwlcore_init_geos(). So replace those function
calls with hw_value field of struct ieee80211_channel.
Signed-off-by: default avatarShanyu Zhao <shanyu.zhao@intel.com>
Signed-off-by: default avatarJohannes Berg <johannes.berg@intel.com>
Signed-off-by: default avatarWey-Yi Guy <wey-yi.w.guy@intel.com>
parent 7469701e
...@@ -1470,7 +1470,7 @@ static int iwl4965_hw_channel_switch(struct iwl_priv *priv, ...@@ -1470,7 +1470,7 @@ static int iwl4965_hw_channel_switch(struct iwl_priv *priv,
cmd.band = band; cmd.band = band;
cmd.expect_beacon = 0; cmd.expect_beacon = 0;
ch = ieee80211_frequency_to_channel(ch_switch->channel->center_freq); ch = ch_switch->channel->hw_value;
cmd.channel = cpu_to_le16(ch); cmd.channel = cpu_to_le16(ch);
cmd.rxon_flags = priv->staging_rxon.flags; cmd.rxon_flags = priv->staging_rxon.flags;
cmd.rxon_filter_flags = priv->staging_rxon.filter_flags; cmd.rxon_filter_flags = priv->staging_rxon.filter_flags;
......
...@@ -291,7 +291,7 @@ static int iwl5000_hw_channel_switch(struct iwl_priv *priv, ...@@ -291,7 +291,7 @@ static int iwl5000_hw_channel_switch(struct iwl_priv *priv,
}; };
cmd.band = priv->band == IEEE80211_BAND_2GHZ; cmd.band = priv->band == IEEE80211_BAND_2GHZ;
ch = ieee80211_frequency_to_channel(ch_switch->channel->center_freq); ch = ch_switch->channel->hw_value;
IWL_DEBUG_11H(priv, "channel switch from %d to %d\n", IWL_DEBUG_11H(priv, "channel switch from %d to %d\n",
priv->active_rxon.channel, ch); priv->active_rxon.channel, ch);
cmd.channel = cpu_to_le16(ch); cmd.channel = cpu_to_le16(ch);
......
...@@ -214,7 +214,7 @@ static int iwl6000_hw_channel_switch(struct iwl_priv *priv, ...@@ -214,7 +214,7 @@ static int iwl6000_hw_channel_switch(struct iwl_priv *priv,
}; };
cmd.band = priv->band == IEEE80211_BAND_2GHZ; cmd.band = priv->band == IEEE80211_BAND_2GHZ;
ch = ieee80211_frequency_to_channel(ch_switch->channel->center_freq); ch = ch_switch->channel->hw_value;
IWL_DEBUG_11H(priv, "channel switch from %u to %u\n", IWL_DEBUG_11H(priv, "channel switch from %u to %u\n",
priv->active_rxon.channel, ch); priv->active_rxon.channel, ch);
cmd.channel = cpu_to_le16(ch); cmd.channel = cpu_to_le16(ch);
......
...@@ -1098,7 +1098,7 @@ static int iwl_get_channels_for_scan(struct iwl_priv *priv, ...@@ -1098,7 +1098,7 @@ static int iwl_get_channels_for_scan(struct iwl_priv *priv,
if (chan->band != band) if (chan->band != band)
continue; continue;
channel = ieee80211_frequency_to_channel(chan->center_freq); channel = chan->hw_value;
scan_ch->channel = cpu_to_le16(channel); scan_ch->channel = cpu_to_le16(channel);
ch_info = iwl_get_channel_info(priv, band, channel); ch_info = iwl_get_channel_info(priv, band, channel);
......
...@@ -3655,8 +3655,7 @@ static void iwl_mac_channel_switch(struct ieee80211_hw *hw, ...@@ -3655,8 +3655,7 @@ static void iwl_mac_channel_switch(struct ieee80211_hw *hw,
mutex_lock(&priv->mutex); mutex_lock(&priv->mutex);
if (priv->cfg->ops->lib->set_channel_switch) { if (priv->cfg->ops->lib->set_channel_switch) {
ch = ieee80211_frequency_to_channel( ch = ch_switch->channel->hw_value;
ch_switch->channel->center_freq);
if (le16_to_cpu(priv->active_rxon.channel) != ch) { if (le16_to_cpu(priv->active_rxon.channel) != ch) {
ch_info = iwl_get_channel_info(priv, ch_info = iwl_get_channel_info(priv,
conf->channel->band, conf->channel->band,
......
...@@ -916,7 +916,7 @@ EXPORT_SYMBOL(iwl_get_single_channel_number); ...@@ -916,7 +916,7 @@ EXPORT_SYMBOL(iwl_get_single_channel_number);
int iwl_set_rxon_channel(struct iwl_priv *priv, struct ieee80211_channel *ch) int iwl_set_rxon_channel(struct iwl_priv *priv, struct ieee80211_channel *ch)
{ {
enum ieee80211_band band = ch->band; enum ieee80211_band band = ch->band;
u16 channel = ieee80211_frequency_to_channel(ch->center_freq); u16 channel = ch->hw_value;
if (!iwl_get_channel_info(priv, band, channel)) { if (!iwl_get_channel_info(priv, band, channel)) {
IWL_DEBUG_INFO(priv, "Could not set channel to %d [%d]\n", IWL_DEBUG_INFO(priv, "Could not set channel to %d [%d]\n",
...@@ -2032,7 +2032,7 @@ int iwl_mac_config(struct ieee80211_hw *hw, u32 changed) ...@@ -2032,7 +2032,7 @@ int iwl_mac_config(struct ieee80211_hw *hw, u32 changed)
if (scan_active) if (scan_active)
goto set_ch_out; goto set_ch_out;
ch = ieee80211_frequency_to_channel(conf->channel->center_freq); ch = conf->channel->hw_value;
ch_info = iwl_get_channel_info(priv, conf->channel->band, ch); ch_info = iwl_get_channel_info(priv, conf->channel->band, ch);
if (!is_channel_valid(ch_info)) { if (!is_channel_valid(ch_info)) {
IWL_DEBUG_MAC80211(priv, "leave - invalid channel\n"); IWL_DEBUG_MAC80211(priv, "leave - invalid channel\n");
......
...@@ -467,8 +467,7 @@ static ssize_t iwl_dbgfs_channels_read(struct file *file, char __user *user_buf, ...@@ -467,8 +467,7 @@ static ssize_t iwl_dbgfs_channels_read(struct file *file, char __user *user_buf,
for (i = 0; i < supp_band->n_channels; i++) for (i = 0; i < supp_band->n_channels; i++)
pos += scnprintf(buf + pos, bufsz - pos, pos += scnprintf(buf + pos, bufsz - pos,
"%d: %ddBm: BSS%s%s, %s.\n", "%d: %ddBm: BSS%s%s, %s.\n",
ieee80211_frequency_to_channel( channels[i].hw_value,
channels[i].center_freq),
channels[i].max_power, channels[i].max_power,
channels[i].flags & IEEE80211_CHAN_RADAR ? channels[i].flags & IEEE80211_CHAN_RADAR ?
" (IEEE 802.11h required)" : "", " (IEEE 802.11h required)" : "",
...@@ -491,8 +490,7 @@ static ssize_t iwl_dbgfs_channels_read(struct file *file, char __user *user_buf, ...@@ -491,8 +490,7 @@ static ssize_t iwl_dbgfs_channels_read(struct file *file, char __user *user_buf,
for (i = 0; i < supp_band->n_channels; i++) for (i = 0; i < supp_band->n_channels; i++)
pos += scnprintf(buf + pos, bufsz - pos, pos += scnprintf(buf + pos, bufsz - pos,
"%d: %ddBm: BSS%s%s, %s.\n", "%d: %ddBm: BSS%s%s, %s.\n",
ieee80211_frequency_to_channel( channels[i].hw_value,
channels[i].center_freq),
channels[i].max_power, channels[i].max_power,
channels[i].flags & IEEE80211_CHAN_RADAR ? channels[i].flags & IEEE80211_CHAN_RADAR ?
" (IEEE 802.11h required)" : "", " (IEEE 802.11h required)" : "",
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment