aboutsummaryrefslogtreecommitdiffstats
path: root/arch/arm/mm/dma-mapping.c
diff options
context:
space:
mode:
Diffstat (limited to 'arch/arm/mm/dma-mapping.c')
-rw-r--r--arch/arm/mm/dma-mapping.c11
1 files changed, 10 insertions, 1 deletions
diff --git a/arch/arm/mm/dma-mapping.c b/arch/arm/mm/dma-mapping.c
index ac6a36142fcd..a9bdfcda23f4 100644
--- a/arch/arm/mm/dma-mapping.c
+++ b/arch/arm/mm/dma-mapping.c
@@ -148,6 +148,7 @@ static int __init consistent_init(void)
148{ 148{
149 int ret = 0; 149 int ret = 0;
150 pgd_t *pgd; 150 pgd_t *pgd;
151 pud_t *pud;
151 pmd_t *pmd; 152 pmd_t *pmd;
152 pte_t *pte; 153 pte_t *pte;
153 int i = 0; 154 int i = 0;
@@ -155,7 +156,15 @@ static int __init consistent_init(void)
155 156
156 do { 157 do {
157 pgd = pgd_offset(&init_mm, base); 158 pgd = pgd_offset(&init_mm, base);
158 pmd = pmd_alloc(&init_mm, pgd, base); 159
160 pud = pud_alloc(&init_mm, pgd, base);
161 if (!pud) {
162 printk(KERN_ERR "%s: no pud tables\n", __func__);
163 ret = -ENOMEM;
164 break;
165 }
166
167 pmd = pmd_alloc(&init_mm, pud, base);
159 if (!pmd) { 168 if (!pmd) {
160 printk(KERN_ERR "%s: no pmd tables\n", __func__); 169 printk(KERN_ERR "%s: no pmd tables\n", __func__);
161 ret = -ENOMEM; 170 ret = -ENOMEM;