diff options
author | Wey-Yi Guy <wey-yi.w.guy@intel.com> | 2010-03-01 20:23:50 -0500 |
---|---|---|
committer | Reinette Chatre <reinette.chatre@intel.com> | 2010-03-19 16:41:25 -0400 |
commit | b74e31a9bc1013e69b85b139072485dc153453dd (patch) | |
tree | cf3fa8db0a9a5d58d9bc633c5fe7b8e641d28d43 /drivers/net/wireless/iwlwifi/iwl-3945.c | |
parent | c11362c01b280f8b2c728bc64793d484282b8734 (diff) |
iwlwifi: Recover TX flow stall due to stuck queue
Monitors the internal TX queues periodically. When a queue is stuck
for some unknown conditions causing the throughput to drop and the
transfer is stop, the driver will force firmware reload and bring the
system back to normal operational state.
The iwlwifi devices behave differently in this regard so this feature is
made part of the ops infrastructure so we can have more control on how to
monitor and recover from tx queue stall case per device.
Signed-off-by: Trieu 'Andrew' Nguyen <trieux.t.nguyen@intel.com>
Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com>
Signed-off-by: Reinette Chatre <reinette.chatre@intel.com>
Diffstat (limited to 'drivers/net/wireless/iwlwifi/iwl-3945.c')
-rw-r--r-- | drivers/net/wireless/iwlwifi/iwl-3945.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/drivers/net/wireless/iwlwifi/iwl-3945.c b/drivers/net/wireless/iwlwifi/iwl-3945.c index 11785e2c767a..21ae61dd3d51 100644 --- a/drivers/net/wireless/iwlwifi/iwl-3945.c +++ b/drivers/net/wireless/iwlwifi/iwl-3945.c | |||
@@ -2820,6 +2820,7 @@ static struct iwl_cfg iwl3945_bg_cfg = { | |||
2820 | .led_compensation = 64, | 2820 | .led_compensation = 64, |
2821 | .broken_powersave = true, | 2821 | .broken_powersave = true, |
2822 | .plcp_delta_threshold = IWL_MAX_PLCP_ERR_THRESHOLD_DEF, | 2822 | .plcp_delta_threshold = IWL_MAX_PLCP_ERR_THRESHOLD_DEF, |
2823 | .monitor_recover_period = IWL_MONITORING_PERIOD, | ||
2823 | }; | 2824 | }; |
2824 | 2825 | ||
2825 | static struct iwl_cfg iwl3945_abg_cfg = { | 2826 | static struct iwl_cfg iwl3945_abg_cfg = { |
@@ -2838,6 +2839,7 @@ static struct iwl_cfg iwl3945_abg_cfg = { | |||
2838 | .led_compensation = 64, | 2839 | .led_compensation = 64, |
2839 | .broken_powersave = true, | 2840 | .broken_powersave = true, |
2840 | .plcp_delta_threshold = IWL_MAX_PLCP_ERR_THRESHOLD_DEF, | 2841 | .plcp_delta_threshold = IWL_MAX_PLCP_ERR_THRESHOLD_DEF, |
2842 | .monitor_recover_period = IWL_MONITORING_PERIOD, | ||
2841 | }; | 2843 | }; |
2842 | 2844 | ||
2843 | DEFINE_PCI_DEVICE_TABLE(iwl3945_hw_card_ids) = { | 2845 | DEFINE_PCI_DEVICE_TABLE(iwl3945_hw_card_ids) = { |