At Tue, 08 Nov 2011 17:16:56 +0100, David Henningsson wrote:
Hi,
I'm playing around with the reconfig functions of snd-hda-codec and got an OOPS in slave_put. I tried to research this, and I think I've nailed down the problem: the vmaster is not freed on reconfig (presumably, it should be fixed in hda_codec.c:snd_hda_ctls_clear).
Hmm, I don't figure out how it happens. The vmaster is added to the list via snd_hda_add_vmaster() by calling snd_hda_ctl_add().
I'm a little unsure of whether the best thing is to just add it to codec.mixers, keep them in a separate array, or something else. What do you think?
(It's on 3.0, it's a sigmatel/IDT, and I've got the screen captured by a camera if anyone is interested.)
Yes, it'd be interesting. If the bug is easily reproducible, you can capture the oops text by netconsole, too.
thanks,
Takashi