The unregister work should be also canceled in snd_hda_detach_beep_device()
function.
Signed-off-by: Jaroslav Kysela <perex@perex.cz>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
struct hda_beep *beep = codec->beep;
if (beep) {
cancel_work_sync(&beep->register_work);
struct hda_beep *beep = codec->beep;
if (beep) {
cancel_work_sync(&beep->register_work);
+ cancel_delayed_work(&beep->unregister_work);
if (beep->enabled)
snd_hda_do_detach(beep);
codec->beep = NULL;
if (beep->enabled)
snd_hda_do_detach(beep);
codec->beep = NULL;