Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 22f6642c authored by Eyal Shapira's avatar Eyal Shapira Committed by Johannes Berg
Browse files

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: default avatarEyal Shapira <eyal@wizery.com>
Signed-off-by: default avatarJohannes Berg <johannes.berg@intel.com>
parent 889b1696
Loading
Loading
Loading
Loading
+8 −7
Original line number Diff line number Diff line
@@ -1324,16 +1324,17 @@ 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 */
		/* 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));
		if (tbl->action != IWL_SISO_SWITCH_ANTENNA)
		tbl->action = IWL_SISO_SWITCH_ANTENNA;
		break;
	default: