aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/wireless/iwlwifi/iwl-dev.h
diff options
context:
space:
mode:
authorWey-Yi Guy <wey-yi.w.guy@intel.com>2010-02-19 01:03:06 -0500
committerJohn W. Linville <linville@tuxdriver.com>2010-02-19 15:52:50 -0500
commit8a472da431998b7357e6dc562e79a3061ed56cad (patch)
treeaecc7c0220e0ac59edae6d2549da0cfe4e0a3304 /drivers/net/wireless/iwlwifi/iwl-dev.h
parentd5755939e810f38c969a1d1b0effb2b75095b94e (diff)
iwlwifi: separated time check for different type of force reset
Use different timing duration check for different type of force reset, force reset request can come from different source and based on different reason; one type of reset request should not block other type of reset request. Adding structure to keep track of different force reset request. Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com> Signed-off-by: Reinette Chatre <reinette.chatre@intel.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
Diffstat (limited to 'drivers/net/wireless/iwlwifi/iwl-dev.h')
-rw-r--r--drivers/net/wireless/iwlwifi/iwl-dev.h14
1 files changed, 13 insertions, 1 deletions
diff --git a/drivers/net/wireless/iwlwifi/iwl-dev.h b/drivers/net/wireless/iwlwifi/iwl-dev.h
index 021c68658718..7914d65a5a55 100644
--- a/drivers/net/wireless/iwlwifi/iwl-dev.h
+++ b/drivers/net/wireless/iwlwifi/iwl-dev.h
@@ -1036,9 +1036,21 @@ struct iwl_event_log {
1036#define IWL_MAX_PLCP_ERR_EXT_LONG_THRESHOLD_DEF (200) 1036#define IWL_MAX_PLCP_ERR_EXT_LONG_THRESHOLD_DEF (200)
1037#define IWL_MAX_PLCP_ERR_THRESHOLD_MAX (255) 1037#define IWL_MAX_PLCP_ERR_THRESHOLD_MAX (255)
1038 1038
1039#define IWL_DELAY_NEXT_FORCE_RF_RESET (HZ*3)
1040#define IWL_DELAY_NEXT_FORCE_FW_RELOAD (HZ*5)
1041
1039enum iwl_reset { 1042enum iwl_reset {
1040 IWL_RF_RESET = 0, 1043 IWL_RF_RESET = 0,
1041 IWL_FW_RESET, 1044 IWL_FW_RESET,
1045 IWL_MAX_FORCE_RESET,
1046};
1047
1048struct iwl_force_reset {
1049 int reset_request_count;
1050 int reset_success_count;
1051 int reset_reject_count;
1052 unsigned long reset_duration;
1053 unsigned long last_force_reset_jiffies;
1042}; 1054};
1043 1055
1044struct iwl_priv { 1056struct iwl_priv {
@@ -1076,7 +1088,7 @@ struct iwl_priv {
1076 u8 agg_tids_count; 1088 u8 agg_tids_count;
1077 1089
1078 /* force reset */ 1090 /* force reset */
1079 unsigned long last_force_reset_jiffies; 1091 struct iwl_force_reset force_reset[IWL_MAX_FORCE_RESET];
1080 1092
1081 /* we allocate array of iwl4965_channel_info for NIC's valid channels. 1093 /* we allocate array of iwl4965_channel_info for NIC's valid channels.
1082 * Access via channel # using indirect index array */ 1094 * Access via channel # using indirect index array */