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 linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to