The beep_mode option value was wrongly defined: it must be 0 = off and
1 = on.
Also, evaluate the beep_mode value at snd_hda_attach_beep_device()
properly so that no device is created when beep_mode=0 is given.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
struct hda_beep *beep;
if (!snd_hda_get_bool_hint(codec, "beep"))
- return 0; /* disabled explicitly */
+ return 0; /* disabled explicitly by hints */
+ if (codec->beep_mode == HDA_BEEP_MODE_OFF)
+ return 0; /* disabled by module option */
beep = kzalloc(sizeof(*beep), GFP_KERNEL);
if (beep == NULL)
#include "hda_codec.h"
-#define HDA_BEEP_MODE_ON 0
-#define HDA_BEEP_MODE_OFF 1
+#define HDA_BEEP_MODE_OFF 0
+#define HDA_BEEP_MODE_ON 1
#define HDA_BEEP_MODE_SWREG 2
/* beep information */