Hi Vinod, On Mon, 28 Jul 2014, Guennadi Liakhovetski wrote: > > Looking at the code again, I think we need to free irq (you can call > > devm_free_irq()) and call syncronize_irq so that anything pending is > > flushed. So if you can send follow up patch doing these in .remove, we can > > merge these > > This is a nice offer, thanks! But to accept it I'd like to understand: why > do you think we need that? In my previous email I presented to you a > theoretical and improbable race situation, that I can foresee. You erased > it in your reply, but it was dealing with the > .device_free_chan_resources() method, so, your suspected race is a > different one. Could you please explain to me, why do you think interrupts > are possible during .release()? Aren't all channels guaranteed to have > been freed by that time? It would be great to get an explanation for your comment, please? How can interrupts come after all channels have been freed? Or how can .release() be called while some channels are still in use? Thanks Guennadi -- 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