Browse Source

x86: use remove_vm_are in ioremap_32 error path

When ioremap_page_range fails, then we can use remove_vm_area instead
of vunmap safely.

Signed-off-by: Thomas Gleixner <tglx@linutronix.de>

Signed-off-by: Ingo Molnar <mingo@elte.hu>
Thomas Gleixner 17 years ago
parent
commit
e4c1b977f0
1 changed files with 1 additions and 1 deletions
  1. 1 1
      arch/x86/mm/ioremap_32.c

+ 1 - 1
arch/x86/mm/ioremap_32.c

@@ -118,7 +118,7 @@ void __iomem *__ioremap(unsigned long phys_addr, unsigned long size,
 	addr = (void __iomem *) area->addr;
 	if (ioremap_page_range((unsigned long)addr, (unsigned long)addr + size,
 			       phys_addr, pgprot)) {
-		vunmap((void __force *) addr);
+		remove_vm_area((void *)(PAGE_MASK & (unsigned long) addr));
 		return NULL;
 	}