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:
Родитель
889b169650
Коммит
22f6642c52
|
@ -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",
|
||||||
|
|
Загрузка…
Ссылка в новой задаче