|
@@ -3109,7 +3109,18 @@ qlcnic_check_health(struct qlcnic_adapter *adapter)
|
|
|
clear_bit(__QLCNIC_FW_ATTACHED, &adapter->state);
|
|
|
|
|
|
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:
|
|
|
adapter->dev_state = (state == QLCNIC_DEV_NEED_QUISCENT) ? state :
|
|
|
QLCNIC_DEV_NEED_RESET;
|