Skip to content

Commit

Permalink
[SCSI] ipr: use memory_read_from_buffer()
Browse files Browse the repository at this point in the history
Signed-off-by: Akinobu Mita <akinobu.mita@gmail.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Acked-by: Brian King <brking@us.ibm.com>
Signed-off-by: James Bottomley <James.Bottomley@HansenPartnership.com>
  • Loading branch information
Akinobu Mita authored and James Bottomley committed Oct 23, 2008
1 parent 3ba7f18 commit d777aaf
Showing 1 changed file with 5 additions and 11 deletions.
16 changes: 5 additions & 11 deletions drivers/scsi/ipr.c
Original file line number Diff line number Diff line change
Expand Up @@ -2456,20 +2456,14 @@ static ssize_t ipr_read_trace(struct kobject *kobj,
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 = {
Expand Down

0 comments on commit d777aaf

Please sign in to comment.