summaryrefslogtreecommitdiffstats
path: root/drivers/scsi/ipr.c
diff options
context:
space:
mode:
authorBrian King <brking@linux.vnet.ibm.com>2007-03-29 19:43:01 +0200
committerJames Bottomley <jejb@mulgrave.il.steeleye.com>2007-04-01 18:16:34 +0200
commitcc9bd5d4256ecc1b6e0448febb4be29db1a91256 (patch)
tree4e4c0a7c4cc24d106d6191c9f7a746fbb2153534 /drivers/scsi/ipr.c
parent[SCSI] ipr: Add new PCI-E IDs to device table (diff)
downloadlinux-cc9bd5d4256ecc1b6e0448febb4be29db1a91256.tar.xz
linux-cc9bd5d4256ecc1b6e0448febb4be29db1a91256.zip
[SCSI] ipr: Enable logging of debug error data for all devices
The ipr driver has a sysfs attribute which can be used to adjust the logging level of the driver for error events. The error response data for commands can be dumped by increasing the logging level of the ipr driver. This currently only works for JBOD passthrough devices. This patch enables this function for all devices, including RAID devices, to aid in debugging problems. Signed-off-by: Brian King <brking@linux.vnet.ibm.com> Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
Diffstat (limited to 'drivers/scsi/ipr.c')
-rw-r--r--drivers/scsi/ipr.c9
1 files changed, 6 insertions, 3 deletions
diff --git a/drivers/scsi/ipr.c b/drivers/scsi/ipr.c
index 4fd6a3d81ffc..5b6ffe18bc7d 100644
--- a/drivers/scsi/ipr.c
+++ b/drivers/scsi/ipr.c
@@ -4473,6 +4473,9 @@ static void ipr_dump_ioasa(struct ipr_ioa_cfg *ioa_cfg,
if (ioasa->ilid != 0)
return;
+ if (!ipr_is_gscsi(res))
+ return;
+
if (ipr_error_table[error_index].log_ioasa == 0)
return;
}
@@ -4632,11 +4635,11 @@ static void ipr_erp_start(struct ipr_ioa_cfg *ioa_cfg,
return;
}
- if (ipr_is_gscsi(res))
- ipr_dump_ioasa(ioa_cfg, ipr_cmd, res);
- else
+ if (!ipr_is_gscsi(res))
ipr_gen_sense(ipr_cmd);
+ ipr_dump_ioasa(ioa_cfg, ipr_cmd, res);
+
switch (ioasc & IPR_IOASC_IOASC_MASK) {
case IPR_IOASC_ABORTED_CMD_TERM_BY_HOST:
if (ipr_is_naca_model(res))