[alsa-devel] [PATCH] Dmux mixer conflict
Takashi Iwai
tiwai at suse.de
Wed Dec 19 10:27:56 CET 2007
At Tue, 18 Dec 2007 17:40:05 -0500,
Matthew Ranostay wrote:
>
> DMUX mixers need to be created before input source mixers, otherwise
> some STAC9228 codecs fail to record correctly or at all.
>
> ---
> Signed-off-by: Matthew Ranostay <mranostay at embeddedalley.com>
The fix looks doubtful. The order of mixer elements should be
irrelevant with the functionality.
I suspect it might be the result of failure of 'alsactl restore'.
Some distros don't call alsactl properly with -F option.
(This option is set default in the latest HG version now.)
Takashi
> diff -r fbe3540c8df4 pci/hda/patch_sigmatel.c
> --- a/pci/hda/patch_sigmatel.c Tue Dec 18 18:05:52 2007 +0100
> +++ b/pci/hda/patch_sigmatel.c Tue Dec 18 15:27:34 2007 -0700
> @@ -834,15 +834,16 @@ static int stac92xx_build_controls(struc
> if (err < 0)
> return err;
>
> - for (i = 0; i < spec->num_mixers; i++) {
> - err = snd_hda_add_new_ctls(codec, spec->mixers[i]);
> - if (err < 0)
> - return err;
> - }
> if (spec->num_dmuxes > 0) {
> stac_dmux_mixer.count = spec->num_dmuxes;
> err = snd_ctl_add(codec->bus->card,
> snd_ctl_new1(&stac_dmux_mixer, codec));
> + if (err < 0)
> + return err;
> + }
> +
> + for (i = 0; i < spec->num_mixers; i++) {
> + err = snd_hda_add_new_ctls(codec, spec->mixers[i]);
> if (err < 0)
> return err;
> }
More information about the Alsa-devel
mailing list