Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit c76ecb7a authored by Sritej Velaga's avatar Sritej Velaga Committed by David S. Miller
Browse files

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: default avatarSritej Velaga <sritej.velaga@qlogic.com>
Signed-off-by: default avatarAnirban Chakraborty <anirban.chakraborty@qlogic.com>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent 031a4a26
Loading
Loading
Loading
Loading
+2 −2
Original line number Original line Diff line number Diff line
@@ -36,8 +36,8 @@


#define _QLCNIC_LINUX_MAJOR 5
#define _QLCNIC_LINUX_MAJOR 5
#define _QLCNIC_LINUX_MINOR 0
#define _QLCNIC_LINUX_MINOR 0
#define _QLCNIC_LINUX_SUBVERSION 21
#define _QLCNIC_LINUX_SUBVERSION 22
#define QLCNIC_LINUX_VERSIONID  "5.0.21"
#define QLCNIC_LINUX_VERSIONID  "5.0.22"
#define QLCNIC_DRV_IDC_VER  0x01
#define QLCNIC_DRV_IDC_VER  0x01
#define QLCNIC_DRIVER_VERSION  ((_QLCNIC_LINUX_MAJOR << 16) |\
#define QLCNIC_DRIVER_VERSION  ((_QLCNIC_LINUX_MAJOR << 16) |\
		 (_QLCNIC_LINUX_MINOR << 8) | (_QLCNIC_LINUX_SUBVERSION))
		 (_QLCNIC_LINUX_MINOR << 8) | (_QLCNIC_LINUX_SUBVERSION))
+12 −1
Original line number Original line Diff line number Diff line
@@ -3109,7 +3109,18 @@ qlcnic_check_health(struct qlcnic_adapter *adapter)
		clear_bit(__QLCNIC_FW_ATTACHED, &adapter->state);
		clear_bit(__QLCNIC_FW_ATTACHED, &adapter->state);


	dev_info(&netdev->dev, "firmware hang detected\n");
	dev_info(&netdev->dev, "firmware hang detected\n");

	dev_info(&adapter->pdev->dev, "Dumping hw/fw registers\n"
			"PEG_HALT_STATUS1: 0x%x, PEG_HALT_STATUS2: 0x%x,\n"
			"PEG_NET_0_PC: 0x%x, PEG_NET_1_PC: 0x%x,\n"
			"PEG_NET_2_PC: 0x%x, PEG_NET_3_PC: 0x%x,\n"
			"PEG_NET_4_PC: 0x%x\n",
			QLCRD32(adapter, QLCNIC_PEG_HALT_STATUS1),
			QLCRD32(adapter, QLCNIC_PEG_HALT_STATUS2),
			QLCRD32(adapter, QLCNIC_CRB_PEG_NET_0 + 0x3c),
			QLCRD32(adapter, QLCNIC_CRB_PEG_NET_1 + 0x3c),
			QLCRD32(adapter, QLCNIC_CRB_PEG_NET_2 + 0x3c),
			QLCRD32(adapter, QLCNIC_CRB_PEG_NET_3 + 0x3c),
			QLCRD32(adapter, QLCNIC_CRB_PEG_NET_4 + 0x3c));
detach:
detach:
	adapter->dev_state = (state == QLCNIC_DEV_NEED_QUISCENT) ? state :
	adapter->dev_state = (state == QLCNIC_DEV_NEED_QUISCENT) ? state :
		QLCNIC_DEV_NEED_RESET;
		QLCNIC_DEV_NEED_RESET;