]> git.baikalelectronics.ru Git - kernel.git/commit
[ARM] fix section-based ioremap
authorRussell King <rmk@dyn-67.arm.linux.org.uk>
Sun, 25 Jan 2009 17:36:34 +0000 (17:36 +0000)
committerRussell King <rmk+kernel@arm.linux.org.uk>
Sun, 25 Jan 2009 17:36:34 +0000 (17:36 +0000)
commitd7eb237f9493b6c877591e34baa506d15c7cc86b
treebb7a1007374c9ce9f60962c22f8bccb31bd6cb44
parentc5e0125168f4ddd8700067f7b00d4dfa5b04d733
[ARM] fix section-based ioremap

Tomi Valkeinen reports:
  Running with latest linux-omap kernel on OMAP3 SDP board, I have
  problem with iounmap(). It looks like iounmap() does not properly
  free large areas. Below is a test which fails for me in 6-7 loops.

for (i = 0; i < 200; ++i) {
vaddr = ioremap(paddr, size);
if (!vaddr) {
printk("couldn't ioremap\n");
break;
}
iounmap(vaddr);
}

The changes to vmalloc.c weren't reflected in the ARM ioremap
implementation.  Turns out the fix is rather simple.

Tested-by: Tomi Valkeinen <tomi.valkeinen@nokia.com>
Tested-by: Matt Gerassimoff <mgeras@gmail.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
arch/arm/mm/ioremap.c