[ALSA] Don't set up the same PID twice in snd_hda_multi_out_analog_prepare
authorTakashi Iwai <tiwai@suse.de>
Fri, 28 Jul 2006 12:44:31 +0000 (14:44 +0200)
committerJaroslav Kysela <perex@suse.cz>
Sat, 23 Sep 2006 08:39:27 +0000 (10:39 +0200)
Check the hp_nid whether it's identical with front pin to avoid
the setup of the same widget node twice.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@suse.cz>
sound/pci/hda/hda_codec.c

index 399860c36be9bbb2c3ec9432b774d84c063622c7..ff29d0f16903a2dc20b88e5411465270ebeef113 100644 (file)
@@ -1942,7 +1942,7 @@ int snd_hda_multi_out_analog_prepare(struct hda_codec *codec, struct hda_multi_o
 
        /* front */
        snd_hda_codec_setup_stream(codec, nids[HDA_FRONT], stream_tag, 0, format);
-       if (mout->hp_nid)
+       if (mout->hp_nid && mout->hp_nid != nids[HDA_FRONT])
                /* headphone out will just decode front left/right (stereo) */
                snd_hda_codec_setup_stream(codec, mout->hp_nid, stream_tag, 0, format);
        /* extra outputs copied from front */