diff options
author | Wey-Yi Guy <wey-yi.w.guy@intel.com> | 2011-11-30 15:32:42 -0500 |
---|---|---|
committer | Wey-Yi Guy <wey-yi.w.guy@intel.com> | 2011-12-08 18:54:01 -0500 |
commit | d332f591daca5f5301782bad69f94e160b5fa665 (patch) | |
tree | 83650634b1911a75aee0bc230939a8db79287e11 | |
parent | fe67c084cba9e50725f55281dc48fc29adb07cdd (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.h | 24 | ||||
-rw-r--r-- | drivers/net/wireless/iwlwifi/iwl-trans-pcie-rx.c | 15 |
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 | ||
488 | struct iwl_alive_resp { | 492 | struct 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 | /** |