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

Commit f7e59e99 authored by Meelis Roos's avatar Meelis Roos Committed by Martin K. Petersen
Browse files

scsi: qla2xxx: fix error message on <qla2400



This patch fixes IO traps caught by hardware when mailbox command fails
on qla2200. The error handler assumes newer firmware that is available
on 2400 and newer HBA-s.

This causes ugly crashes on sparc64.

Fix it with separate debug prints on different firmware generations like
most other places do.

[mkp: updated based on feedback from Himanshu]

Signed-off-by: default avatarMeelis Roos <mroos@linux.ee>
Acked-by: default avatarHimanshu Madhani <himanshu.madhani@cavium.com>
Signed-off-by: default avatarMartin K. Petersen <martin.petersen@oracle.com>
parent 89d0c804
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -14,7 +14,7 @@
 * | Module Init and Probe        |       0x0193       | 0x0146         |
 * |                              |                    | 0x015b-0x0160	|
 * |                              |                    | 0x016e		|
 * | Mailbox commands             |       0x1205       | 0x11a2-0x11ff	|
 * | Mailbox commands             |       0x1206       | 0x11a2-0x11ff	|
 * | Device Discovery             |       0x2134       | 0x210e-0x2116  |
 * |				  | 		       | 0x211a         |
 * |                              |                    | 0x211c-0x2128  |
+13 −5
Original line number Diff line number Diff line
@@ -503,11 +503,19 @@ qla2x00_mailbox_command(scsi_qla_host_t *vha, mbx_cmd_t *mcp)
				}
			pr_warn(" cmd=%x ****\n", command);
		}
		if (IS_FWI2_CAPABLE(ha) && !(IS_P3P_TYPE(ha))) {
			ql_dbg(ql_dbg_mbx, vha, 0x1198,
			    "host_status=%#x intr_ctrl=%#x intr_status=%#x\n",
			    RD_REG_DWORD(&reg->isp24.host_status),
			    RD_REG_DWORD(&reg->isp24.ictrl),
			    RD_REG_DWORD(&reg->isp24.istatus));
		} else {
			ql_dbg(ql_dbg_mbx, vha, 0x1206,
			    "ctrl_status=%#x ictrl=%#x istatus=%#x\n",
			    RD_REG_WORD(&reg->isp.ctrl_status),
			    RD_REG_WORD(&reg->isp.ictrl),
			    RD_REG_WORD(&reg->isp.istatus));
		}
	} else {
		ql_dbg(ql_dbg_mbx, base_vha, 0x1021, "Done %s.\n", __func__);
	}