Tejun, On 1/21/11, Tejun Heo <tj@xxxxxxxxxx> wrote: > On Fri, Jan 21, 2011 at 05:29:39PM +0530, viresh kumar wrote: >> sda: unknown partition table > > and then this probably is unrelated. So, no IO error is being > reported but the above still fails? How did you verify the read data > are actually the same? Maybe there's a cache alias issue? > This issue is solved now and was related to cache only. As i mentioned earlier Arasan CF controller doesn't xfer data from/to RAM. And so i was using CPU to copy data. After data is passed to libata, in page_unmap, cache was getting invalidated. And so data written by CPU is lost. Now i am using external DMA controller to copy data to CF FIFO, and am able to read/write data to CF card. But i am facing another issue now. I am getting following error sometimes, when i copy > 10 MB of data to CF card. ata1.00: exception Emask 0x0 SAct 0x0 SErr 0x0 action 0x6 frozen ata1.00: BMDMA stat 0x5 ata1.00: failed command: WRITE DMA ata1.00: cmd ca/00:00:3f:7f:3c/00:00:00:00:00/e0 tag 0 dma 131072 out res d0/00:00:3f:7f:3c/00:00:00:00:00/e0 Emask 0x2 (HSM violation) ata1.00: status: { Busy } I debugged it further and found that after data is transferred, altstatus register is returning status 0xd0, which means ATA_BUSY. I am not sure why this must be returned by card after data is transferred? -- viresh -- To unsubscribe from this list: send the line "unsubscribe linux-ide" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html