Loading drivers/net/wireless/iwlwifi/iwl-calib.c +12 −0 Original line number Diff line number Diff line Loading @@ -808,6 +808,18 @@ void iwl_chain_noise_calibration(struct iwl_priv *priv, } } /* * The above algorithm sometimes fails when the ucode * reports 0 for all chains. It's not clear why that * happens to start with, but it is then causing trouble * because this can make us enable more chains than the * hardware really has. * * To be safe, simply mask out any chains that we know * are not on the device. */ active_chains &= priv->hw_params.valid_rx_ant; num_tx_chains = 0; for (i = 0; i < NUM_RX_CHAINS; i++) { /* loops on all the bits of Loading Loading
drivers/net/wireless/iwlwifi/iwl-calib.c +12 −0 Original line number Diff line number Diff line Loading @@ -808,6 +808,18 @@ void iwl_chain_noise_calibration(struct iwl_priv *priv, } } /* * The above algorithm sometimes fails when the ucode * reports 0 for all chains. It's not clear why that * happens to start with, but it is then causing trouble * because this can make us enable more chains than the * hardware really has. * * To be safe, simply mask out any chains that we know * are not on the device. */ active_chains &= priv->hw_params.valid_rx_ant; num_tx_chains = 0; for (i = 0; i < NUM_RX_CHAINS; i++) { /* loops on all the bits of Loading