Patch "ASoC: intel: Fix crash at suspend/resume without card registration" has been added to the 4.8-stable tree
Subsystems (4)
This is a note to let you know that I've just added the patch titled
ASoC: intel: Fix crash at suspend/resume without card registration
to the 4.8-stable tree which can be found at:
http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary
The filename of the patch is:
asoc-intel-fix-crash-at-suspend-resume-without-card-registration.patch
and it can be found in the queue-4.8 subdirectory.
If you, or anyone else, feels it should not be added to the stable tree, please let <[email protected]> know about it.
Quoted 1 line
From
2fc995a87f2efcd803438f07bfecd35cc3d90d32Mon Sep 17 00:00:00 2001
From: Takashi Iwai <[email protected]>
Date: Fri, 25 Nov 2016 16:54:06 +0100
Subject: ASoC: intel: Fix crash at suspend/resume without card registration
From: Takashi Iwai <[email protected]>
commit 2fc995a87f2efcd803438f07bfecd35cc3d90d32 upstream.
When ASoC Intel SST Medfield driver is probed but without codec / card assigned, it causes an Oops and freezes the kernel at suspend/resume,
PM: Suspending system (freeze)
Suspending console(s) (use no_console_suspend to debug)
BUG: unable to handle kernel NULL pointer dereference at 0000000000000018 IP: [<ffffffffc09d9409>] sst_soc_prepare+0x19/0xa0 [snd_soc_sst_mfld_platform] Oops: 0000 [#1] PREEMPT SMP CPU: 0 PID: 1552 Comm: systemd-sleep Tainted: G W 4.9.0-rc6-1.g5f5c2ad-default #1 Call Trace: [<ffffffffb45318f9>] dpm_prepare+0x209/0x460 [<ffffffffb4531b61>] dpm_suspend_start+0x11/0x60 [<ffffffffb40d3cc2>] suspend_devices_and_enter+0xb2/0x710 [<ffffffffb40d462e>] pm_suspend+0x30e/0x390 [<ffffffffb40d2eba>] state_store+0x8a/0x90 [<ffffffffb43c670f>] kobj_attr_store+0xf/0x20 [<ffffffffb42b0d97>] sysfs_kf_write+0x37/0x40 [<ffffffffb42b02bc>] kernfs_fop_write+0x11c/0x1b0 [<ffffffffb422be68>] __vfs_write+0x28/0x140 [<ffffffffb43728a8>] ? apparmor_file_permission+0x18/0x20 [<ffffffffb433b2ab>] ? security_file_permission+0x3b/0xc0 [<ffffffffb422d095>] vfs_write+0xb5/0x1a0 [<ffffffffb422e3d6>] SyS_write+0x46/0xa0 [<ffffffffb4719fbb>] entry_SYSCALL_64_fastpath+0x1e/0xad
Add proper NULL checks in the PM code of mdfld driver.
--- sound/soc/intel/atom/sst-mfld-platform-pcm.c | 6 ++++++ 1 file changed, 6 insertions(+)
sound/soc/intel/atom/sst-mfld-platform-pcm.c +6 -0
@@ -771,6 +771,9 @@ static int sst_soc_prepare(struct devicestruct sst_data *drv =dev_get_drvdata (dev);struct snd_soc_pcm_runtime *rtd; +if (!drv->soc_card) +return 0 ; +/* suspend all pcms first */ snd_soc_suspend (drv->soc_card->dev);snd_soc_poweroff (drv->soc_card->dev);
@@ -793,6 +796,9 @@ static void sst_soc_complete(struct devistruct sst_data *drv =dev_get_drvdata (dev);struct snd_soc_pcm_runtime *rtd; +if (!drv->soc_card) +return ; +/* restart SSPs */ list_for_each_entry (rtd, &drv->soc_card->rtd_list, list) {struct snd_soc_dai *dai = rtd->cpu_dai;
Patches currently in stable-queue which might be from [email protected] are
queue-4.8/alsa-hda-ignore-the-assoc-and-seq-when-comparing-pin-configurations.patch queue-4.8/asoc-intel-fix-crash-at-suspend-resume-without-card-registration.patch queue-4.8/alsa-hda-when-comparing-pin-configurations-ignore-assoc-in-addition-to-seq.patch queue-4.8/alsa-hda-ca0132-add-quirk-for-alienware-15-r2-2016.patch queue-4.8/alsa-hda-gate-the-mic-jack-on-hp-z1-gen3-aio.patch queue-4.8/alsa-usb-audio-add-quickcam-communicate-deluxe-s7500-to-volume_control_quirks.patch queue-4.8/alsa-hda-fix-headset-mic-problem-on-a-dell-laptop.patch queue-4.8/alsa-hiface-fix-m2tech-hiface-driver-sampling-rate-change.patch