summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorVille Syrjälä <ville.syrjala@linux.intel.com>2017-04-27 19:02:21 +0300
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2017-07-21 07:00:15 +0200
commit81d6d6cff7a1b4052f4a985e3b4dd7e45d61a6ca (patch)
treeb2c9d18b2fff407b7fde0324565ba90f4bf44d3b
parent4ad8c2aa7bc94e43c4692f56de86362c85ff8002 (diff)
downloadlinux-stable-81d6d6cff7a1b4052f4a985e3b4dd7e45d61a6ca.tar.gz
linux-stable-81d6d6cff7a1b4052f4a985e3b4dd7e45d61a6ca.zip
ALSA: x86: Clear the pdata.notify_lpe_audio pointer before teardown
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>
-rw-r--r--sound/x86/intel_hdmi_audio.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/sound/x86/intel_hdmi_audio.c b/sound/x86/intel_hdmi_audio.c
index bfac6f21ae5e..5b89662493c9 100644
--- a/sound/x86/intel_hdmi_audio.c
+++ b/sound/x86/intel_hdmi_audio.c
@@ -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);