From 37907eba278b76ffcf8dcdc82a6f8dca0930e578 Mon Sep 17 00:00:00 2001 From: Daniel De Graaf Date: Fri, 7 Jan 2011 11:51:47 +0000 Subject: [PATCH] --- yaml --- r: 230851 b: refs/heads/master c: f0a70c882ea546bbd802643990ceded32c39facc h: refs/heads/master i: 230849: 340f88b131a72d2a97c1bb557ae58ef2de4c1cca 230847: cfd36f9280a7ffd1a4e033f830c6db07f2f7b53d v: v3 --- [refs] | 2 +- trunk/drivers/xen/gntdev.c | 9 +++++++-- 2 files changed, 8 insertions(+), 3 deletions(-) diff --git a/[refs] b/[refs] index 6e1550d650ba..16f59c09a0f2 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: ba5d1012292403c8037adf4a54c4ec50dfe846c4 +refs/heads/master: f0a70c882ea546bbd802643990ceded32c39facc diff --git a/trunk/drivers/xen/gntdev.c b/trunk/drivers/xen/gntdev.c index a2ea5335e152..aba76d437ea8 100644 --- a/trunk/drivers/xen/gntdev.c +++ b/trunk/drivers/xen/gntdev.c @@ -575,21 +575,26 @@ static int gntdev_mmap(struct file *flip, struct vm_area_struct *vma) if (!(vma->vm_flags & VM_WRITE)) map->flags |= GNTMAP_readonly; + spin_unlock(&priv->lock); + err = apply_to_page_range(vma->vm_mm, vma->vm_start, vma->vm_end - vma->vm_start, find_grant_ptes, map); if (err) { printk(KERN_WARNING "find_grant_ptes() failure.\n"); - goto unlock_out; + return err; } err = map_grant_pages(map); if (err) { printk(KERN_WARNING "map_grant_pages() failure.\n"); - goto unlock_out; + return err; } + map->is_mapped = 1; + return 0; + unlock_out: spin_unlock(&priv->lock); return err;