Commit cd017f25 authored by Stanislaw Gruszka's avatar Stanislaw Gruszka Committed by John W. Linville

iwlagn: fix scan tx antenna setting on 5Ghz band

Looks that we do not set correctly antennas when scanning
on 5Ghz band and when bluetooth is enabled, because
priv->cfg->scan_tx_antennas[band] is only defined for
IEEE80211_BAND_2GHZ.

To fix we check band before limiting antennas to first one.
This allow to remove hard coded cfg->scan_tx_antennas[band].
Signed-off-by: default avatarStanislaw Gruszka <sgruszka@redhat.com>
Acked-by: default avatarWey-Yi Guy <wey-yi.w.guy@intel.com>
Signed-off-by: default avatarJohn W. Linville <linville@tuxdriver.com>
parent cd2c5486
...@@ -596,12 +596,7 @@ struct iwl_cfg iwl6005_2bg_cfg = { ...@@ -596,12 +596,7 @@ struct iwl_cfg iwl6005_2bg_cfg = {
.need_dc_calib = true, \ .need_dc_calib = true, \
.need_temp_offset_calib = true, \ .need_temp_offset_calib = true, \
.led_mode = IWL_LED_RF_STATE, \ .led_mode = IWL_LED_RF_STATE, \
.adv_pm = true, \ .adv_pm = true \
/* \
*Due to bluetooth, we transmit 2.4 GHz probes \
* only on antenna A \
*/ \
.scan_tx_antennas[IEEE80211_BAND_2GHZ] = ANT_A
struct iwl_cfg iwl6030_2agn_cfg = { struct iwl_cfg iwl6030_2agn_cfg = {
.name = "Intel(R) Centrino(R) Advanced-N 6230 AGN", .name = "Intel(R) Centrino(R) Advanced-N 6230 AGN",
......
...@@ -1492,15 +1492,11 @@ int iwlagn_request_scan(struct iwl_priv *priv, struct ieee80211_vif *vif) ...@@ -1492,15 +1492,11 @@ int iwlagn_request_scan(struct iwl_priv *priv, struct ieee80211_vif *vif)
if (priv->cfg->scan_rx_antennas[band]) if (priv->cfg->scan_rx_antennas[band])
rx_ant = priv->cfg->scan_rx_antennas[band]; rx_ant = priv->cfg->scan_rx_antennas[band];
if (priv->cfg->scan_tx_antennas[band]) if (band == IEEE80211_BAND_2GHZ &&
scan_tx_antennas = priv->cfg->scan_tx_antennas[band]; priv->cfg->bt_params &&
priv->cfg->bt_params->advanced_bt_coexist) {
if (priv->cfg->bt_params && /* transmit 2.4 GHz probes only on first antenna */
priv->cfg->bt_params->advanced_bt_coexist && scan_tx_antennas = first_antenna(scan_tx_antennas);
priv->bt_full_concurrent) {
/* operated as 1x1 in full concurrency mode */
scan_tx_antennas = first_antenna(
priv->cfg->scan_tx_antennas[band]);
} }
priv->scan_tx_ant[band] = iwl_toggle_tx_ant(priv, priv->scan_tx_ant[band], priv->scan_tx_ant[band] = iwl_toggle_tx_ant(priv, priv->scan_tx_ant[band],
......
...@@ -411,7 +411,6 @@ struct iwl_cfg { ...@@ -411,7 +411,6 @@ struct iwl_cfg {
const bool need_dc_calib; /* if used set to true */ const bool need_dc_calib; /* if used set to true */
const bool need_temp_offset_calib; /* if used set to true */ const bool need_temp_offset_calib; /* if used set to true */
u8 scan_rx_antennas[IEEE80211_NUM_BANDS]; u8 scan_rx_antennas[IEEE80211_NUM_BANDS];
u8 scan_tx_antennas[IEEE80211_NUM_BANDS];
enum iwl_led_mode led_mode; enum iwl_led_mode led_mode;
const bool adv_pm; const bool adv_pm;
const bool rx_with_siso_diversity; const bool rx_with_siso_diversity;
......
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