mirror of https://gitee.com/openkylin/linux.git
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>
This commit is contained in:
parent
889b169650
commit
22f6642c52
|
@ -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",
|
||||
|
|
Loading…
Reference in New Issue