aboutsummaryrefslogtreecommitdiffstats
path: root/sound
diff options
context:
space:
mode:
authorTakashi Iwai <tiwai@suse.de>2009-12-22 01:52:49 -0500
committerTakashi Iwai <tiwai@suse.de>2009-12-22 01:52:49 -0500
commitd8d881dd2c814e1500558889d800cf78d11cf898 (patch)
treeeb17bee1d30305f39a9ee937c4b5d8c469767603 /sound
parentde8853bc38ceab1fa7e7f723b21430d4aad60fea (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.c19
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