Nicolas Pitre wrote: > Data read from a DMA based block device is corrupted in memory and > causing all sorts of misbehavior such as segmentation faults in user > space, or EXT2 complaining about broken filesystem metadata. I doubt it is related, but just in case: I've seen similar on a no-doubt completely unrelated ARM9 system on now-ancient kernels: occasional ext3 metadata corruption. In my case it was due to a bug in the chip's IDE driver, which did: 1. Setup DMA address register. 2. Appropriate cache flushes. 3. Write to remaining DMA registers to start DMA. It turned out step 1 causes the DMA controller to begin reading from that address into an internal 128-byte FIFO, before officially starting DMA. Moving step 2 before step 1 fixed that. -- Jamie -- To unsubscribe from this list: send the line "unsubscribe linux-mmc" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html