diff options
author | Steve Wise <swise@opengridcomputing.com> | 2010-09-29 18:21:33 +0000 |
---|---|---|
committer | Roland Dreier <rolandd@cisco.com> | 2010-10-11 20:15:14 -0700 |
commit | 3160977a6e66ea4c4b4f33010f5d04f0004b938c (patch) | |
tree | 233bff2c8bb78f6a0094f597bcfda40e94586a0d /drivers/infiniband | |
parent | 8bbac892fb75d20fa274ca026e24faf00afbf9dd (diff) | |
download | linux-3160977a6e66ea4c4b4f33010f5d04f0004b938c.tar.bz2 |
RDMA/cxgb4: Use simple_read_from_buffer() for debugfs handlers
We can replace our equivalent open-coded version.
Signed-off-by: Steve Wise <swise@opengridcomputing.com>
Signed-off-by: Roland Dreier <rolandd@cisco.com>
Diffstat (limited to 'drivers/infiniband')
-rw-r--r-- | drivers/infiniband/hw/cxgb4/device.c | 26 |
1 files changed, 1 insertions, 25 deletions
diff --git a/drivers/infiniband/hw/cxgb4/device.c b/drivers/infiniband/hw/cxgb4/device.c index b25435736d44..22a290d0d5bf 100644 --- a/drivers/infiniband/hw/cxgb4/device.c +++ b/drivers/infiniband/hw/cxgb4/device.c @@ -68,32 +68,8 @@ static ssize_t debugfs_read(struct file *file, char __user *buf, size_t count, loff_t *ppos) { struct c4iw_debugfs_data *d = file->private_data; - loff_t pos = *ppos; - loff_t avail = d->pos; - if (pos < 0) - return -EINVAL; - if (pos >= avail) - return 0; - if (count > avail - pos) - count = avail - pos; - - while (count) { - size_t len = 0; - - len = min((int)count, (int)d->pos - (int)pos); - if (copy_to_user(buf, d->buf + pos, len)) - return -EFAULT; - if (len == 0) - return -EINVAL; - - buf += len; - pos += len; - count -= len; - } - count = pos - *ppos; - *ppos = pos; - return count; + return simple_read_from_buffer(buf, count, ppos, d->buf, d->pos); } static int dump_qp(int id, void *p, void *data) |