Hi Adam, I am very sorry that it took so long until I am now able to respond. First, too many other duties with higher priority came in. Second, the card didn't fail 100% for me after all which made debugging still challenging. But it failed often enough, so I at least have a pointer now. > From what I have been able to determine, the U-Boot code explicitly > disables DMA during the tuning phase: ... > However, Linux does not disable the DMA, and the value of taps is zero > and the tuning ultimately fails. I disabled DMA while tuning but it did not help. It finally turns out that adding a delay after each tuning command seems to help. U-Boot does this but Marek (the driver author for U-Boot) cannot recall why he added the delay. I'll send a patch in some minutes. All the best, Wolfram