diff options
author | Reinette Chatre <reinette.chatre@intel.com> | 2009-09-25 17:24:23 -0400 |
---|---|---|
committer | John W. Linville <linville@tuxdriver.com> | 2009-09-28 16:55:05 -0400 |
commit | b7a794048ff30d53764c1e41ccb2bff7f7bec2a8 (patch) | |
tree | c9c25b77c0bc9a11fd65fae5aae043d66d12691d /drivers/net/wireless/iwlwifi/iwl-core.h | |
parent | 2814298639619b0aa994fe1aee55438f1e26a2a8 (diff) |
iwlwifi: fix 3945 ucode info retrieval after failure
When hardware or uCode problem occurs driver captures significant
information from device to enable debugging. The format of this information
is different between 3945 and 4965 and later devices, yet currently the
3945 uses the 4965 and later format. Fix this by adding a new library call
that is initialized to the correct formatting routine based on device.
This moves the iwlagn event and error log handling back to iwl-agn.c to
make it part of iwlagn module.
Also remove the 3945 sysfs file that triggers dump of event log - there is
already a debugfs file that can do it for all drivers.
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-core.h')
-rw-r--r-- | drivers/net/wireless/iwlwifi/iwl-core.h | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/drivers/net/wireless/iwlwifi/iwl-core.h b/drivers/net/wireless/iwlwifi/iwl-core.h index 7ff9ffb2b702..e50103a956b1 100644 --- a/drivers/net/wireless/iwlwifi/iwl-core.h +++ b/drivers/net/wireless/iwlwifi/iwl-core.h | |||
@@ -166,6 +166,8 @@ struct iwl_lib_ops { | |||
166 | int (*is_valid_rtc_data_addr)(u32 addr); | 166 | int (*is_valid_rtc_data_addr)(u32 addr); |
167 | /* 1st ucode load */ | 167 | /* 1st ucode load */ |
168 | int (*load_ucode)(struct iwl_priv *priv); | 168 | int (*load_ucode)(struct iwl_priv *priv); |
169 | void (*dump_nic_event_log)(struct iwl_priv *priv); | ||
170 | void (*dump_nic_error_log)(struct iwl_priv *priv); | ||
169 | /* power management */ | 171 | /* power management */ |
170 | struct iwl_apm_ops apm_ops; | 172 | struct iwl_apm_ops apm_ops; |
171 | 173 | ||
@@ -540,7 +542,19 @@ int iwl_pci_resume(struct pci_dev *pdev); | |||
540 | /***************************************************** | 542 | /***************************************************** |
541 | * Error Handling Debugging | 543 | * Error Handling Debugging |
542 | ******************************************************/ | 544 | ******************************************************/ |
545 | #ifdef CONFIG_IWLWIFI_DEBUG | ||
543 | void iwl_dump_nic_event_log(struct iwl_priv *priv); | 546 | void iwl_dump_nic_event_log(struct iwl_priv *priv); |
547 | void iwl_dump_nic_error_log(struct iwl_priv *priv); | ||
548 | #else | ||
549 | static inline void iwl_dump_nic_event_log(struct iwl_priv *priv) | ||
550 | { | ||
551 | } | ||
552 | |||
553 | static inline void iwl_dump_nic_error_log(struct iwl_priv *priv) | ||
554 | { | ||
555 | } | ||
556 | #endif | ||
557 | |||
544 | void iwl_clear_isr_stats(struct iwl_priv *priv); | 558 | void iwl_clear_isr_stats(struct iwl_priv *priv); |
545 | 559 | ||
546 | /***************************************************** | 560 | /***************************************************** |