* 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++) {
                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 /