Browse Source

ALSA: hda - Fix invalid snd_BUG_ON() in alc271_hp_gate_mic_jack()

The fixup function is called multiple times before parsing the pins,
so snd_BUG_ON() hits when loaded.  Move it to the proper place in the
if block.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
Takashi Iwai 12 years ago
parent
commit
0db75790e2
1 changed files with 5 additions and 4 deletions
  1. 5 4
      sound/pci/hda/patch_realtek.c

+ 5 - 4
sound/pci/hda/patch_realtek.c

@@ -2729,12 +2729,13 @@ static void alc271_hp_gate_mic_jack(struct hda_codec *codec,
 {
 	struct alc_spec *spec = codec->spec;
 
-	if (snd_BUG_ON(!spec->gen.am_entry[1].pin ||
-		       !spec->gen.autocfg.hp_pins[0]))
-		return;
-	if (action == HDA_FIXUP_ACT_PROBE)
+	if (action == HDA_FIXUP_ACT_PROBE) {
+		if (snd_BUG_ON(!spec->gen.am_entry[1].pin ||
+			       !spec->gen.autocfg.hp_pins[0]))
+			return;
 		snd_hda_jack_set_gating_jack(codec, spec->gen.am_entry[1].pin,
 					     spec->gen.autocfg.hp_pins[0]);
+	}
 }
 
 enum {