"OneNAND oobfree" revisited

Pete MacKay linux at architechnical.net
Wed Apr 11 19:50:22 EDT 2007


In this conversation between Adrian and Kyungmin it's stated that the
OneNAND driver optimizes memcpy for 32-bit transfers:

http://lists.infradead.org/pipermail/linux-mtd/2007-January/017201.html

While this might work on some platforms, it seems to cause bus errors on
our PXA-270-based machine.  So I replace memcpy, memset, and memcmp with
local routines optimized for 16-bit access and the crashes go away.  I
also tried overriding the optimization with "EXTRA_CFLAGS += -O0" in the
Makefile but I doubt it has any effect.

My issue with this is that I'd have to patch onenand_base.c, or I could
put conditionals in, but either way I'm wondering if there's a cleaner way
to fix this.  Any ideas?





More information about the linux-mtd mailing list