Commit 244ca2b4 authored by Al Viro's avatar Al Viro

i810: switch to vm_mmap()

Weirdness around do_mmap() in there does not rely on ->mmap_sem for
exclusion, so no need to keep it under that.  As the result, we can
turn that do_mmap() into vm_mmap().
Signed-off-by: default avatarAl Viro <viro@zeniv.linux.org.uk>
parent fd657170
...@@ -130,11 +130,10 @@ static int i810_map_buffer(struct drm_buf *buf, struct drm_file *file_priv) ...@@ -130,11 +130,10 @@ static int i810_map_buffer(struct drm_buf *buf, struct drm_file *file_priv)
return -EINVAL; return -EINVAL;
/* This is all entirely broken */ /* This is all entirely broken */
down_write(&current->mm->mmap_sem);
old_fops = file_priv->filp->f_op; old_fops = file_priv->filp->f_op;
file_priv->filp->f_op = &i810_buffer_fops; file_priv->filp->f_op = &i810_buffer_fops;
dev_priv->mmap_buffer = buf; dev_priv->mmap_buffer = buf;
buf_priv->virtual = (void *)do_mmap(file_priv->filp, 0, buf->total, buf_priv->virtual = (void *)vm_mmap(file_priv->filp, 0, buf->total,
PROT_READ | PROT_WRITE, PROT_READ | PROT_WRITE,
MAP_SHARED, buf->bus_address); MAP_SHARED, buf->bus_address);
dev_priv->mmap_buffer = NULL; dev_priv->mmap_buffer = NULL;
...@@ -145,7 +144,6 @@ static int i810_map_buffer(struct drm_buf *buf, struct drm_file *file_priv) ...@@ -145,7 +144,6 @@ static int i810_map_buffer(struct drm_buf *buf, struct drm_file *file_priv)
retcode = PTR_ERR(buf_priv->virtual); retcode = PTR_ERR(buf_priv->virtual);
buf_priv->virtual = NULL; buf_priv->virtual = NULL;
} }
up_write(&current->mm->mmap_sem);
return retcode; return retcode;
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment