Maciej, In previous version of your patch there was the change in mm/c-r3k.c: static void r3k_dma_cache_wback_inv(unsigned long start, unsigned long size) { - wbflush(); + iob(); r3k_flush_dcache_range(start, start + size); } Why did you drop it? It's definetely required. While you patch operates in unusual terms from hw point of view, it does right thins by stating that external wbs do differ from internal wb. Regards, Gleb. Ah. The patch shall be applied, certainly.