|
@@ -801,13 +801,7 @@ static void iwl_find_disconn_antenna(struct iwl_priv *priv, u32* average_sig,
|
|
|
* To be safe, simply mask out any chains that we know
|
|
|
* are not on the device.
|
|
|
*/
|
|
|
- if (priv->cfg->bt_params &&
|
|
|
- priv->cfg->bt_params->advanced_bt_coexist &&
|
|
|
- priv->bt_full_concurrent) {
|
|
|
- /* operated as 1x1 in full concurrency mode */
|
|
|
- active_chains &= first_antenna(priv->hw_params.valid_rx_ant);
|
|
|
- } else
|
|
|
- active_chains &= priv->hw_params.valid_rx_ant;
|
|
|
+ active_chains &= priv->hw_params.valid_rx_ant;
|
|
|
|
|
|
num_tx_chains = 0;
|
|
|
for (i = 0; i < NUM_RX_CHAINS; i++) {
|
|
@@ -985,7 +979,16 @@ void iwl_chain_noise_calibration(struct iwl_priv *priv, void *stat_resp)
|
|
|
return;
|
|
|
|
|
|
/* Analyze signal for disconnected antenna */
|
|
|
- iwl_find_disconn_antenna(priv, average_sig, data);
|
|
|
+ if (priv->cfg->bt_params &&
|
|
|
+ priv->cfg->bt_params->advanced_bt_coexist) {
|
|
|
+ /* Disable disconnected antenna algorithm for advanced
|
|
|
+ bt coex, assuming valid antennas are connected */
|
|
|
+ data->active_chains = priv->hw_params.valid_rx_ant;
|
|
|
+ for (i = 0; i < NUM_RX_CHAINS; i++)
|
|
|
+ if (!(data->active_chains & (1<<i)))
|
|
|
+ data->disconn_array[i] = 1;
|
|
|
+ } else
|
|
|
+ iwl_find_disconn_antenna(priv, average_sig, data);
|
|
|
|
|
|
/* Analyze noise for rx balance */
|
|
|
average_noise[0] = data->chain_noise_a /
|