ALSA: hda/realtek - Check beep whitelist before assigning in all codecs
authorTakashi Iwai <tiwai@suse.de>
Thu, 22 Aug 2019 07:55:37 +0000 (09:55 +0200)
committerTakashi Iwai <tiwai@suse.de>
Thu, 22 Aug 2019 07:55:37 +0000 (09:55 +0200)
Some Realtek codec parsers didn't check the availability of PC beep.
Add has_cdefine_beep() check appropriately.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
sound/pci/hda/patch_realtek.c

index b6ae452..1983152 100644 (file)
@@ -2848,7 +2848,8 @@ static int patch_alc268(struct hda_codec *codec)
                return err;
 
        spec = codec->spec;
-       spec->gen.beep_nid = 0x01;
+       if (has_cdefine_beep(codec))
+               spec->gen.beep_nid = 0x01;
 
        spec->shutup = alc_eapd_shutup;
 
@@ -8102,7 +8103,8 @@ static int patch_alc861(struct hda_codec *codec)
                return err;
 
        spec = codec->spec;
-       spec->gen.beep_nid = 0x23;
+       if (has_cdefine_beep(codec))
+               spec->gen.beep_nid = 0x23;
 
 #ifdef CONFIG_PM
        spec->power_hook = alc_power_eapd;
@@ -8203,7 +8205,8 @@ static int patch_alc861vd(struct hda_codec *codec)
                return err;
 
        spec = codec->spec;
-       spec->gen.beep_nid = 0x23;
+       if (has_cdefine_beep(codec))
+               spec->gen.beep_nid = 0x23;
 
        spec->shutup = alc_eapd_shutup;