Browse Source

ALSA: hda - Sanity check of unexpected cap_sync_hook override

There are a couple of places setting cap_sync_hook in the codec
drivers, and they just overwrite the value.  Add a sanity check via
WARN_ON() in case if an old non-NULL value is overridden and
forgotten.

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

+ 1 - 0
sound/pci/hda/patch_conexant.c

@@ -343,6 +343,7 @@ static void cxt_fixup_headphone_mic(struct hda_codec *codec,
 		snd_hdac_regmap_add_vendor_verb(&codec->core, 0x410);
 		break;
 	case HDA_FIXUP_ACT_PROBE:
+		WARN_ON(spec->gen.cap_sync_hook);
 		spec->gen.cap_sync_hook = cxt_update_headset_mode_hook;
 		spec->gen.automute_hook = cxt_update_headset_mode;
 		break;

+ 1 - 0
sound/pci/hda/patch_realtek.c

@@ -4828,6 +4828,7 @@ static void alc_probe_headset_mode(struct hda_codec *codec)
 			spec->headphone_mic_pin = cfg->inputs[i].pin;
 	}
 
+	WARN_ON(spec->gen.cap_sync_hook);
 	spec->gen.cap_sync_hook = alc_update_headset_mode_hook;
 	spec->gen.automute_hook = alc_update_headset_mode;
 	spec->gen.hp_automute_hook = alc_update_headset_jack_cb;