diff options
| -rw-r--r-- | drivers/net/wireless/iwlwifi/iwl-3945.c | 66 |
1 files changed, 0 insertions, 66 deletions
diff --git a/drivers/net/wireless/iwlwifi/iwl-3945.c b/drivers/net/wireless/iwlwifi/iwl-3945.c index 3eb14fd2204b..39b6f16c87fa 100644 --- a/drivers/net/wireless/iwlwifi/iwl-3945.c +++ b/drivers/net/wireless/iwlwifi/iwl-3945.c | |||
| @@ -402,72 +402,6 @@ static void iwl3945_accumulative_statistics(struct iwl_priv *priv, | |||
| 402 | } | 402 | } |
| 403 | #endif | 403 | #endif |
| 404 | 404 | ||
| 405 | /** | ||
| 406 | * iwl3945_good_plcp_health - checks for plcp error. | ||
| 407 | * | ||
| 408 | * When the plcp error is exceeding the thresholds, reset the radio | ||
| 409 | * to improve the throughput. | ||
| 410 | */ | ||
| 411 | static bool iwl3945_good_plcp_health(struct iwl_priv *priv, | ||
| 412 | struct iwl_rx_packet *pkt) | ||
| 413 | { | ||
| 414 | bool rc = true; | ||
| 415 | struct iwl3945_notif_statistics current_stat; | ||
| 416 | int combined_plcp_delta; | ||
| 417 | unsigned int plcp_msec; | ||
| 418 | unsigned long plcp_received_jiffies; | ||
| 419 | |||
| 420 | if (priv->cfg->base_params->plcp_delta_threshold == | ||
| 421 | IWL_MAX_PLCP_ERR_THRESHOLD_DISABLE) { | ||
| 422 | IWL_DEBUG_RADIO(priv, "plcp_err check disabled\n"); | ||
| 423 | return rc; | ||
| 424 | } | ||
| 425 | memcpy(¤t_stat, pkt->u.raw, sizeof(struct | ||
| 426 | iwl3945_notif_statistics)); | ||
| 427 | /* | ||
| 428 | * check for plcp_err and trigger radio reset if it exceeds | ||
| 429 | * the plcp error threshold plcp_delta. | ||
| 430 | */ | ||
| 431 | plcp_received_jiffies = jiffies; | ||
| 432 | plcp_msec = jiffies_to_msecs((long) plcp_received_jiffies - | ||
| 433 | (long) priv->plcp_jiffies); | ||
| 434 | priv->plcp_jiffies = plcp_received_jiffies; | ||
| 435 | /* | ||
| 436 | * check to make sure plcp_msec is not 0 to prevent division | ||
| 437 | * by zero. | ||
| 438 | */ | ||
| 439 | if (plcp_msec) { | ||
| 440 | combined_plcp_delta = | ||
| 441 | (le32_to_cpu(current_stat.rx.ofdm.plcp_err) - | ||
| 442 | le32_to_cpu(priv->_3945.statistics.rx.ofdm.plcp_err)); | ||
| 443 | |||
| 444 | if ((combined_plcp_delta > 0) && | ||
| 445 | ((combined_plcp_delta * 100) / plcp_msec) > | ||
| 446 | priv->cfg->base_params->plcp_delta_threshold) { | ||
| 447 | /* | ||
| 448 | * if plcp_err exceed the threshold, the following | ||
| 449 | * data is printed in csv format: | ||
| 450 | * Text: plcp_err exceeded %d, | ||
| 451 | * Received ofdm.plcp_err, | ||
| 452 | * Current ofdm.plcp_err, | ||
| 453 | * combined_plcp_delta, | ||
| 454 | * plcp_msec | ||
| 455 | */ | ||
| 456 | IWL_DEBUG_RADIO(priv, "plcp_err exceeded %u, " | ||
| 457 | "%u, %d, %u mSecs\n", | ||
| 458 | priv->cfg->base_params->plcp_delta_threshold, | ||
| 459 | le32_to_cpu(current_stat.rx.ofdm.plcp_err), | ||
| 460 | combined_plcp_delta, plcp_msec); | ||
| 461 | /* | ||
| 462 | * Reset the RF radio due to the high plcp | ||
| 463 | * error rate | ||
| 464 | */ | ||
| 465 | rc = false; | ||
| 466 | } | ||
| 467 | } | ||
| 468 | return rc; | ||
| 469 | } | ||
| 470 | |||
| 471 | void iwl3945_hw_rx_statistics(struct iwl_priv *priv, | 405 | void iwl3945_hw_rx_statistics(struct iwl_priv *priv, |
| 472 | struct iwl_rx_mem_buffer *rxb) | 406 | struct iwl_rx_mem_buffer *rxb) |
| 473 | { | 407 | { |
