diff options
author | Stanislaw Gruszka <sgruszka@redhat.com> | 2010-12-03 09:41:48 -0500 |
---|---|---|
committer | John W. Linville <linville@tuxdriver.com> | 2010-12-06 16:01:29 -0500 |
commit | 22de94de7de78b8de2fb1f2df5aa85b5556cfcfd (patch) | |
tree | f965d5f907ffc039ca146c22a5c2e87744cbc604 /drivers/net/wireless/iwlwifi/iwl-5000.c | |
parent | abc471dc31be15f9fee5ec77f25d31b927d334b9 (diff) |
iwlwifi: jiffies based tx queues watchdog
This patch replace monitor/recover timer by watchdog based on time
stamp. New code allow to discover hangs more precisely.
Timeout values are currently doubled monitoring period values of
previous timer. This have to be tuned based of firmware timing
capabilities.
Tested on 3945, 4965, 5300, 6300.
Signed-off-by: Stanislaw Gruszka <sgruszka@redhat.com>
Acked-by: Wey-Yi Guy <wey-yi.w.guy@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Diffstat (limited to 'drivers/net/wireless/iwlwifi/iwl-5000.c')
-rw-r--r-- | drivers/net/wireless/iwlwifi/iwl-5000.c | 4 |
1 files changed, 1 insertions, 3 deletions
diff --git a/drivers/net/wireless/iwlwifi/iwl-5000.c b/drivers/net/wireless/iwlwifi/iwl-5000.c index cf74edb82a70..8435e5a4e69d 100644 --- a/drivers/net/wireless/iwlwifi/iwl-5000.c +++ b/drivers/net/wireless/iwlwifi/iwl-5000.c | |||
@@ -402,7 +402,6 @@ static struct iwl_lib_ops iwl5000_lib = { | |||
402 | .bt_stats_read = iwl_ucode_bt_stats_read, | 402 | .bt_stats_read = iwl_ucode_bt_stats_read, |
403 | .reply_tx_error = iwl_reply_tx_error_read, | 403 | .reply_tx_error = iwl_reply_tx_error_read, |
404 | }, | 404 | }, |
405 | .recover_from_tx_stall = iwl_bg_monitor_recover, | ||
406 | .check_plcp_health = iwl_good_plcp_health, | 405 | .check_plcp_health = iwl_good_plcp_health, |
407 | .check_ack_health = iwl_good_ack_health, | 406 | .check_ack_health = iwl_good_ack_health, |
408 | .txfifo_flush = iwlagn_txfifo_flush, | 407 | .txfifo_flush = iwlagn_txfifo_flush, |
@@ -472,7 +471,6 @@ static struct iwl_lib_ops iwl5150_lib = { | |||
472 | .bt_stats_read = iwl_ucode_bt_stats_read, | 471 | .bt_stats_read = iwl_ucode_bt_stats_read, |
473 | .reply_tx_error = iwl_reply_tx_error_read, | 472 | .reply_tx_error = iwl_reply_tx_error_read, |
474 | }, | 473 | }, |
475 | .recover_from_tx_stall = iwl_bg_monitor_recover, | ||
476 | .check_plcp_health = iwl_good_plcp_health, | 474 | .check_plcp_health = iwl_good_plcp_health, |
477 | .check_ack_health = iwl_good_ack_health, | 475 | .check_ack_health = iwl_good_ack_health, |
478 | .txfifo_flush = iwlagn_txfifo_flush, | 476 | .txfifo_flush = iwlagn_txfifo_flush, |
@@ -511,7 +509,7 @@ static struct iwl_base_params iwl5000_base_params = { | |||
511 | .chain_noise_num_beacons = IWL_CAL_NUM_BEACONS, | 509 | .chain_noise_num_beacons = IWL_CAL_NUM_BEACONS, |
512 | .plcp_delta_threshold = IWL_MAX_PLCP_ERR_LONG_THRESHOLD_DEF, | 510 | .plcp_delta_threshold = IWL_MAX_PLCP_ERR_LONG_THRESHOLD_DEF, |
513 | .chain_noise_scale = 1000, | 511 | .chain_noise_scale = 1000, |
514 | .monitor_recover_period = IWL_LONG_MONITORING_PERIOD, | 512 | .wd_timeout = IWL_LONG_WD_TIMEOUT, |
515 | .max_event_log_size = 512, | 513 | .max_event_log_size = 512, |
516 | .ucode_tracing = true, | 514 | .ucode_tracing = true, |
517 | .sensitivity_calib_by_driver = true, | 515 | .sensitivity_calib_by_driver = true, |