diff options
Diffstat (limited to 'arch/m32r/mm/ioremap.c')
-rw-r--r-- | arch/m32r/mm/ioremap.c | 4 |
1 files changed, 1 insertions, 3 deletions
diff --git a/arch/m32r/mm/ioremap.c b/arch/m32r/mm/ioremap.c index 70c59055c19c..a151849a605e 100644 --- a/arch/m32r/mm/ioremap.c +++ b/arch/m32r/mm/ioremap.c | |||
@@ -67,7 +67,7 @@ remap_area_pmd(pmd_t * pmd, unsigned long address, unsigned long size, | |||
67 | if (address >= end) | 67 | if (address >= end) |
68 | BUG(); | 68 | BUG(); |
69 | do { | 69 | do { |
70 | pte_t * pte = pte_alloc_kernel(&init_mm, pmd, address); | 70 | pte_t * pte = pte_alloc_kernel(pmd, address); |
71 | if (!pte) | 71 | if (!pte) |
72 | return -ENOMEM; | 72 | return -ENOMEM; |
73 | remap_area_pte(pte, address, end - address, address + phys_addr, flags); | 73 | remap_area_pte(pte, address, end - address, address + phys_addr, flags); |
@@ -90,7 +90,6 @@ remap_area_pages(unsigned long address, unsigned long phys_addr, | |||
90 | flush_cache_all(); | 90 | flush_cache_all(); |
91 | if (address >= end) | 91 | if (address >= end) |
92 | BUG(); | 92 | BUG(); |
93 | spin_lock(&init_mm.page_table_lock); | ||
94 | do { | 93 | do { |
95 | pmd_t *pmd; | 94 | pmd_t *pmd; |
96 | pmd = pmd_alloc(&init_mm, dir, address); | 95 | pmd = pmd_alloc(&init_mm, dir, address); |
@@ -104,7 +103,6 @@ remap_area_pages(unsigned long address, unsigned long phys_addr, | |||
104 | address = (address + PGDIR_SIZE) & PGDIR_MASK; | 103 | address = (address + PGDIR_SIZE) & PGDIR_MASK; |
105 | dir++; | 104 | dir++; |
106 | } while (address && (address < end)); | 105 | } while (address && (address < end)); |
107 | spin_unlock(&init_mm.page_table_lock); | ||
108 | flush_tlb_all(); | 106 | flush_tlb_all(); |
109 | return error; | 107 | return error; |
110 | } | 108 | } |