[alsa-devel] Question about struct snd_soc_dai() :: cpu_dai->codec

Vinod Koul vinod.koul at intel.com
Wed Jul 27 19:21:26 CEST 2016


On Wed, Jul 27, 2016 at 07:57:05AM +0200, Takashi Iwai wrote:
> On Wed, 27 Jul 2016 05:21:11 +0200,
> Vinod Koul wrote:
> > 
> > On Tue, Jul 26, 2016 at 05:41:56AM +0000, Kuninori Morimoto wrote:
> > > 
> > > Hi ALSA SoC
> > > 
> > > My current headache is ALSA SoC's each modules (= Card/Codec/CPU/Platform)
> > > doesn't care about "unbind/rmmod".
> > > For example, if someone unbinded/rmmoded "Codec", Card or other modules
> > > doesn't know about it. Thus, user can continue to use this sound card,
> > > and kernel will be Oops.
> > 
> > Are you sure about this? Have you tried removing a module?
> > 
> > During card probe, asoc will hold a reference to the component. See the
> > calls to try_module_get(). This will prevent from unloading under normal
> > cases.
> 
> For unloading the module, yes, it should have been prevented by
> managing the module refcount.  However, unbinding can't be stopped by
> that.  It's a known problem.

Oh yes, unload is an issue. Are these any solutions to prevent this?

In core, should we de-register the card if one of the components exits. The
.remove should be called for the driver, thus triggering unregister?

-- 
~Vinod


More information about the Alsa-devel mailing list