ALSA: x86: Fix sleep-in-atomic via i915 notification
authorTakashi Iwai <tiwai@suse.de>
Tue, 31 Jan 2017 15:26:10 +0000 (16:26 +0100)
committerTakashi Iwai <tiwai@suse.de>
Fri, 3 Feb 2017 16:34:03 +0000 (17:34 +0100)
commit99b2ab9d3aa08824dfefd7d9ad9f2b4c19555d05
tree0564d35d0debaf48e6bae5a01ea189a1a64a3b3c
parentf6a82a0c01e51dd494b6eb68861473368355e58b
ALSA: x86: Fix sleep-in-atomic via i915 notification

i915 notification is executed in a spinlock, thus it must not sleep;
i.e. we can't use kmalloc with GFP_KERNEL or such.

For making it working properly, move the notification handler in a
work, and handle it gracefully.  We have already such a work, and it
was used just at the start.  This can be re-used in a more generic
hotplug handling.

Also, the patch adds the proper call of cancel_work_sync() to the
destructor.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
sound/x86/intel_hdmi_audio.c