2005-02-23 01:31:13

by Frank Buss

[permalink] [raw]
Subject:

Russell King <[email protected]> wrote:

> Since we map the whole lot in one go, if you get one page, there's no
> reason why you shouldn't get the lot. This is why I'm wondering if
> it has something to do with your other modifications.

my colleage has found the bug: in the function dma_mmap in
arch/arm/mm/consistent.c the call to remap_pfn_range uses user_size in
PAGE_SIZE units, but looks like it is expected in bytes. When using
(user_size << PAGE_SHIFT), it works.

I don't know, where to fix it: Should the lower level calls get the size in
bytes (most function arguments in Linux kernel sources are not commented),
this means fixing the dma_mmap, or should PAGE_SIZE be used, then the lower
level functions needs to be fixed.

--
Frank Bu?, [email protected]
http://www.frank-buss.de, http://www.it4-systems.de