diff options
author | Brian King <brking@linux.vnet.ibm.com> | 2007-03-29 13:43:01 -0400 |
---|---|---|
committer | James Bottomley <jejb@mulgrave.il.steeleye.com> | 2007-04-01 12:16:34 -0400 |
commit | cc9bd5d4256ecc1b6e0448febb4be29db1a91256 (patch) | |
tree | 4e4c0a7c4cc24d106d6191c9f7a746fbb2153534 /drivers/scsi/ipr.c | |
parent | 185eb31cc242f415800a1a06dca522d27c269279 (diff) |
[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.c | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/drivers/scsi/ipr.c b/drivers/scsi/ipr.c index 4fd6a3d81ff..5b6ffe18bc7 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, | |||
4473 | if (ioasa->ilid != 0) | 4473 | if (ioasa->ilid != 0) |
4474 | return; | 4474 | return; |
4475 | 4475 | ||
4476 | if (!ipr_is_gscsi(res)) | ||
4477 | return; | ||
4478 | |||
4476 | if (ipr_error_table[error_index].log_ioasa == 0) | 4479 | if (ipr_error_table[error_index].log_ioasa == 0) |
4477 | return; | 4480 | return; |
4478 | } | 4481 | } |
@@ -4632,11 +4635,11 @@ static void ipr_erp_start(struct ipr_ioa_cfg *ioa_cfg, | |||
4632 | return; | 4635 | return; |
4633 | } | 4636 | } |
4634 | 4637 | ||
4635 | if (ipr_is_gscsi(res)) | 4638 | if (!ipr_is_gscsi(res)) |
4636 | ipr_dump_ioasa(ioa_cfg, ipr_cmd, res); | ||
4637 | else | ||
4638 | ipr_gen_sense(ipr_cmd); | 4639 | ipr_gen_sense(ipr_cmd); |
4639 | 4640 | ||
4641 | ipr_dump_ioasa(ioa_cfg, ipr_cmd, res); | ||
4642 | |||
4640 | switch (ioasc & IPR_IOASC_IOASC_MASK) { | 4643 | switch (ioasc & IPR_IOASC_IOASC_MASK) { |
4641 | case IPR_IOASC_ABORTED_CMD_TERM_BY_HOST: | 4644 | case IPR_IOASC_ABORTED_CMD_TERM_BY_HOST: |
4642 | if (ipr_is_naca_model(res)) | 4645 | if (ipr_is_naca_model(res)) |