Re: [PATCH] jffs2 summary allocation

Josh Boyer
2008-04-04T23:21:33Z

On Fri, 2008-04-04 at 16:09 -0700, David Brownell wrote:
> On Friday 04 April 2008, Andrew Morton wrote:
>
> > I'm assuming from the trace that the arm code tried to put that memory
> > under DMA (or at least, passed it into part of the DMA management code to
> > get the various caches sorted out) and that the arm DMA support code
> > doesn't like being given vmalloced memory.
>
> Actually, Documentation/DMA-Mapping.txt has a section right up
> front called "What memory is DMA'able?" ... which despite its
> ungrammatical title, says clearly:
>
> ... This means specifically that you may _not_ use the
> memory/addresses returned from vmalloc() for DMA. ...
>
> So I'm rather surprised to see *ANY* kernel code trying to do
> that. That rule has been in effect for many, many years now.

I don't think it was intentional. You're going through several layers
here:

JFFS2 -> mtd parts -> mtd dataflash -> atmel_spi.

Typically MTD drivers aren't doing DMAs to flash and JFFS2 has no idea
which particular chip driver is being used because it's abstracted by
MTD.

josh