diff options
| -rw-r--r-- | drivers/infiniband/hw/ipath/ipath_user_sdma.c | 7 |
1 files changed, 1 insertions, 6 deletions
diff --git a/drivers/infiniband/hw/ipath/ipath_user_sdma.c b/drivers/infiniband/hw/ipath/ipath_user_sdma.c index f5cb13b21445..cc04b7ba3488 100644 --- a/drivers/infiniband/hw/ipath/ipath_user_sdma.c +++ b/drivers/infiniband/hw/ipath/ipath_user_sdma.c | |||
| @@ -280,9 +280,7 @@ static int ipath_user_sdma_pin_pages(const struct ipath_devdata *dd, | |||
| 280 | int j; | 280 | int j; |
| 281 | int ret; | 281 | int ret; |
| 282 | 282 | ||
| 283 | ret = get_user_pages(current, current->mm, addr, | 283 | ret = get_user_pages_fast(addr, npages, 0, pages); |
| 284 | npages, 0, 1, pages, NULL); | ||
| 285 | |||
| 286 | if (ret != npages) { | 284 | if (ret != npages) { |
| 287 | int i; | 285 | int i; |
| 288 | 286 | ||
| @@ -811,10 +809,7 @@ int ipath_user_sdma_writev(struct ipath_devdata *dd, | |||
| 811 | while (dim) { | 809 | while (dim) { |
| 812 | const int mxp = 8; | 810 | const int mxp = 8; |
| 813 | 811 | ||
| 814 | down_write(¤t->mm->mmap_sem); | ||
| 815 | ret = ipath_user_sdma_queue_pkts(dd, pq, &list, iov, dim, mxp); | 812 | ret = ipath_user_sdma_queue_pkts(dd, pq, &list, iov, dim, mxp); |
| 816 | up_write(¤t->mm->mmap_sem); | ||
| 817 | |||
| 818 | if (ret <= 0) | 813 | if (ret <= 0) |
| 819 | goto done_unlock; | 814 | goto done_unlock; |
| 820 | else { | 815 | else { |
