From e5b23e2ba06692aeb63acc6c1d910faa92ab638d Mon Sep 17 00:00:00 2001 From: Christian Borntraeger Date: Tue, 27 Dec 2011 11:25:47 +0100 Subject: [PATCH] --- yaml --- r: 280612 b: refs/heads/master c: c86cce2a20207cbf2b3dfe97c985a1f5aa5d3798 h: refs/heads/master v: v3 --- [refs] | 2 +- trunk/arch/s390/mm/pgtable.c | 3 +++ 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/[refs] b/[refs] index 825b37bff6c1..897372425426 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 1fb810576f0e92451a5d46774bbd593946ca3526 +refs/heads/master: c86cce2a20207cbf2b3dfe97c985a1f5aa5d3798 diff --git a/trunk/arch/s390/mm/pgtable.c b/trunk/arch/s390/mm/pgtable.c index 301c84d3b542..dc2269f1821c 100644 --- a/trunk/arch/s390/mm/pgtable.c +++ b/trunk/arch/s390/mm/pgtable.c @@ -267,7 +267,10 @@ static int gmap_alloc_table(struct gmap *gmap, struct page *page; unsigned long *new; + /* since we dont free the gmap table until gmap_free we can unlock */ + spin_unlock(&gmap->mm->page_table_lock); page = alloc_pages(GFP_KERNEL, ALLOC_ORDER); + spin_lock(&gmap->mm->page_table_lock); if (!page) return -ENOMEM; new = (unsigned long *) page_to_phys(page);