On 07/21/2014 10:22 AM, Lars-Peter Clausen wrote: > On 07/20/2014 07:58 PM, Javier Martinez Canillas wrote: >> >> If this should not really happen and this patch is only a workaround since the >> bug is elsewhere, please give me some hints and I'll try to fix it properly. I'm >> not familiar with the PL330 DMA controller but just found what was the NULL >> pointer being dereferenced and looked at your changes to see what was different now. > > I think the patch is fine as a quick workaround since it is simple and the > previous commit broke previously working code. > Agreed, it matches what the old code was doing and other code is relying on this behavior so works as a quick fix to avoid the current kernel oops. > The long term fix is to stop calling dma_pl330_rqcb() from > pl330_release_channel(). The first thing is you wouldn't expect any transfer > to be active when the channel is released. And even if it was by accident we > should not call the descriptor callback, but rather but it just back onto > the descriptor pool. Thanks a lot for the clarification. I thought it was something along the lines of not calling the callback from pl330_release_channel() but preferred to not change anything that I could not completely understand its side effects. I'll study the driver more deeply and try to come up with a patch on top of this one that fixes the actual cause rather than the consequence. > > - Lars > Best regards, Javier -- 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