aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorWey-Yi Guy <wey-yi.w.guy@intel.com>2011-11-30 15:32:42 -0500
committerWey-Yi Guy <wey-yi.w.guy@intel.com>2011-12-08 18:54:01 -0500
commitd332f591daca5f5301782bad69f94e160b5fa665 (patch)
tree83650634b1911a75aee0bc230939a8db79287e11
parentfe67c084cba9e50725f55281dc48fc29adb07cdd (diff)
iwlwifi: Display more uCode debug info
When uCode encounter problem, it pass a lot of debug data to help debugging the issue. We only show partial data before, why not display all of those. Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com>
-rw-r--r--drivers/net/wireless/iwlwifi/iwl-commands.h24
-rw-r--r--drivers/net/wireless/iwlwifi/iwl-trans-pcie-rx.c15
2 files changed, 29 insertions, 10 deletions
diff --git a/drivers/net/wireless/iwlwifi/iwl-commands.h b/drivers/net/wireless/iwlwifi/iwl-commands.h
index f4eccf583775..d98d09cc5df7 100644
--- a/drivers/net/wireless/iwlwifi/iwl-commands.h
+++ b/drivers/net/wireless/iwlwifi/iwl-commands.h
@@ -466,23 +466,27 @@ struct iwl_error_event_table {
466 u32 frame_ptr; /* frame pointer */ 466 u32 frame_ptr; /* frame pointer */
467 u32 stack_ptr; /* stack pointer */ 467 u32 stack_ptr; /* stack pointer */
468 u32 hcmd; /* last host command header */ 468 u32 hcmd; /* last host command header */
469#if 0 469 u32 isr0; /* isr status register LMPM_NIC_ISR0:
470 /* no need to read the remainder, we don't use the values */ 470 * rxtx_flag */
471 u32 isr0; /* isr status register LMPM_NIC_ISR0: rxtx_flag */ 471 u32 isr1; /* isr status register LMPM_NIC_ISR1:
472 u32 isr1; /* isr status register LMPM_NIC_ISR1: host_flag */ 472 * host_flag */
473 u32 isr2; /* isr status register LMPM_NIC_ISR2: enc_flag */ 473 u32 isr2; /* isr status register LMPM_NIC_ISR2:
474 u32 isr3; /* isr status register LMPM_NIC_ISR3: time_flag */ 474 * enc_flag */
475 u32 isr4; /* isr status register LMPM_NIC_ISR4: wico interrupt */ 475 u32 isr3; /* isr status register LMPM_NIC_ISR3:
476 * time_flag */
477 u32 isr4; /* isr status register LMPM_NIC_ISR4:
478 * wico interrupt */
476 u32 isr_pref; /* isr status register LMPM_NIC_PREF_STAT */ 479 u32 isr_pref; /* isr status register LMPM_NIC_PREF_STAT */
477 u32 wait_event; /* wait event() caller address */ 480 u32 wait_event; /* wait event() caller address */
478 u32 l2p_control; /* L2pControlField */ 481 u32 l2p_control; /* L2pControlField */
479 u32 l2p_duration; /* L2pDurationField */ 482 u32 l2p_duration; /* L2pDurationField */
480 u32 l2p_mhvalid; /* L2pMhValidBits */ 483 u32 l2p_mhvalid; /* L2pMhValidBits */
481 u32 l2p_addr_match; /* L2pAddrMatchStat */ 484 u32 l2p_addr_match; /* L2pAddrMatchStat */
482 u32 lmpm_pmg_sel; /* indicate which clocks are turned on (LMPM_PMG_SEL) */ 485 u32 lmpm_pmg_sel; /* indicate which clocks are turned on
483 u32 u_timestamp; /* indicate when the date and time of the compilation */ 486 * (LMPM_PMG_SEL) */
487 u32 u_timestamp; /* indicate when the date and time of the
488 * compilation */
484 u32 flow_handler; /* FH read/write pointers, RX credit */ 489 u32 flow_handler; /* FH read/write pointers, RX credit */
485#endif
486} __packed; 490} __packed;
487 491
488struct iwl_alive_resp { 492struct iwl_alive_resp {
diff --git a/drivers/net/wireless/iwlwifi/iwl-trans-pcie-rx.c b/drivers/net/wireless/iwlwifi/iwl-trans-pcie-rx.c
index becd92173ddd..a0d43d6636f3 100644
--- a/drivers/net/wireless/iwlwifi/iwl-trans-pcie-rx.c
+++ b/drivers/net/wireless/iwlwifi/iwl-trans-pcie-rx.c
@@ -648,6 +648,21 @@ static void iwl_dump_nic_error_log(struct iwl_trans *trans)
648 IWL_ERR(trans, "0x%08X | hw version\n", table.hw_ver); 648 IWL_ERR(trans, "0x%08X | hw version\n", table.hw_ver);
649 IWL_ERR(trans, "0x%08X | board version\n", table.brd_ver); 649 IWL_ERR(trans, "0x%08X | board version\n", table.brd_ver);
650 IWL_ERR(trans, "0x%08X | hcmd\n", table.hcmd); 650 IWL_ERR(trans, "0x%08X | hcmd\n", table.hcmd);
651
652 IWL_ERR(trans, "0x%08X | isr0\n", table.isr0);
653 IWL_ERR(trans, "0x%08X | isr1\n", table.isr1);
654 IWL_ERR(trans, "0x%08X | isr2\n", table.isr2);
655 IWL_ERR(trans, "0x%08X | isr3\n", table.isr3);
656 IWL_ERR(trans, "0x%08X | isr4\n", table.isr4);
657 IWL_ERR(trans, "0x%08X | isr_pref\n", table.isr_pref);
658 IWL_ERR(trans, "0x%08X | wait_event\n", table.wait_event);
659 IWL_ERR(trans, "0x%08X | l2p_control\n", table.l2p_control);
660 IWL_ERR(trans, "0x%08X | l2p_duration\n", table.l2p_duration);
661 IWL_ERR(trans, "0x%08X | l2p_mhvalid\n", table.l2p_mhvalid);
662 IWL_ERR(trans, "0x%08X | l2p_addr_match\n", table.l2p_addr_match);
663 IWL_ERR(trans, "0x%08X | lmpm_pmg_sel\n", table.lmpm_pmg_sel);
664 IWL_ERR(trans, "0x%08X | timestamp\n", table.u_timestamp);
665 IWL_ERR(trans, "0x%08X | flow_handler\n", table.flow_handler);
651} 666}
652 667
653/** 668/**