On Mon, Jan 19, 2009 at 03:49:40PM +0200, Tomi Valkeinen wrote: > The original problem remains, it looks to me that iounmap() doesn't free > the memory, and thus ioremap will fail after couple of loops. > > I get the following error on console: > > vmap allocation for size 16781312 failed: use vmalloc=<size> to increase > size. > > I don't know too much about memory management, but I'll try to dig > deeper in to this. > > What I don't understand is that in __arm_ioremap_pfn() there's > get_vm_area(), and later in the function, in case of error, that area is > vunmap()ed. But there's no vunmap() done anywhere else in the code for > area sections, so who does free it? Yes, the error I pointed out is not the only issue with this code. You might consider trying my patch which was sent in this thread to Matt Gerassimoff. And if you see anyone whinging that it won't work for whatever reason, please ignore them and just test the patch. You will not be disappointed. -- To unsubscribe from this list: send the line "unsubscribe linux-omap" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html