From: Jan Kara <j...@suse.cz>

CC: David Airlie <airlied at linux.ie>
CC: dri-devel at lists.freedesktop.org
Signed-off-by: Jan Kara <jack at suse.cz>
---
 drivers/gpu/drm/via/via_dmablit.c | 12 ++++--------
 1 file changed, 4 insertions(+), 8 deletions(-)

diff --git a/drivers/gpu/drm/via/via_dmablit.c 
b/drivers/gpu/drm/via/via_dmablit.c
index d0cbd5ecd7f0..d71add236e62 100644
--- a/drivers/gpu/drm/via/via_dmablit.c
+++ b/drivers/gpu/drm/via/via_dmablit.c
@@ -238,14 +238,10 @@ via_lock_all_dma_pages(drm_via_sg_info_t *vsg,  
drm_via_dmablit_t *xfer)
        vsg->pages = vzalloc(sizeof(struct page *) * vsg->num_pages);
        if (NULL == vsg->pages)
                return -ENOMEM;
-       down_read(&current->mm->mmap_sem);
-       ret = get_user_pages(current, current->mm,
-                            (unsigned long)xfer->mem_addr,
-                            vsg->num_pages,
-                            (vsg->direction == DMA_FROM_DEVICE),
-                            0, vsg->pages, NULL);
-
-       up_read(&current->mm->mmap_sem);
+       ret = get_user_pages_fast((unsigned long)xfer->mem_addr,
+                                 vsg->num_pages,
+                                 (vsg->direction == DMA_FROM_DEVICE),
+                                 vsg->pages);
        if (ret != vsg->num_pages) {
                if (ret < 0)
                        return ret;
-- 
2.1.4

Reply via email to