|
@@ -679,7 +679,27 @@ static void qla4_8xxx_check_fw_alive(struct scsi_qla_host *ha)
|
|
|
if (ha->seconds_since_last_heartbeat == 2) {
|
|
|
ha->seconds_since_last_heartbeat = 0;
|
|
|
halt_status = qla4_8xxx_rd_32(ha,
|
|
|
- QLA82XX_PEG_HALT_STATUS1);
|
|
|
+ QLA82XX_PEG_HALT_STATUS1);
|
|
|
+
|
|
|
+ ql4_printk(KERN_INFO, ha,
|
|
|
+ "scsi(%ld): %s, 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",
|
|
|
+ ha->host_no, __func__, halt_status,
|
|
|
+ qla4_8xxx_rd_32(ha,
|
|
|
+ QLA82XX_PEG_HALT_STATUS2),
|
|
|
+ qla4_8xxx_rd_32(ha, QLA82XX_CRB_PEG_NET_0 +
|
|
|
+ 0x3c),
|
|
|
+ qla4_8xxx_rd_32(ha, QLA82XX_CRB_PEG_NET_1 +
|
|
|
+ 0x3c),
|
|
|
+ qla4_8xxx_rd_32(ha, QLA82XX_CRB_PEG_NET_2 +
|
|
|
+ 0x3c),
|
|
|
+ qla4_8xxx_rd_32(ha, QLA82XX_CRB_PEG_NET_3 +
|
|
|
+ 0x3c),
|
|
|
+ qla4_8xxx_rd_32(ha, QLA82XX_CRB_PEG_NET_4 +
|
|
|
+ 0x3c));
|
|
|
|
|
|
/* Since we cannot change dev_state in interrupt
|
|
|
* context, set appropriate DPC flag then wakeup
|