[alsa-devel] unload Audio drivers while playback stream is active case kernel crash

jiwang jiada_wang at mentor.com
Thu Jan 15 05:40:49 CET 2015


Hi
On 01/14/2015 10:43 PM, Fabio Estevam wrote:
> On Wed, Jan 14, 2015 at 10:57 AM, Lars-Peter Clausen <lars at metafoo.de> wrote:
>
>> My personal opinion on this is that disallowing module removal while a
>> driver registered by the module when is in use, while there is no technical
>> reason to do so, is a anti-feature. Whether in ALSA or elsewhere.
>>
>> But looking at the source it seems that this is a core feature of ALSA and
>> at least for the card module itself it will do the ref-counting when a
>> stream is started/stopped. And we even support setting the owner of a card
>> in ASoC. It's just that pretty much no ASoC card driver bothers to set the
>> owner field in the snd_soc_card struct. So this particular problem can be
>> fixed by updating the imx-wm8962 driver to set the owner field.
> Thanks, Lars_Peter. This fixes the issue:
>
> root at freescale /$ modprobe -r snd_soc_imx_wm8962
> modprobe: can't unload module snd_soc_imx_wm8962: Resource temporarily
> unavailable
>
> Will send a patch with your suggestion soon.
I think by set owner field in imx_wm8962 machine driver can fix the 
crash I saw on sabreSD board,
but as this is a generic issue which I suppose should exist on other 
boards with different
machine drivers.

Can we have a more generic fix to this issue?
Or shall we set owner field for all machine drivers?


Thanks,
Jiada


More information about the Alsa-devel mailing list