Simplify error logging path, sanitize error length returned by the adapter. Signed-off-by: Brian King <brking@xxxxxxxxxx> --- drivers/scsi/ipr.c | 6 +++--- 1 files changed, 3 insertions(+), 3 deletions(-) diff -puN drivers/scsi/ipr.c~ipr_error_cleanup drivers/scsi/ipr.c --- linux-2.6/drivers/scsi/ipr.c~ipr_error_cleanup 2005-10-31 20:42:13.500354432 -0600 +++ linux-2.6-bjking1/drivers/scsi/ipr.c 2005-10-31 21:52:55.806425880 -0600 @@ -1141,11 +1141,10 @@ static void ipr_handle_log_data(struct i 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 i 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); _ - : send the line "unsubscribe linux-scsi" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html