aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/gpu/drm/i810/i810_dma.c
diff options
context:
space:
mode:
authorDave Airlie <airlied@redhat.com>2012-05-07 16:09:09 +0100
committerDave Airlie <airlied@redhat.com>2012-05-07 16:09:35 +0100
commit4f256e8aa3eda15c11c3cec3ec5336e1fc579cbd (patch)
tree33c02b5e18e79756005a3edfa7c862a47de668d5 /drivers/gpu/drm/i810/i810_dma.c
parent4086b1e2b19729eebf632073b9d4ab811726d8eb (diff)
parentdc257cf154be708ecc47b8b89c12ad8cd2cc35e4 (diff)
downloadkernel_goldelico_gta04-4f256e8aa3eda15c11c3cec3ec5336e1fc579cbd.zip
kernel_goldelico_gta04-4f256e8aa3eda15c11c3cec3ec5336e1fc579cbd.tar.gz
kernel_goldelico_gta04-4f256e8aa3eda15c11c3cec3ec5336e1fc579cbd.tar.bz2
Merge branch 'for-airlied' of git://people.freedesktop.org/~danvet/drm-intel into drm-core-next
Daniel prepared this branch with a back-merge as git was getting very confused about changes in intel_display.c
Diffstat (limited to 'drivers/gpu/drm/i810/i810_dma.c')
-rw-r--r--drivers/gpu/drm/i810/i810_dma.c6
1 files changed, 2 insertions, 4 deletions
diff --git a/drivers/gpu/drm/i810/i810_dma.c b/drivers/gpu/drm/i810/i810_dma.c
index 2c8a60c..f920fb5 100644
--- a/drivers/gpu/drm/i810/i810_dma.c
+++ b/drivers/gpu/drm/i810/i810_dma.c
@@ -129,6 +129,7 @@ static int i810_map_buffer(struct drm_buf *buf, struct drm_file *file_priv)
if (buf_priv->currently_mapped == I810_BUF_MAPPED)
return -EINVAL;
+ /* This is all entirely broken */
down_write(&current->mm->mmap_sem);
old_fops = file_priv->filp->f_op;
file_priv->filp->f_op = &i810_buffer_fops;
@@ -157,11 +158,8 @@ static int i810_unmap_buffer(struct drm_buf *buf)
if (buf_priv->currently_mapped != I810_BUF_MAPPED)
return -EINVAL;
- down_write(&current->mm->mmap_sem);
- retcode = do_munmap(current->mm,
- (unsigned long)buf_priv->virtual,
+ retcode = vm_munmap((unsigned long)buf_priv->virtual,
(size_t) buf->total);
- up_write(&current->mm->mmap_sem);
buf_priv->currently_mapped = I810_BUF_UNMAPPED;
buf_priv->virtual = NULL;