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

Takashi Iwai tiwai at suse.de
Wed Jan 14 14:01:33 CET 2015


At Wed, 14 Jan 2015 12:02:28 +0000,
Mark Brown wrote:
> 
> On Wed, Jan 14, 2015 at 11:50:48AM +0100, Takashi Iwai wrote:
> > Lars-Peter Clausen wrote:
> 
> > > > OK, so it's not about active stream.  From the reporter's description,
> > > > I supposed that the module gets unloaded while playing a stream, which
> > > > shouldn't be allowed.
> 
> > > Well one of the ways to trigger this is to remove the module while the 
> > > stream is active. But it is not exclusively a problem module unload problem. 
> > > E.g. the same happens if you hot-unplug the ASoC card.
> 
> > Yes, unbinding can trigger a similar problem, ends up the same bad
> > code path.
> 
> Right, which was my point - we need to be able to cope with the driver
> being removed while in use, unbind is just one path where this could
> happen and the issue isn't specific to unbind.
> 
> > > 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

Hmm, which driver does behave so intentionally?  I'm interested in the
supposed reason behind it.

> 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.

The module unload is never considered to be equivalent with hot
unplug  It's more than that.


Takashi


More information about the Alsa-devel mailing list