Skip to content

Commit

Permalink
ALSA: hda - Clear path indices properly at each re-evaluation
Browse files Browse the repository at this point in the history
The path indices must be reset at each evaluation of DAC assignment.
Otherwise the badness value will be wrongly calculated and mixers may
be inconsistently assigned.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
  • Loading branch information
Takashi Iwai committed Jan 12, 2013
1 parent 5187ac1 commit cd5be3f
Showing 1 changed file with 10 additions and 0 deletions.
10 changes: 10 additions & 0 deletions sound/pci/hda/hda_generic.c
Original file line number Diff line number Diff line change
Expand Up @@ -1138,6 +1138,16 @@ static int fill_and_eval_dacs(struct hda_codec *codec,
memset(spec->multiout.extra_out_nid, 0, sizeof(spec->multiout.extra_out_nid));
spec->multi_ios = 0;
snd_array_free(&spec->paths);

/* clear path indices */
memset(spec->out_paths, 0, sizeof(spec->out_paths));
memset(spec->hp_paths, 0, sizeof(spec->hp_paths));
memset(spec->speaker_paths, 0, sizeof(spec->speaker_paths));
memset(spec->aamix_out_paths, 0, sizeof(spec->aamix_out_paths));
memset(spec->digout_paths, 0, sizeof(spec->digout_paths));
memset(spec->loopback_paths, 0, sizeof(spec->loopback_paths));
memset(&spec->digin_path, 0, sizeof(spec->digin_path));

badness = 0;

/* fill hard-wired DACs first */
Expand Down

0 comments on commit cd5be3f

Please sign in to comment.