提交 22f6642c 编写于 作者: E Eyal Shapira 提交者: Johannes Berg

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: NEyal Shapira <eyal@wizery.com>
Signed-off-by: NJohannes Berg <johannes.berg@intel.com>
上级 889b1696
...@@ -1324,17 +1324,18 @@ static int rs_move_siso_to_other(struct iwl_mvm *mvm, ...@@ -1324,17 +1324,18 @@ static int rs_move_siso_to_other(struct iwl_mvm *mvm,
/* nothing */ /* nothing */
break; break;
case IWL_BT_COEX_TRAFFIC_LOAD_LOW: case IWL_BT_COEX_TRAFFIC_LOAD_LOW:
/* avoid antenna B unless MIMO */ /* avoid switching to antenna B but allow MIMO */
if (tbl->action == IWL_SISO_SWITCH_ANTENNA) if (tbl->action == IWL_SISO_SWITCH_ANTENNA &&
tbl->ant_type == ANT_A)
tbl->action = IWL_SISO_SWITCH_MIMO2; tbl->action = IWL_SISO_SWITCH_MIMO2;
break; break;
case IWL_BT_COEX_TRAFFIC_LOAD_HIGH: case IWL_BT_COEX_TRAFFIC_LOAD_HIGH:
case IWL_BT_COEX_TRAFFIC_LOAD_CONTINUOUS: case IWL_BT_COEX_TRAFFIC_LOAD_CONTINUOUS:
/* avoid antenna B and MIMO */ /* A - avoid antenna B and MIMO. B - switch to A */
valid_tx_ant = if (tbl->ant_type == ANT_A)
first_antenna(iwl_fw_valid_tx_ant(mvm->fw)); valid_tx_ant =
if (tbl->action != IWL_SISO_SWITCH_ANTENNA) first_antenna(iwl_fw_valid_tx_ant(mvm->fw));
tbl->action = IWL_SISO_SWITCH_ANTENNA; tbl->action = IWL_SISO_SWITCH_ANTENNA;
break; break;
default: default:
IWL_ERR(mvm, "Invalid BT load %d", IWL_ERR(mvm, "Invalid BT load %d",
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册