]> git.proxmox.com Git - mirror_ubuntu-artful-kernel.git/commitdiff
ALSA: x86: Clear the pdata.notify_lpe_audio pointer before teardown
authorVille Syrjälä <ville.syrjala@linux.intel.com>
Thu, 27 Apr 2017 16:02:21 +0000 (19:02 +0300)
committerSeth Forshee <seth.forshee@canonical.com>
Mon, 24 Jul 2017 12:54:19 +0000 (07:54 -0500)
BugLink: http://bugs.launchpad.net/bugs/1706067
commit 8d5c30308d7c5a17db96fa5452c0232f633377c2 upstream.

Clear the notify function pointer in the platform data before we tear
down the driver. Otherwise i915 would end up calling a stale function
pointer and possibly explode.

Cc: Takashi Iwai <tiwai@suse.de>
Cc: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
Link: http://patchwork.freedesktop.org/patch/msgid/20170427160231.13337-3-ville.syrjala@linux.intel.com
Reviewed-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Signed-off-by: Seth Forshee <seth.forshee@canonical.com>
sound/x86/intel_hdmi_audio.c

index bfac6f21ae5e183eaa9efec113cde1e8e5f4a833..5b89662493c9571c046cd1b2c881c733d441b921 100644 (file)
@@ -1665,6 +1665,11 @@ static int __maybe_unused hdmi_lpe_audio_resume(struct device *dev)
 static void hdmi_lpe_audio_free(struct snd_card *card)
 {
        struct snd_intelhad *ctx = card->private_data;
+       struct intel_hdmi_lpe_audio_pdata *pdata = ctx->dev->platform_data;
+
+       spin_lock_irq(&pdata->lpe_audio_slock);
+       pdata->notify_audio_lpe = NULL;
+       spin_unlock_irq(&pdata->lpe_audio_slock);
 
        cancel_work_sync(&ctx->hdmi_audio_wq);