ALSA: hda - Sanity check of unexpected cap_sync_hook override
authorTakashi Iwai <tiwai@suse.de>
Tue, 19 Jun 2018 10:45:53 +0000 (12:45 +0200)
committerTakashi Iwai <tiwai@suse.de>
Thu, 21 Jun 2018 11:54:37 +0000 (13:54 +0200)
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>
sound/pci/hda/patch_conexant.c
sound/pci/hda/patch_realtek.c

index a9fd057..b7339cb 100644 (file)
@@ -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;
index 32a7a72..d9461ee 100644 (file)
@@ -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;