]> Pileus Git - ~andy/linux/blobdiff - arch/sparc/mm/generic.c
[PATCH] mm: arches skip ptlock
[~andy/linux] / arch / sparc / mm / generic.c
index 659c9a71f867fd959b9475df284e4d4e78bbf7e6..9604893ffdbd020955ec7d0a1e1bbdd6ac942afe 100644 (file)
@@ -81,9 +81,8 @@ int io_remap_pfn_range(struct vm_area_struct *vma, unsigned long from,
        dir = pgd_offset(mm, from);
        flush_cache_range(vma, beg, end);
 
-       spin_lock(&mm->page_table_lock);
        while (from < end) {
-               pmd_t *pmd = pmd_alloc(current->mm, dir, from);
+               pmd_t *pmd = pmd_alloc(mm, dir, from);
                error = -ENOMEM;
                if (!pmd)
                        break;
@@ -93,7 +92,6 @@ int io_remap_pfn_range(struct vm_area_struct *vma, unsigned long from,
                from = (from + PGDIR_SIZE) & PGDIR_MASK;
                dir++;
        }
-       spin_unlock(&mm->page_table_lock);
 
        flush_tlb_range(vma, beg, end);
        return error;