Acked by: Brian King <brking@xxxxxxxxxxxxxxxxxx> akpm@xxxxxxxxxxxxxxxxxxxx wrote: > From: Akinobu Mita <akinobu.mita@xxxxxxxxx> > > Signed-off-by: Akinobu Mita <akinobu.mita@xxxxxxxxx> > Cc: Brian King <brking@xxxxxxxxxx> > Cc: James E.J. Bottomley <James.Bottomley@xxxxxxxxxxxxxxxxxxxxx> > Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> > --- > > drivers/scsi/ipr.c | 16 +++++----------- > 1 file changed, 5 insertions(+), 11 deletions(-) > > diff -puN drivers/scsi/ipr.c~ipr-use-memory_read_from_buffer drivers/scsi/ipr.c > --- a/drivers/scsi/ipr.c~ipr-use-memory_read_from_buffer > +++ a/drivers/scsi/ipr.c > @@ -2456,20 +2456,14 @@ static ssize_t ipr_read_trace(struct kob > struct Scsi_Host *shost = class_to_shost(dev); > struct ipr_ioa_cfg *ioa_cfg = (struct ipr_ioa_cfg *)shost->hostdata; > unsigned long lock_flags = 0; > - int size = IPR_TRACE_SIZE; > - char *src = (char *)ioa_cfg->trace; > - > - if (off > size) > - return 0; > - if (off + count > size) { > - size -= off; > - count = size; > - } > + ssize_t ret; > > spin_lock_irqsave(ioa_cfg->host->host_lock, lock_flags); > - memcpy(buf, &src[off], count); > + ret = memory_read_from_buffer(buf, count, &off, ioa_cfg->trace, > + IPR_TRACE_SIZE); > spin_unlock_irqrestore(ioa_cfg->host->host_lock, lock_flags); > - return count; > + > + return ret; > } > > static struct bin_attribute ipr_trace_attr = { > _ > -- > To unsubscribe from this list: 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 -- Brian King Linux on Power Virtualization IBM Linux Technology Center -- To unsubscribe from this list: 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