diff options
-rw-r--r-- | drivers/infiniband/hw/qib/qib_user_sdma.c | 6 |
1 files changed, 1 insertions, 5 deletions
diff --git a/drivers/infiniband/hw/qib/qib_user_sdma.c b/drivers/infiniband/hw/qib/qib_user_sdma.c index 82442085cbe6..573b4601d5b9 100644 --- a/drivers/infiniband/hw/qib/qib_user_sdma.c +++ b/drivers/infiniband/hw/qib/qib_user_sdma.c | |||
@@ -284,8 +284,7 @@ static int qib_user_sdma_pin_pages(const struct qib_devdata *dd, | |||
284 | int j; | 284 | int j; |
285 | int ret; | 285 | int ret; |
286 | 286 | ||
287 | ret = get_user_pages(current, current->mm, addr, | 287 | ret = get_user_pages_fast(addr, npages, 0, pages); |
288 | npages, 0, 1, pages, NULL); | ||
289 | 288 | ||
290 | if (ret != npages) { | 289 | if (ret != npages) { |
291 | int i; | 290 | int i; |
@@ -830,10 +829,7 @@ int qib_user_sdma_writev(struct qib_ctxtdata *rcd, | |||
830 | while (dim) { | 829 | while (dim) { |
831 | const int mxp = 8; | 830 | const int mxp = 8; |
832 | 831 | ||
833 | down_write(¤t->mm->mmap_sem); | ||
834 | ret = qib_user_sdma_queue_pkts(dd, pq, &list, iov, dim, mxp); | 832 | ret = qib_user_sdma_queue_pkts(dd, pq, &list, iov, dim, mxp); |
835 | up_write(¤t->mm->mmap_sem); | ||
836 | |||
837 | if (ret <= 0) | 833 | if (ret <= 0) |
838 | goto done_unlock; | 834 | goto done_unlock; |
839 | else { | 835 | else { |