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: Stanislaw Gruszka <sgruszka@redhat.com> Acked-by: Wey-Yi Guy <wey-yi.w.guy@intel.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
This commit is contained in:
parent
cd2c548652
commit
cd017f25e3
3 changed files with 6 additions and 16 deletions
|
@ -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)
|
||||||
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 {
|
||||||
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;
|
||||||
|
|
Loading…
Add table
Reference in a new issue