[alsa-devel] Can not rmmod snd_hda_codec_hdmi

Takashi Sakamoto o-takashi at sakamocchi.jp
Wed Dec 24 13:28:33 CET 2014


On Dec 24 2014 20:54, Xuebing Wang wrote:
> Anssi, thanks for your help.
> 
> 1) In Fedora 21 (kernel 3.17.4), 
> 'fuser -v /dev/snd/*' shows below:
> /dev/snd/controlC0:  xbing      2400 F.... pulseaudio
> /dev/snd/controlC1:  xbing      2400 F.... pulseaudio
> /dev/snd/pcmC0D3p:   xbing      2400 F...m pulseaudio
> /dev/snd/pcmC1D0c:   xbing      2400 F...m pulseaudio
> /dev/snd/pcmC1D0p:   xbing      2400 F...m pulseaudio
> 
> After 'pulseaudio --kill' to kill pulseaudio (after disable autospawn),
> lsmod shows refcount of snd_hda_intel is down from 7 to 2 as below:
> $ lsmod | grep hda_intel
> snd_hda_intel          30479  2
> 
> 'rmmod snd_hda_intel' still shows this module is in use.
> 
> 2) But, in Ubuntu 14.04.1 (kernel 3.13.0) DOES work after 'pulseaudio --kill', because lsmod shows refcount of snd_hda_intel is 5.
> 
> Any suggestions? Could it be because of kernel difference 3.17.4 vs 3.13.0?

In Ubuntu, pulseaudio process re-run even if you kill the process. See:
https://wiki.ubuntu.com/PulseAudio/Log

But in this case, you don't need to kill pulseaudio. You just set 'off'
for card profile, or unload alsa-card module. Then these character
devices are released.

The way to set card profile:
$ pactl list cards | grep Card
Card #3
$ pactl set-card-profile 3 off

Or use 'configuration' tab in pavucontrol GUI. In Ubuntu, this
application is released by 'pavucontrol' package.

The way to unload alsa-card module:
$ pactl list modules | grep alsa
(... you can see module-alsa-card is loaded.)
$ pactl unload-module module-alsa-card
$ pactl list modules | grep alsa
(... you can see module-alsa-card is unloaded.)


Regards

Takashi Sakamoto
o-takashi at sakamocchi.jp



More information about the Alsa-devel mailing list