lkml.org 
[lkml]   [2015]   [Jan]   [14]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [alsa-devel] unload Audio drivers while playback stream is active case kernel crash
On 01/14/2015 01:02 PM, Mark Brown wrote:
[...]
>>> I don't think that we need to prevent module unload when a stream is active.
>>> From a framework point of view is not different from hot-unplug. I don't
>>> see a reason why we'd jump through hoops to actively forbid removing the
>>> module once it works just fine.
>
>> Well, the module unload means a more drastic cleanup. Even if you
>> unbind, the code and data are still there while module unload may
>> clean them up all.
>
>> Above all, disallowing the module unload while using is the common
>> behavior of any other drivers. Why do we have to be a rebel against
>> all civil manner? :)
>
> That's not true for everything and for ASoC I'd tend to assume that the
> user knows what they're doing and has a good reason for it; it's
> certainly something that can be helpful in development.


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.

- Lars



\
 
 \ /
  Last update: 2015-01-14 14:01    [W:0.112 / U:0.452 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site