diff options
author | Wey-Yi Guy <wey-yi.w.guy@intel.com> | 2010-08-27 13:41:37 -0400 |
---|---|---|
committer | Wey-Yi Guy <wey-yi.w.guy@intel.com> | 2010-09-11 11:50:59 -0400 |
commit | 6e6ebf4befa75ebdf28130d0135f3ad3aadc02f8 (patch) | |
tree | aee33e546d82346a6144ec0e11921b3c9b9b7e10 /drivers/net/wireless/iwlwifi/iwl-agn.c | |
parent | cf6da94acb1e158c8efe0d184ac757829fbf9632 (diff) |
iwlwifi: remember the last uCode sysassert error code
When sysassert happen, uCode will report the error code,
driver dump the information to dmesg. Here also remember
the last error code for future reference.
Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com>
Diffstat (limited to 'drivers/net/wireless/iwlwifi/iwl-agn.c')
-rw-r--r-- | drivers/net/wireless/iwlwifi/iwl-agn.c | 3 |
1 files changed, 1 insertions, 2 deletions
diff --git a/drivers/net/wireless/iwlwifi/iwl-agn.c b/drivers/net/wireless/iwlwifi/iwl-agn.c index c8a2ec802c8c..df2edccdf9bd 100644 --- a/drivers/net/wireless/iwlwifi/iwl-agn.c +++ b/drivers/net/wireless/iwlwifi/iwl-agn.c | |||
@@ -1278,7 +1278,6 @@ static void iwl_irq_tasklet_legacy(struct iwl_priv *priv) | |||
1278 | IWL_ERR(priv, "Microcode SW error detected. " | 1278 | IWL_ERR(priv, "Microcode SW error detected. " |
1279 | " Restarting 0x%X.\n", inta); | 1279 | " Restarting 0x%X.\n", inta); |
1280 | priv->isr_stats.sw++; | 1280 | priv->isr_stats.sw++; |
1281 | priv->isr_stats.sw_err = inta; | ||
1282 | iwl_irq_handle_error(priv); | 1281 | iwl_irq_handle_error(priv); |
1283 | handled |= CSR_INT_BIT_SW_ERR; | 1282 | handled |= CSR_INT_BIT_SW_ERR; |
1284 | } | 1283 | } |
@@ -1459,7 +1458,6 @@ static void iwl_irq_tasklet(struct iwl_priv *priv) | |||
1459 | IWL_ERR(priv, "Microcode SW error detected. " | 1458 | IWL_ERR(priv, "Microcode SW error detected. " |
1460 | " Restarting 0x%X.\n", inta); | 1459 | " Restarting 0x%X.\n", inta); |
1461 | priv->isr_stats.sw++; | 1460 | priv->isr_stats.sw++; |
1462 | priv->isr_stats.sw_err = inta; | ||
1463 | iwl_irq_handle_error(priv); | 1461 | iwl_irq_handle_error(priv); |
1464 | handled |= CSR_INT_BIT_SW_ERR; | 1462 | handled |= CSR_INT_BIT_SW_ERR; |
1465 | } | 1463 | } |
@@ -2467,6 +2465,7 @@ void iwl_dump_nic_error_log(struct iwl_priv *priv) | |||
2467 | } | 2465 | } |
2468 | 2466 | ||
2469 | desc = iwl_read_targ_mem(priv, base + 1 * sizeof(u32)); | 2467 | desc = iwl_read_targ_mem(priv, base + 1 * sizeof(u32)); |
2468 | priv->isr_stats.err_code = desc; | ||
2470 | pc = iwl_read_targ_mem(priv, base + 2 * sizeof(u32)); | 2469 | pc = iwl_read_targ_mem(priv, base + 2 * sizeof(u32)); |
2471 | blink1 = iwl_read_targ_mem(priv, base + 3 * sizeof(u32)); | 2470 | blink1 = iwl_read_targ_mem(priv, base + 3 * sizeof(u32)); |
2472 | blink2 = iwl_read_targ_mem(priv, base + 4 * sizeof(u32)); | 2471 | blink2 = iwl_read_targ_mem(priv, base + 4 * sizeof(u32)); |