On Mon, Jan 19, 2009 at 12:23:03PM +0200, Tomi Valkeinen wrote:
> Hi,
> 
> 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.
> 
> OMAP spesific ioremap code doesn't do much, so I think it's somewhere in
> generic ARM code. I looked at the ioremap code and for larger areas the
> code uses area sections, and I believe the bug is somewhere there. 

In unmap_area_sections(), try changing:

        unsigned long addr = virt, end = virt + (size & ~SZ_1M);

to

        unsigned long addr = virt, end = virt + (size & ~(SZ_1M - 1));
--
To unsubscribe from this list: send the line "unsubscribe linux-omap" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to