diff options
| -rw-r--r-- | drivers/net/wireless/iwlwifi/iwl-4965.c | 19 | ||||
| -rw-r--r-- | drivers/net/wireless/iwlwifi/iwl-agn-hcmd.c | 22 |
2 files changed, 23 insertions, 18 deletions
diff --git a/drivers/net/wireless/iwlwifi/iwl-4965.c b/drivers/net/wireless/iwlwifi/iwl-4965.c index 4e377c817a87..a0669ea42790 100644 --- a/drivers/net/wireless/iwlwifi/iwl-4965.c +++ b/drivers/net/wireless/iwlwifi/iwl-4965.c | |||
| @@ -346,9 +346,19 @@ static void iwl4965_chain_noise_reset(struct iwl_priv *priv) | |||
| 346 | { | 346 | { |
| 347 | struct iwl_chain_noise_data *data = &(priv->chain_noise_data); | 347 | struct iwl_chain_noise_data *data = &(priv->chain_noise_data); |
| 348 | 348 | ||
| 349 | if ((data->state == IWL_CHAIN_NOISE_ALIVE) && iwl_is_associated(priv)) { | 349 | if ((data->state == IWL_CHAIN_NOISE_ALIVE) && |
| 350 | iwl_is_associated(priv)) { | ||
| 350 | struct iwl_calib_diff_gain_cmd cmd; | 351 | struct iwl_calib_diff_gain_cmd cmd; |
| 351 | 352 | ||
| 353 | /* clear data for chain noise calibration algorithm */ | ||
| 354 | data->chain_noise_a = 0; | ||
| 355 | data->chain_noise_b = 0; | ||
| 356 | data->chain_noise_c = 0; | ||
| 357 | data->chain_signal_a = 0; | ||
| 358 | data->chain_signal_b = 0; | ||
| 359 | data->chain_signal_c = 0; | ||
| 360 | data->beacon_count = 0; | ||
| 361 | |||
| 352 | memset(&cmd, 0, sizeof(cmd)); | 362 | memset(&cmd, 0, sizeof(cmd)); |
| 353 | cmd.hdr.op_code = IWL_PHY_CALIBRATE_DIFF_GAIN_CMD; | 363 | cmd.hdr.op_code = IWL_PHY_CALIBRATE_DIFF_GAIN_CMD; |
| 354 | cmd.diff_gain_a = 0; | 364 | cmd.diff_gain_a = 0; |
| @@ -419,13 +429,6 @@ static void iwl4965_gain_computation(struct iwl_priv *priv, | |||
| 419 | /* Mark so we run this algo only once! */ | 429 | /* Mark so we run this algo only once! */ |
| 420 | data->state = IWL_CHAIN_NOISE_CALIBRATED; | 430 | data->state = IWL_CHAIN_NOISE_CALIBRATED; |
| 421 | } | 431 | } |
| 422 | data->chain_noise_a = 0; | ||
| 423 | data->chain_noise_b = 0; | ||
| 424 | data->chain_noise_c = 0; | ||
| 425 | data->chain_signal_a = 0; | ||
| 426 | data->chain_signal_b = 0; | ||
| 427 | data->chain_signal_c = 0; | ||
| 428 | data->beacon_count = 0; | ||
| 429 | } | 432 | } |
| 430 | 433 | ||
| 431 | static void iwl4965_bg_txpower_work(struct work_struct *work) | 434 | static void iwl4965_bg_txpower_work(struct work_struct *work) |
diff --git a/drivers/net/wireless/iwlwifi/iwl-agn-hcmd.c b/drivers/net/wireless/iwlwifi/iwl-agn-hcmd.c index 25851ec2ab10..3f765ba15cb8 100644 --- a/drivers/net/wireless/iwlwifi/iwl-agn-hcmd.c +++ b/drivers/net/wireless/iwlwifi/iwl-agn-hcmd.c | |||
| @@ -176,14 +176,6 @@ static void iwlagn_gain_computation(struct iwl_priv *priv, | |||
| 176 | data->radio_write = 1; | 176 | data->radio_write = 1; |
| 177 | data->state = IWL_CHAIN_NOISE_CALIBRATED; | 177 | data->state = IWL_CHAIN_NOISE_CALIBRATED; |
| 178 | } | 178 | } |
| 179 | |||
| 180 | data->chain_noise_a = 0; | ||
| 181 | data->chain_noise_b = 0; | ||
| 182 | data->chain_noise_c = 0; | ||
| 183 | data->chain_signal_a = 0; | ||
| 184 | data->chain_signal_b = 0; | ||
| 185 | data->chain_signal_c = 0; | ||
| 186 | data->beacon_count = 0; | ||
| 187 | } | 179 | } |
| 188 | 180 | ||
| 189 | static void iwlagn_chain_noise_reset(struct iwl_priv *priv) | 181 | static void iwlagn_chain_noise_reset(struct iwl_priv *priv) |
| @@ -191,10 +183,20 @@ static void iwlagn_chain_noise_reset(struct iwl_priv *priv) | |||
| 191 | struct iwl_chain_noise_data *data = &priv->chain_noise_data; | 183 | struct iwl_chain_noise_data *data = &priv->chain_noise_data; |
| 192 | int ret; | 184 | int ret; |
| 193 | 185 | ||
| 194 | if ((data->state == IWL_CHAIN_NOISE_ALIVE) && iwl_is_associated(priv)) { | 186 | if ((data->state == IWL_CHAIN_NOISE_ALIVE) && |
| 187 | iwl_is_associated(priv)) { | ||
| 195 | struct iwl_calib_chain_noise_reset_cmd cmd; | 188 | struct iwl_calib_chain_noise_reset_cmd cmd; |
| 196 | memset(&cmd, 0, sizeof(cmd)); | ||
| 197 | 189 | ||
| 190 | /* clear data for chain noise calibration algorithm */ | ||
| 191 | data->chain_noise_a = 0; | ||
| 192 | data->chain_noise_b = 0; | ||
| 193 | data->chain_noise_c = 0; | ||
| 194 | data->chain_signal_a = 0; | ||
| 195 | data->chain_signal_b = 0; | ||
| 196 | data->chain_signal_c = 0; | ||
| 197 | data->beacon_count = 0; | ||
| 198 | |||
| 199 | memset(&cmd, 0, sizeof(cmd)); | ||
| 198 | cmd.hdr.op_code = IWL_PHY_CALIBRATE_CHAIN_NOISE_RESET_CMD; | 200 | cmd.hdr.op_code = IWL_PHY_CALIBRATE_CHAIN_NOISE_RESET_CMD; |
| 199 | cmd.hdr.first_group = 0; | 201 | cmd.hdr.first_group = 0; |
| 200 | cmd.hdr.groups_num = 1; | 202 | cmd.hdr.groups_num = 1; |
