aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSritej Velaga <sritej.velaga@qlogic.com>2011-07-29 09:30:29 -0400
committerDavid S. Miller <davem@davemloft.net>2011-08-01 03:12:01 -0400
commitc76ecb7ae9a12dc1ea4d23075a8cd963156d5a32 (patch)
tree0ff4a72dde898c90beebc59174c4c3448e7a7885
parent031a4a26809aef00f2a29fe781523a8eef1acff5 (diff)
qlcnic: Added debug info
Now printing states of essential registers once fw hang has been detected. Bumped up the driver version to 5.0.22 Signed-off-by: Sritej Velaga <sritej.velaga@qlogic.com> Signed-off-by: Anirban Chakraborty <anirban.chakraborty@qlogic.com> Signed-off-by: David S. Miller <davem@davemloft.net>
-rw-r--r--drivers/net/qlcnic/qlcnic.h4
-rw-r--r--drivers/net/qlcnic/qlcnic_main.c13
2 files changed, 14 insertions, 3 deletions
diff --git a/drivers/net/qlcnic/qlcnic.h b/drivers/net/qlcnic/qlcnic.h
index 5f0141be8ca9..53c6e5dcf26c 100644
--- a/drivers/net/qlcnic/qlcnic.h
+++ b/drivers/net/qlcnic/qlcnic.h
@@ -36,8 +36,8 @@
36 36
37#define _QLCNIC_LINUX_MAJOR 5 37#define _QLCNIC_LINUX_MAJOR 5
38#define _QLCNIC_LINUX_MINOR 0 38#define _QLCNIC_LINUX_MINOR 0
39#define _QLCNIC_LINUX_SUBVERSION 21 39#define _QLCNIC_LINUX_SUBVERSION 22
40#define QLCNIC_LINUX_VERSIONID "5.0.21" 40#define QLCNIC_LINUX_VERSIONID "5.0.22"
41#define QLCNIC_DRV_IDC_VER 0x01 41#define QLCNIC_DRV_IDC_VER 0x01
42#define QLCNIC_DRIVER_VERSION ((_QLCNIC_LINUX_MAJOR << 16) |\ 42#define QLCNIC_DRIVER_VERSION ((_QLCNIC_LINUX_MAJOR << 16) |\
43 (_QLCNIC_LINUX_MINOR << 8) | (_QLCNIC_LINUX_SUBVERSION)) 43 (_QLCNIC_LINUX_MINOR << 8) | (_QLCNIC_LINUX_SUBVERSION))
diff --git a/drivers/net/qlcnic/qlcnic_main.c b/drivers/net/qlcnic/qlcnic_main.c
index d287a2bd498d..ec8ef72d38d3 100644
--- a/drivers/net/qlcnic/qlcnic_main.c
+++ b/drivers/net/qlcnic/qlcnic_main.c
@@ -3109,7 +3109,18 @@ qlcnic_check_health(struct qlcnic_adapter *adapter)
3109 clear_bit(__QLCNIC_FW_ATTACHED, &adapter->state); 3109 clear_bit(__QLCNIC_FW_ATTACHED, &adapter->state);
3110 3110
3111 dev_info(&netdev->dev, "firmware hang detected\n"); 3111 dev_info(&netdev->dev, "firmware hang detected\n");
3112 3112 dev_info(&adapter->pdev->dev, "Dumping hw/fw registers\n"
3113 "PEG_HALT_STATUS1: 0x%x, PEG_HALT_STATUS2: 0x%x,\n"
3114 "PEG_NET_0_PC: 0x%x, PEG_NET_1_PC: 0x%x,\n"
3115 "PEG_NET_2_PC: 0x%x, PEG_NET_3_PC: 0x%x,\n"
3116 "PEG_NET_4_PC: 0x%x\n",
3117 QLCRD32(adapter, QLCNIC_PEG_HALT_STATUS1),
3118 QLCRD32(adapter, QLCNIC_PEG_HALT_STATUS2),
3119 QLCRD32(adapter, QLCNIC_CRB_PEG_NET_0 + 0x3c),
3120 QLCRD32(adapter, QLCNIC_CRB_PEG_NET_1 + 0x3c),
3121 QLCRD32(adapter, QLCNIC_CRB_PEG_NET_2 + 0x3c),
3122 QLCRD32(adapter, QLCNIC_CRB_PEG_NET_3 + 0x3c),
3123 QLCRD32(adapter, QLCNIC_CRB_PEG_NET_4 + 0x3c));
3113detach: 3124detach:
3114 adapter->dev_state = (state == QLCNIC_DEV_NEED_QUISCENT) ? state : 3125 adapter->dev_state = (state == QLCNIC_DEV_NEED_QUISCENT) ? state :
3115 QLCNIC_DEV_NEED_RESET; 3126 QLCNIC_DEV_NEED_RESET;