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

From: Mark Brown
Date: Tue Jan 13 2015 - 16:54:36 EST


On Tue, Jan 13, 2015 at 06:24:44PM +0100, Takashi Iwai wrote:
> Wang, Jiada (ESD) wrote:

> > I am using i.MX6Q sabreSD board, which have imx_wm892 machine driver, wm8962 codec and SSI CPU DAI,

> > I got Kernel crash when unloading audio drivers (playback stream is active)
> > modprobe -r snd_soc_imx_wm8962
> > modprobe -r snd_soc_fsl_ssi
> > modprobe -r snd_soc_wm8962

> The root problem is that you can unload the module while playing.
> The corresponding module refcounts should have been increased during
> used.

> Do we miss [try_]module_get() somewhere in ASoC?

That doesn't help, users can still forcibly unbind the driver at runtime
without loading the module - and there's always the potential for
actually hotpluggable hardware. The teardown paths should be able to
cope somewhat gracefully.

Attachment: signature.asc
Description: Digital signature