diff options
author | Takashi Iwai <tiwai@suse.de> | 2009-12-22 01:52:49 -0500 |
---|---|---|
committer | Takashi Iwai <tiwai@suse.de> | 2009-12-22 01:52:49 -0500 |
commit | d8d881dd2c814e1500558889d800cf78d11cf898 (patch) | |
tree | eb17bee1d30305f39a9ee937c4b5d8c469767603 /sound | |
parent | de8853bc38ceab1fa7e7f723b21430d4aad60fea (diff) |
ALSA: hda - Fix NULL dereference with enable_beep=0 option
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Diffstat (limited to 'sound')
-rw-r--r-- | sound/pci/hda/patch_sigmatel.c | 19 |
1 files changed, 10 insertions, 9 deletions
diff --git a/sound/pci/hda/patch_sigmatel.c b/sound/pci/hda/patch_sigmatel.c index 3d59f8325848..417fb22ae83c 100644 --- a/sound/pci/hda/patch_sigmatel.c +++ b/sound/pci/hda/patch_sigmatel.c | |||
@@ -3779,15 +3779,16 @@ static int stac92xx_parse_auto_config(struct hda_codec *codec, hda_nid_t dig_out | |||
3779 | err = snd_hda_attach_beep_device(codec, nid); | 3779 | err = snd_hda_attach_beep_device(codec, nid); |
3780 | if (err < 0) | 3780 | if (err < 0) |
3781 | return err; | 3781 | return err; |
3782 | /* IDT/STAC codecs have linear beep tone parameter */ | 3782 | if (codec->beep) { |
3783 | codec->beep->linear_tone = 1; | 3783 | /* IDT/STAC codecs have linear beep tone parameter */ |
3784 | /* if no beep switch is available, make its own one */ | 3784 | codec->beep->linear_tone = 1; |
3785 | caps = query_amp_caps(codec, nid, HDA_OUTPUT); | 3785 | /* if no beep switch is available, make its own one */ |
3786 | if (codec->beep && | 3786 | caps = query_amp_caps(codec, nid, HDA_OUTPUT); |
3787 | !((caps & AC_AMPCAP_MUTE) >> AC_AMPCAP_MUTE_SHIFT)) { | 3787 | if (!(caps & AC_AMPCAP_MUTE)) { |
3788 | err = stac92xx_beep_switch_ctl(codec); | 3788 | err = stac92xx_beep_switch_ctl(codec); |
3789 | if (err < 0) | 3789 | if (err < 0) |
3790 | return err; | 3790 | return err; |
3791 | } | ||
3791 | } | 3792 | } |
3792 | } | 3793 | } |
3793 | #endif | 3794 | #endif |