Dan, After disabling memcopy support in ADMA, file system corruption doesn't seem to happening. I am going to take a look at this channel switching stuff. Regards, Marri On Fri, 2009-07-10 at 10:44 -0700, Tirumala Reddy Marri wrote: > > Thanks Dan. > I see the flags are set in the xxxx_pre_dma_xor. I am hitting > BUG_ON(async_tx_test_ack(depend_tx) || depend_tx->next || tx->parent) > I happening. Looks like some dependency related issue. When I > suppress this by calling async_tx_clear_ack() in xxx_free_slots() > function, that is leading to file-system corruption in the case of > recovery or re-build. > > > The driver I am working on is a different SOC . It is a subset of > (DMA+XOR little different) what emccraft posted. That driver can't be > used as it is. There is another SOC ADMA driver which is completely > different HW from the emccrafts driver. Channel switching can be tricky to debug. One thing you might try is limiting offload to one channel. I.e. if memcpy and xor are provided by different channels then turn off (don't register) the memcpy channels and see if that resolves your issue. If it does then you need to review the iop-adma driver or the Emcraft ppc440spe driver to see what is causing the mishandling of channel switching. -- To unsubscribe from this list: send the line "unsubscribe linux-raid" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html