Commit 4834c73f authored by Ron Rindjunsky's avatar Ron Rindjunsky Committed by John W. Linville

iwlwifi: fix station mimo power save values

This patch fixes the wrong use MIMO power save values. Our TX was
configured with our MIMO power save values instead of peer's MIMO power
save values, this may affect connectivity. The peer STA/AP may not sense
our traffic at all as it doesn't have all RX chains opened.
Signed-off-by: default avatarRon Rindjunsky <ron.rindjunsky@intel.com>
Signed-off-by: default avatarTomas Winkler <tomas.winkler@intel.com>
Signed-off-by: default avatarZhu Yi <yi.zhu@intel.com>
Signed-off-by: default avatarJohn W. Linville <linville@tuxdriver.com>
parent 54559703
...@@ -1153,7 +1153,8 @@ static int rs_switch_to_mimo2(struct iwl_priv *priv, ...@@ -1153,7 +1153,8 @@ static int rs_switch_to_mimo2(struct iwl_priv *priv,
!sta->ht_info.ht_supported) !sta->ht_info.ht_supported)
return -1; return -1;
if (priv->current_ht_config.tx_mimo_ps_mode == IWL_MIMO_PS_STATIC) if (((sta->ht_info.cap & IEEE80211_HT_CAP_MIMO_PS) >> 2)
== IWL_MIMO_PS_STATIC)
return -1; return -1;
/* Need both Tx chains/antennas to support MIMO */ /* Need both Tx chains/antennas to support MIMO */
......
...@@ -586,8 +586,6 @@ static void iwl4965_ht_conf(struct iwl_priv *priv, ...@@ -586,8 +586,6 @@ static void iwl4965_ht_conf(struct iwl_priv *priv,
iwl_conf->supported_chan_width = 0; iwl_conf->supported_chan_width = 0;
} }
iwl_conf->tx_mimo_ps_mode =
(u8)((ht_conf->cap & IEEE80211_HT_CAP_MIMO_PS) >> 2);
memcpy(iwl_conf->supp_mcs_set, ht_conf->supp_mcs_set, 16); memcpy(iwl_conf->supp_mcs_set, ht_conf->supp_mcs_set, 16);
iwl_conf->control_channel = ht_bss_conf->primary_channel; iwl_conf->control_channel = ht_bss_conf->primary_channel;
......
...@@ -412,7 +412,6 @@ struct iwl_ht_info { ...@@ -412,7 +412,6 @@ struct iwl_ht_info {
/* self configuration data */ /* self configuration data */
u8 is_ht; u8 is_ht;
u8 supported_chan_width; u8 supported_chan_width;
u16 tx_mimo_ps_mode;
u8 is_green_field; u8 is_green_field;
u8 sgf; /* HT_SHORT_GI_* short guard interval */ u8 sgf; /* HT_SHORT_GI_* short guard interval */
u8 max_amsdu_size; u8 max_amsdu_size;
......
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