ALSA: hda - Fix missing beep detach in patch_conexant.c
This leaks the beep input device after module unload, which leads to Oops. Bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=55321 Signed-off-by: Takashi Iwai <tiwai@suse.de>
This commit is contained in:
parent
9ad477a145
commit
31b6945a89
@ -3191,11 +3191,17 @@ static int cx_auto_build_controls(struct hda_codec *codec)
|
|||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static void cx_auto_free(struct hda_codec *codec)
|
||||||
|
{
|
||||||
|
snd_hda_detach_beep_device(codec);
|
||||||
|
snd_hda_gen_free(codec);
|
||||||
|
}
|
||||||
|
|
||||||
static const struct hda_codec_ops cx_auto_patch_ops = {
|
static const struct hda_codec_ops cx_auto_patch_ops = {
|
||||||
.build_controls = cx_auto_build_controls,
|
.build_controls = cx_auto_build_controls,
|
||||||
.build_pcms = snd_hda_gen_build_pcms,
|
.build_pcms = snd_hda_gen_build_pcms,
|
||||||
.init = snd_hda_gen_init,
|
.init = snd_hda_gen_init,
|
||||||
.free = snd_hda_gen_free,
|
.free = cx_auto_free,
|
||||||
.unsol_event = snd_hda_jack_unsol_event,
|
.unsol_event = snd_hda_jack_unsol_event,
|
||||||
#ifdef CONFIG_PM
|
#ifdef CONFIG_PM
|
||||||
.check_power_status = snd_hda_gen_check_power_status,
|
.check_power_status = snd_hda_gen_check_power_status,
|
||||||
|
Loading…
Reference in New Issue
Block a user