I've noticed using my burst transfer patch that the dmaengine_pause() functionality added in commit 88987d2c7534a0269f567fb101e6d71a08f0f01d seems irredeemably broken. It uses the DMAKILL instruction to stop the transfer, which appears quite willing to interrupt the transfer at any point (including while data is in flight). This can cause a burst of lost or corrupt data. The only conceivable way I can see to make it work is to have a scheme where the dma transfer thread constantly waits for events at safe pause points using DMAWFE, and another dma thread constantly generates events with DMASEV in order to keep the transfer progressing. Then dmaengine_pause() could indirectly stop things by sending a DMAKILL to the event-generating dma thread, then wait until the dma transfer thread reached a safe waiting point. -- Frank -- To unsubscribe from this list: send the line "unsubscribe dmaengine" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html