On 01/07/2014 12:56 PM, Fabio Estevam wrote: [...]
Backtrace: [<804aee5c>] (dmaengine_pcm_dma_complete) from [<802e6428>] (sdma_tasklet+0x128) [<802e6300>] (sdma_tasklet) from [<8002c4b8>] (tasklet_action+0x90/0x148) r10:808f64c0 r8:00000000 r7:8089cd24 r6:80894000 r5:00000000 r4:bfaa41b0
[...]
I haven't started debugging it, but if this looks familiar to someone, please let me know.
We've had similar problems like this before. Typically this is caused by the dmaengine driver calling the complete callback when it shouldn't. E.g. after dmaegine_terminate_all() has already been called for the channel. There is also unfortunately a small chance condition (which needs some extensions to the dmaengine API before we can fix it). But the chance for this race condition to occur is really small and has only been observed on a 4 (or 8, not sure) core system so far. Is the problem reproducible in your case? Also do you have a know good kernel version?
Regards,
Fabio Estevam