On Mon, Jul 27, 2015 at 01:56:06PM +0200, Lars-Peter Clausen wrote: > On 07/24/2015 07:36 AM, Vinod Koul wrote: > >Nope during terminate flow you are expected to clean up channel. Which mean > >cleaning up all pending descriptors and throwing error. You are required to > >prepare again > > I don't see the necessity to free all descriptors when we call > terminate_all(). What terminate_all() does is stop the current > transfer and remove all pending transfers from the list. The > ultimate cleanup point is when the channel is freed. > > If we take audio or video as an example, you might choose to stop > capture or playback and then later decide to restart it. There is no > reason why we shouldn't be able to re-use the same descriptors over > multiple of such iterations. The only point when the descriptor > needs to be freed if the memory buffer it refers to is freed as well > or the DMA channel is released. Rethink about this and current behaviour I am okay to let go of this one. Yes lets use channel free as ultimate cleanup Thanks -- ~Vinod -- 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