summaryrefslogtreecommitdiffstats
path: root/drivers/net/wireless/iwlwifi/mvm
diff options
context:
space:
mode:
authorEyal Shapira <eyal@wizery.com>2013-07-28 23:02:47 +0000
committerJohannes Berg <johannes.berg@intel.com>2013-10-02 18:00:37 +0200
commit22f6642c52e9e02732f620f9cde952cbfa87dfc8 (patch)
treea09f613aaa4e982275567bf870803ad20fd96654 /drivers/net/wireless/iwlwifi/mvm
parent889b169650c5b2cfeac8bcf34137af84a85b1cb8 (diff)
downloadop-kernel-dev-22f6642c52e9e02732f620f9cde952cbfa87dfc8.zip
op-kernel-dev-22f6642c52e9e02732f620f9cde952cbfa87dfc8.tar.gz
iwlwifi: mvm: fix switch from shared antenna in case of BT load
Current code didn't handle well the case where we're in SISO using ANT B and there's a BT load. Switch to ANT A in this case. Signed-off-by: Eyal Shapira <eyal@wizery.com> Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Diffstat (limited to 'drivers/net/wireless/iwlwifi/mvm')
-rw-r--r--drivers/net/wireless/iwlwifi/mvm/rs.c15
1 files changed, 8 insertions, 7 deletions
diff --git a/drivers/net/wireless/iwlwifi/mvm/rs.c b/drivers/net/wireless/iwlwifi/mvm/rs.c
index 3cfcea5..ffcc635 100644
--- a/drivers/net/wireless/iwlwifi/mvm/rs.c
+++ b/drivers/net/wireless/iwlwifi/mvm/rs.c
@@ -1324,17 +1324,18 @@ static int rs_move_siso_to_other(struct iwl_mvm *mvm,
/* nothing */
break;
case IWL_BT_COEX_TRAFFIC_LOAD_LOW:
- /* avoid antenna B unless MIMO */
- if (tbl->action == IWL_SISO_SWITCH_ANTENNA)
+ /* avoid switching to antenna B but allow MIMO */
+ if (tbl->action == IWL_SISO_SWITCH_ANTENNA &&
+ tbl->ant_type == ANT_A)
tbl->action = IWL_SISO_SWITCH_MIMO2;
break;
case IWL_BT_COEX_TRAFFIC_LOAD_HIGH:
case IWL_BT_COEX_TRAFFIC_LOAD_CONTINUOUS:
- /* avoid antenna B and MIMO */
- valid_tx_ant =
- first_antenna(iwl_fw_valid_tx_ant(mvm->fw));
- if (tbl->action != IWL_SISO_SWITCH_ANTENNA)
- tbl->action = IWL_SISO_SWITCH_ANTENNA;
+ /* A - avoid antenna B and MIMO. B - switch to A */
+ if (tbl->ant_type == ANT_A)
+ valid_tx_ant =
+ first_antenna(iwl_fw_valid_tx_ant(mvm->fw));
+ tbl->action = IWL_SISO_SWITCH_ANTENNA;
break;
default:
IWL_ERR(mvm, "Invalid BT load %d",
OpenPOWER on IntegriCloud