[ALSA] Don't set up the same PID twice in snd_hda_multi_out_analog_prepare
Takashi Iwai [Fri, 28 Jul 2006 12:44:31 +0000 (14:44 +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 399860c..ff29d0f 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 */