On Mon, Apr 10, 2006 at 12:33:56AM +0200, Andre Draszik wrote: > > Since it _seems_ to work nevertheless - is CONFIG_DEBUG_SLAB known to be > broken on this platform?
Yes, it's very likely that CONFIG_DEBUG_SLAB is the culprit here. This config option changes allocation alignment (it becomes not L1 cache line aligned). For 4xx which has non-coherent L1 cache this with almost 100% probability will break DMA, resulting in memory corruption. You can try changing __dma_sync() to do flush_dcache_range() even for DMA_FROM_DEVICE case. However, do this only to check this theory, not as a permanent solution :). -- Eugene