Commit 4c15442d authored by Arun Easi's avatar Arun Easi Committed by Martin K. Petersen

scsi: qla2xxx: Add host attribute to trigger MPI hang

Add a mechanism to trigger MPI pause for debugging purposes.

Link: https://lore.kernel.org/r/20210810043720.1137-2-njavali@marvell.comReviewed-by: default avatarHimanshu Madhani <himanshu.madhani@oracle.com>
Signed-off-by: default avatarArun Easi <aeasi@marvell.com>
Signed-off-by: default avatarNilesh Javali <njavali@marvell.com>
Signed-off-by: default avatarMartin K. Petersen <martin.petersen@oracle.com>
parent 9757f8af
......@@ -1887,6 +1887,30 @@ qla2x00_port_speed_show(struct device *dev, struct device_attribute *attr,
return scnprintf(buf, PAGE_SIZE, "%s\n", spd[ha->link_data_rate]);
}
static ssize_t
qla2x00_mpi_pause_store(struct device *dev,
struct device_attribute *attr, const char *buf, size_t count)
{
scsi_qla_host_t *vha = shost_priv(class_to_shost(dev));
int rval = 0;
if (sscanf(buf, "%d", &rval) != 1)
return -EINVAL;
ql_log(ql_log_warn, vha, 0x7089, "Pausing MPI...\n");
rval = qla83xx_wr_reg(vha, 0x002012d4, 0x30000001);
if (rval != QLA_SUCCESS) {
ql_log(ql_log_warn, vha, 0x708a, "Unable to pause MPI.\n");
count = 0;
}
return count;
}
static DEVICE_ATTR(mpi_pause, S_IWUSR, NULL, qla2x00_mpi_pause_store);
/* ----- */
static ssize_t
......@@ -2482,6 +2506,7 @@ struct device_attribute *qla2x00_host_attrs[] = {
&dev_attr_fw_attr,
&dev_attr_dport_diagnostics,
&dev_attr_edif_doorbell,
&dev_attr_mpi_pause,
NULL, /* reserve for qlini_mode */
NULL, /* reserve for ql2xiniexchg */
NULL, /* reserve for ql2xexchoffld */
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment