On 11/08/2011 05:36 PM, Takashi Iwai wrote:
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().
You're correct. It must be some other error.
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.
I haven't had the time to troubleshoot further yet (and thus I don't know if it's reproducible), but at least I've uploaded the requested information:
https://bugs.launchpad.net/ubuntu/+source/alsa-driver/+bug/888081/+attachmen...
https://bugs.launchpad.net/ubuntu/+source/alsa-driver/+bug/888081/+attachmen...
(Sorry about the bad quality of that picture, I think most of it should be readable at least)