diff options
-rw-r--r-- | drivers/staging/rdma/hfi1/file_ops.c | 25 |
1 files changed, 2 insertions, 23 deletions
diff --git a/drivers/staging/rdma/hfi1/file_ops.c b/drivers/staging/rdma/hfi1/file_ops.c index ec6c2269d739..541529589736 100644 --- a/drivers/staging/rdma/hfi1/file_ops.c +++ b/drivers/staging/rdma/hfi1/file_ops.c | |||
@@ -1559,29 +1559,8 @@ static loff_t ui_lseek(struct file *filp, loff_t offset, int whence) | |||
1559 | { | 1559 | { |
1560 | struct hfi1_devdata *dd = filp->private_data; | 1560 | struct hfi1_devdata *dd = filp->private_data; |
1561 | 1561 | ||
1562 | switch (whence) { | 1562 | return fixed_size_llseek(filp, offset, whence, |
1563 | case SEEK_SET: | 1563 | (dd->kregend - dd->kregbase) + DC8051_DATA_MEM_SIZE); |
1564 | break; | ||
1565 | case SEEK_CUR: | ||
1566 | offset += filp->f_pos; | ||
1567 | break; | ||
1568 | case SEEK_END: | ||
1569 | offset = ((dd->kregend - dd->kregbase) + DC8051_DATA_MEM_SIZE) - | ||
1570 | offset; | ||
1571 | break; | ||
1572 | default: | ||
1573 | return -EINVAL; | ||
1574 | } | ||
1575 | |||
1576 | if (offset < 0) | ||
1577 | return -EINVAL; | ||
1578 | |||
1579 | if (offset >= (dd->kregend - dd->kregbase) + DC8051_DATA_MEM_SIZE) | ||
1580 | return -EINVAL; | ||
1581 | |||
1582 | filp->f_pos = offset; | ||
1583 | |||
1584 | return filp->f_pos; | ||
1585 | } | 1564 | } |
1586 | 1565 | ||
1587 | /* NOTE: assumes unsigned long is 8 bytes */ | 1566 | /* NOTE: assumes unsigned long is 8 bytes */ |