diff options
author | Johannes Berg <johannes.berg@intel.com> | 2010-04-13 04:04:35 -0400 |
---|---|---|
committer | Reinette Chatre <reinette.chatre@intel.com> | 2010-04-16 16:54:29 -0400 |
commit | e7cb49550eb25f2e551d7d7f3bb71560df83680c (patch) | |
tree | 3d5f8aa11b4eda97cf72f71e74851c4a34868c01 /drivers/net/wireless/iwlwifi/iwl-agn-lib.c | |
parent | ee102603c04d84d3079e3d593d88d5254085efa0 (diff) |
iwlwifi: make scan antenna forcing more generic
Some future hardware will also require some antenna
overrides so make the current logic more generic;
right now it is semantically based on a workaround
for off-channel reception but the reasons for the
new antenna overrides will be different.
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Signed-off-by: Reinette Chatre <reinette.chatre@intel.com>
Diffstat (limited to 'drivers/net/wireless/iwlwifi/iwl-agn-lib.c')
-rw-r--r-- | drivers/net/wireless/iwlwifi/iwl-agn-lib.c | 10 |
1 files changed, 3 insertions, 7 deletions
diff --git a/drivers/net/wireless/iwlwifi/iwl-agn-lib.c b/drivers/net/wireless/iwlwifi/iwl-agn-lib.c index ccf335775ec3..4bd0aecc7713 100644 --- a/drivers/net/wireless/iwlwifi/iwl-agn-lib.c +++ b/drivers/net/wireless/iwlwifi/iwl-agn-lib.c | |||
@@ -1405,13 +1405,6 @@ void iwlagn_request_scan(struct iwl_priv *priv) | |||
1405 | * detect transmissions. | 1405 | * detect transmissions. |
1406 | */ | 1406 | */ |
1407 | scan->good_CRC_th = is_active ? IWL_GOOD_CRC_TH : 0; | 1407 | scan->good_CRC_th = is_active ? IWL_GOOD_CRC_TH : 0; |
1408 | |||
1409 | /* Force use of chains B and C (0x6) for scan Rx | ||
1410 | * Avoid A (0x1) for the device has off-channel reception | ||
1411 | * on A-band. | ||
1412 | */ | ||
1413 | if (priv->cfg->off_channel_workaround) | ||
1414 | rx_ant = ANT_BC; | ||
1415 | break; | 1408 | break; |
1416 | default: | 1409 | default: |
1417 | IWL_WARN(priv, "Invalid scan band count\n"); | 1410 | IWL_WARN(priv, "Invalid scan band count\n"); |
@@ -1420,6 +1413,9 @@ void iwlagn_request_scan(struct iwl_priv *priv) | |||
1420 | 1413 | ||
1421 | band = priv->scan_band; | 1414 | band = priv->scan_band; |
1422 | 1415 | ||
1416 | if (priv->cfg->scan_antennas[band]) | ||
1417 | rx_ant = priv->cfg->scan_antennas[band]; | ||
1418 | |||
1423 | priv->scan_tx_ant[band] = | 1419 | priv->scan_tx_ant[band] = |
1424 | iwl_toggle_tx_ant(priv, priv->scan_tx_ant[band]); | 1420 | iwl_toggle_tx_ant(priv, priv->scan_tx_ant[band]); |
1425 | rate_flags |= iwl_ant_idx_to_flags(priv->scan_tx_ant[band]); | 1421 | rate_flags |= iwl_ant_idx_to_flags(priv->scan_tx_ant[band]); |