diff --git a/arch/x86/mm/ioremap_32.c b/arch/x86/mm/ioremap_32.c index 5273ac4aa96a7e0bfc46a7ae597acb0ee4085603..4d919c37d1d6211d7213a4bb17e5b05d944a7adb 100644 --- a/arch/x86/mm/ioremap_32.c +++ b/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; }