summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorWey-Yi Guy <wey-yi.w.guy@intel.com>2009-11-20 12:05:05 -0800
committerJohn W. Linville <linville@tuxdriver.com>2009-11-23 17:05:36 -0500
commit3a3ff72c18085563ce64f7456ae3afff3a83397e (patch)
tree55a6031ea3723bbbef3c143c6a5d5ab281679e0d
parent5ade1e4dd1df436c3a441d17321c24aac8497306 (diff)
downloadlinux-3a3ff72c18085563ce64f7456ae3afff3a83397e.tar.bz2
iwlwifi: dump error log when uCode error occurred
uCode error log contain information as to what the error was and where it occurred necessary to debug any uCode issues. Always log the information without special debug flag, this can help to capture the important information when error happened. Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com> Acked-by: Ben Cahill <ben.m.cahill@intel.com> Signed-off-by: Reinette Chatre <reinette.chatre@intel.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
-rw-r--r--drivers/net/wireless/iwlwifi/iwl-agn.c3
-rw-r--r--drivers/net/wireless/iwlwifi/iwl-core.c2
-rw-r--r--drivers/net/wireless/iwlwifi/iwl-core.h6
3 files changed, 4 insertions, 7 deletions
diff --git a/drivers/net/wireless/iwlwifi/iwl-agn.c b/drivers/net/wireless/iwlwifi/iwl-agn.c
index 92f9df6a04a6..927131192572 100644
--- a/drivers/net/wireless/iwlwifi/iwl-agn.c
+++ b/drivers/net/wireless/iwlwifi/iwl-agn.c
@@ -1604,7 +1604,6 @@ static int iwl_read_ucode(struct iwl_priv *priv)
return ret;
}
-#ifdef CONFIG_IWLWIFI_DEBUG
static const char *desc_lookup_text[] = {
"OK",
"FAIL",
@@ -1697,6 +1696,8 @@ void iwl_dump_nic_error_log(struct iwl_priv *priv)
}
+#ifdef CONFIG_IWLWIFI_DEBUG
+
#define EVENT_START_OFFSET (4 * sizeof(u32))
/**
diff --git a/drivers/net/wireless/iwlwifi/iwl-core.c b/drivers/net/wireless/iwlwifi/iwl-core.c
index c2263180614e..05a0c413cdf9 100644
--- a/drivers/net/wireless/iwlwifi/iwl-core.c
+++ b/drivers/net/wireless/iwlwifi/iwl-core.c
@@ -1361,9 +1361,9 @@ void iwl_irq_handle_error(struct iwl_priv *priv)
/* Cancel currently queued command. */
clear_bit(STATUS_HCMD_ACTIVE, &priv->status);
+ priv->cfg->ops->lib->dump_nic_error_log(priv);
#ifdef CONFIG_IWLWIFI_DEBUG
if (iwl_get_debug_level(priv) & IWL_DL_FW_ERRORS) {
- priv->cfg->ops->lib->dump_nic_error_log(priv);
priv->cfg->ops->lib->dump_nic_event_log(priv);
iwl_print_rx_config_cmd(priv);
}
diff --git a/drivers/net/wireless/iwlwifi/iwl-core.h b/drivers/net/wireless/iwlwifi/iwl-core.h
index 0779158fed2f..ecba0f46bac5 100644
--- a/drivers/net/wireless/iwlwifi/iwl-core.h
+++ b/drivers/net/wireless/iwlwifi/iwl-core.h
@@ -578,19 +578,15 @@ int iwl_pci_resume(struct pci_dev *pdev);
/*****************************************************
* Error Handling Debugging
******************************************************/
+void iwl_dump_nic_error_log(struct iwl_priv *priv);
#ifdef CONFIG_IWLWIFI_DEBUG
void iwl_dump_nic_event_log(struct iwl_priv *priv);
-void iwl_dump_nic_error_log(struct iwl_priv *priv);
void iwl_print_rx_config_cmd(struct iwl_priv *priv);
#else
static inline void iwl_dump_nic_event_log(struct iwl_priv *priv)
{
}
-static inline void iwl_dump_nic_error_log(struct iwl_priv *priv)
-{
-}
-
static inline void iwl_print_rx_config_cmd(struct iwl_priv *priv)
{
}