Skip to content

Commit

Permalink
iwlwifi: mvm: fix switch from shared antenna in case of BT load
Browse files Browse the repository at this point in the history
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>
  • Loading branch information
Eyal Shapira authored and Johannes Berg committed Oct 2, 2013
1 parent 889b169 commit 22f6642
Showing 1 changed file with 8 additions and 7 deletions.
15 changes: 8 additions & 7 deletions drivers/net/wireless/iwlwifi/mvm/rs.c
Original file line number Diff line number Diff line change
Expand Up @@ -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",
Expand Down

0 comments on commit 22f6642

Please sign in to comment.