Hi,
Dne petek, 02. marec 2018 ob 13:40:50 CET je Mark Brown napisal(a):
On Thu, Mar 01, 2018 at 11:23:57PM +0100, Jernej Škrabec wrote:
I removed parts of the code from the sun4i codec driver and interestingly it doesn't crash if I remove following lines:
ret = devm_snd_dmaengine_pcm_register(&pdev->dev, NULL, 0); if (ret) {
dev_err(&pdev->dev, "Failed to register against DMAEngine\n"); goto err_assert_reset;
}
Is it possible that NULL pointer causes troubles somewhere down the line?
Shouldn't be, that's just the configuration which is optional and not what we're crashing trying to register, we can mostly configure things by querying the capabilities of the DMA controller via the dmaengine API these days. You're removing all the DMA support there so cutting out a huge segment of the initialization of both this driver and the machine driver. Other sunxi devices seem to be starting happily in -next so there's something system dependent here...
I enabled memory debugging and it seems that there is an issue caused by loading sun4i-codec driver and it is somehow connected to snd_dmaengine_pcm_unregister().
Here is relevant dmesg: https://pastebin.com/raw/80K9GPnB
Does this tell anything?
Best regards, Jernej