iwlwifi: remove priv->active_rate_basic
This variable is assigned a default value, but then assigned zero as soon as mac80211 calls a change channel (which will happen right after the hw is started) and after that it never changes again. Signed-off-by: Johannes Berg <johannes.berg@intel.com> Signed-off-by: Reinette Chatre <reinette.chatre@intel.com>
This commit is contained in:
Родитель
470ab2dd6a
Коммит
4a02886bae
|
@ -597,10 +597,6 @@ static u16 rs_get_supported_rates(struct iwl_lq_sta *lq_sta,
|
|||
struct ieee80211_hdr *hdr,
|
||||
enum iwl_table_type rate_type)
|
||||
{
|
||||
if (hdr && is_multicast_ether_addr(hdr->addr1) &&
|
||||
lq_sta->active_rate_basic)
|
||||
return lq_sta->active_rate_basic;
|
||||
|
||||
if (is_legacy(rate_type)) {
|
||||
return lq_sta->active_legacy_rate;
|
||||
} else {
|
||||
|
@ -2552,7 +2548,6 @@ static void rs_rate_init(void *priv_r, struct ieee80211_supported_band *sband,
|
|||
lq_sta->missed_rate_counter = IWL_MISSED_RATE_MAX;
|
||||
lq_sta->is_green = rs_use_green(sta, &priv->current_ht_config);
|
||||
lq_sta->active_legacy_rate = priv->active_rate & ~(0x1000);
|
||||
lq_sta->active_rate_basic = priv->active_rate_basic;
|
||||
lq_sta->band = priv->band;
|
||||
/*
|
||||
* active_siso_rate mask includes 9 MBits (bit 5), and CCK (bits 0-3),
|
||||
|
|
|
@ -411,7 +411,6 @@ struct iwl_lq_sta {
|
|||
u16 active_siso_rate;
|
||||
u16 active_mimo2_rate;
|
||||
u16 active_mimo3_rate;
|
||||
u16 active_rate_basic;
|
||||
s8 max_rate_idx; /* Max rate set by user */
|
||||
u8 missed_rate_counter;
|
||||
|
||||
|
|
|
@ -2104,7 +2104,6 @@ static void iwl_alive_start(struct iwl_priv *priv)
|
|||
ieee80211_wake_queues(priv->hw);
|
||||
|
||||
priv->active_rate = IWL_RATES_MASK;
|
||||
priv->active_rate_basic = IWL_RATES_MASK & IWL_BASIC_RATES_MASK;
|
||||
|
||||
/* Configure Tx antenna selection based on H/W config */
|
||||
if (priv->cfg->ops->hcmd->set_tx_ant)
|
||||
|
|
|
@ -897,23 +897,10 @@ EXPORT_SYMBOL(iwl_full_rxon_required);
|
|||
|
||||
u8 iwl_rate_get_lowest_plcp(struct iwl_priv *priv)
|
||||
{
|
||||
int i;
|
||||
int rate_mask;
|
||||
|
||||
/* Set rate mask*/
|
||||
if (priv->staging_rxon.flags & RXON_FLG_BAND_24G_MSK)
|
||||
rate_mask = priv->active_rate_basic & IWL_CCK_RATES_MASK;
|
||||
else
|
||||
rate_mask = priv->active_rate_basic & IWL_OFDM_RATES_MASK;
|
||||
|
||||
/* Find lowest valid rate */
|
||||
for (i = IWL_RATE_1M_INDEX; i != IWL_RATE_INVALID;
|
||||
i = iwl_rates[i].next_ieee) {
|
||||
if (rate_mask & (1 << i))
|
||||
return iwl_rates[i].plcp;
|
||||
}
|
||||
|
||||
/* No valid rate was found. Assign the lowest one */
|
||||
/*
|
||||
* Assign the lowest rate -- should really get this from
|
||||
* the beacon skb from mac80211.
|
||||
*/
|
||||
if (priv->staging_rxon.flags & RXON_FLG_BAND_24G_MSK)
|
||||
return IWL_RATE_1M_PLCP;
|
||||
else
|
||||
|
@ -1272,7 +1259,6 @@ static void iwl_set_rate(struct iwl_priv *priv)
|
|||
}
|
||||
|
||||
priv->active_rate = 0;
|
||||
priv->active_rate_basic = 0;
|
||||
|
||||
for (i = 0; i < hw->n_bitrates; i++) {
|
||||
rate = &(hw->bitrates[i]);
|
||||
|
@ -1280,30 +1266,13 @@ static void iwl_set_rate(struct iwl_priv *priv)
|
|||
priv->active_rate |= (1 << rate->hw_value);
|
||||
}
|
||||
|
||||
IWL_DEBUG_RATE(priv, "Set active_rate = %0x, active_rate_basic = %0x\n",
|
||||
priv->active_rate, priv->active_rate_basic);
|
||||
IWL_DEBUG_RATE(priv, "Set active_rate = %0x\n", priv->active_rate);
|
||||
|
||||
/*
|
||||
* If a basic rate is configured, then use it (adding IWL_RATE_1M_MASK)
|
||||
* otherwise set it to the default of all CCK rates and 6, 12, 24 for
|
||||
* OFDM
|
||||
*/
|
||||
if (priv->active_rate_basic & IWL_CCK_BASIC_RATES_MASK)
|
||||
priv->staging_rxon.cck_basic_rates =
|
||||
((priv->active_rate_basic &
|
||||
IWL_CCK_RATES_MASK) >> IWL_FIRST_CCK_RATE) & 0xF;
|
||||
else
|
||||
priv->staging_rxon.cck_basic_rates =
|
||||
(IWL_CCK_BASIC_RATES_MASK >> IWL_FIRST_CCK_RATE) & 0xF;
|
||||
priv->staging_rxon.cck_basic_rates =
|
||||
(IWL_CCK_BASIC_RATES_MASK >> IWL_FIRST_CCK_RATE) & 0xF;
|
||||
|
||||
if (priv->active_rate_basic & IWL_OFDM_BASIC_RATES_MASK)
|
||||
priv->staging_rxon.ofdm_basic_rates =
|
||||
((priv->active_rate_basic &
|
||||
(IWL_OFDM_BASIC_RATES_MASK | IWL_RATE_6M_MASK)) >>
|
||||
IWL_FIRST_OFDM_RATE) & 0xFF;
|
||||
else
|
||||
priv->staging_rxon.ofdm_basic_rates =
|
||||
(IWL_OFDM_BASIC_RATES_MASK >> IWL_FIRST_OFDM_RATE) & 0xFF;
|
||||
priv->staging_rxon.ofdm_basic_rates =
|
||||
(IWL_OFDM_BASIC_RATES_MASK >> IWL_FIRST_OFDM_RATE) & 0xFF;
|
||||
}
|
||||
|
||||
void iwl_rx_csa(struct iwl_priv *priv, struct iwl_rx_mem_buffer *rxb)
|
||||
|
|
|
@ -1168,7 +1168,6 @@ struct iwl_priv {
|
|||
u64 led_tpt;
|
||||
|
||||
u16 active_rate;
|
||||
u16 active_rate_basic;
|
||||
|
||||
u8 assoc_station_added;
|
||||
u8 start_calib;
|
||||
|
|
|
@ -2509,7 +2509,6 @@ static void iwl3945_alive_start(struct iwl_priv *priv)
|
|||
ieee80211_wake_queues(priv->hw);
|
||||
|
||||
priv->active_rate = IWL_RATES_MASK;
|
||||
priv->active_rate_basic = IWL_RATES_MASK & IWL_BASIC_RATES_MASK;
|
||||
|
||||
iwl_power_update_mode(priv, true);
|
||||
|
||||
|
|
Загрузка…
Ссылка в новой задаче