diff options
Diffstat (limited to 'arch/ppc64/mm/init.c')
-rw-r--r-- | arch/ppc64/mm/init.c | 4 |
1 files changed, 1 insertions, 3 deletions
diff --git a/arch/ppc64/mm/init.c b/arch/ppc64/mm/init.c index be64b157afce..a45584b3440c 100644 --- a/arch/ppc64/mm/init.c +++ b/arch/ppc64/mm/init.c | |||
@@ -155,7 +155,6 @@ static int map_io_page(unsigned long ea, unsigned long pa, int flags) | |||
155 | unsigned long vsid; | 155 | unsigned long vsid; |
156 | 156 | ||
157 | if (mem_init_done) { | 157 | if (mem_init_done) { |
158 | spin_lock(&init_mm.page_table_lock); | ||
159 | pgdp = pgd_offset_k(ea); | 158 | pgdp = pgd_offset_k(ea); |
160 | pudp = pud_alloc(&init_mm, pgdp, ea); | 159 | pudp = pud_alloc(&init_mm, pgdp, ea); |
161 | if (!pudp) | 160 | if (!pudp) |
@@ -163,12 +162,11 @@ static int map_io_page(unsigned long ea, unsigned long pa, int flags) | |||
163 | pmdp = pmd_alloc(&init_mm, pudp, ea); | 162 | pmdp = pmd_alloc(&init_mm, pudp, ea); |
164 | if (!pmdp) | 163 | if (!pmdp) |
165 | return -ENOMEM; | 164 | return -ENOMEM; |
166 | ptep = pte_alloc_kernel(&init_mm, pmdp, ea); | 165 | ptep = pte_alloc_kernel(pmdp, ea); |
167 | if (!ptep) | 166 | if (!ptep) |
168 | return -ENOMEM; | 167 | return -ENOMEM; |
169 | set_pte_at(&init_mm, ea, ptep, pfn_pte(pa >> PAGE_SHIFT, | 168 | set_pte_at(&init_mm, ea, ptep, pfn_pte(pa >> PAGE_SHIFT, |
170 | __pgprot(flags))); | 169 | __pgprot(flags))); |
171 | spin_unlock(&init_mm.page_table_lock); | ||
172 | } else { | 170 | } else { |
173 | unsigned long va, vpn, hash, hpteg; | 171 | unsigned long va, vpn, hash, hpteg; |
174 | 172 | ||