aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/wireless/iwlwifi/iwl-agn.c
diff options
context:
space:
mode:
authorWey-Yi Guy <wey-yi.w.guy@intel.com>2010-08-27 13:41:37 -0400
committerWey-Yi Guy <wey-yi.w.guy@intel.com>2010-09-11 11:50:59 -0400
commit6e6ebf4befa75ebdf28130d0135f3ad3aadc02f8 (patch)
treeaee33e546d82346a6144ec0e11921b3c9b9b7e10 /drivers/net/wireless/iwlwifi/iwl-agn.c
parentcf6da94acb1e158c8efe0d184ac757829fbf9632 (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.c3
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));