diff options
author | brking@us.ibm.com <brking@us.ibm.com> | 2005-11-02 02:00:47 +0300 |
---|---|---|
committer | James Bottomley <jejb@mulgrave.(none)> | 2005-11-06 22:01:24 +0300 |
commit | cf8520376c2b752237095f6cd279e5443bd2fffe (patch) | |
tree | 7984a56ed5fbada16a7af99d9ac4b254c2348390 /drivers/scsi/ipr.c | |
parent | a9cfca9622d660daf9422c2f041828e017eba58b (diff) | |
download | linux-cf8520376c2b752237095f6cd279e5443bd2fffe.tar.xz |
[SCSI] ipr: Error logging cleanup
Simplify error logging path, sanitize error length returned
by the adapter.
Signed-off-by: Brian King <brking@us.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 | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/drivers/scsi/ipr.c b/drivers/scsi/ipr.c index 40763b64e9eb..b5a2669518ba 100644 --- a/drivers/scsi/ipr.c +++ b/drivers/scsi/ipr.c @@ -1141,11 +1141,10 @@ static void ipr_handle_log_data(struct ipr_ioa_cfg *ioa_cfg, if (ioa_cfg->log_level < IPR_DEFAULT_LOG_LEVEL) return; + if (be32_to_cpu(hostrcb->hcam.length) > sizeof(hostrcb->hcam.u.raw)) + hostrcb->hcam.length = cpu_to_be32(sizeof(hostrcb->hcam.u.raw)); switch (hostrcb->hcam.overlay_id) { - case IPR_HOST_RCB_OVERLAY_ID_1: - ipr_log_generic_error(ioa_cfg, hostrcb); - break; case IPR_HOST_RCB_OVERLAY_ID_2: ipr_log_cache_error(ioa_cfg, hostrcb); break; @@ -1156,6 +1155,7 @@ static void ipr_handle_log_data(struct ipr_ioa_cfg *ioa_cfg, case IPR_HOST_RCB_OVERLAY_ID_6: ipr_log_array_error(ioa_cfg, hostrcb); break; + case IPR_HOST_RCB_OVERLAY_ID_1: case IPR_HOST_RCB_OVERLAY_ID_DEFAULT: default: ipr_log_generic_error(ioa_cfg, hostrcb); |