On Mon, May 01, 2017 at 09:09:27AM +0200, Takashi Iwai wrote: > commit 6e4cac23c5a648d50b107d1b53e9c4e1120c7943 upstream. > > The FE setups of Intel SST bytcr_rt5640 and bytcr_rt5651 drivers carry > the ignore_suspend flag, and this prevents the suspend/resume working > properly while the stream is running, since SST core code has the > check of the running streams and returns -EBUSY. Drop these > superfluous flags for fixing the behavior. > > Also, the bytcr_rt5640 driver lacks of nonatomic flag in some FE > definitions, which leads to the kernel Oops at suspend/resume like: > > BUG: scheduling while atomic: systemd-sleep/3144/0x00000003 > Call Trace: > dump_stack+0x5c/0x7a > __schedule_bug+0x55/0x70 > __schedule+0x63c/0x8c0 > schedule+0x3d/0x90 > schedule_timeout+0x16b/0x320 > ? del_timer_sync+0x50/0x50 > ? sst_wait_timeout+0xa9/0x170 [snd_intel_sst_core] > ? sst_wait_timeout+0xa9/0x170 [snd_intel_sst_core] > ? remove_wait_queue+0x60/0x60 > ? sst_prepare_and_post_msg+0x275/0x960 [snd_intel_sst_core] > ? sst_pause_stream+0x9b/0x110 [snd_intel_sst_core] > .... > > This patch addresses these appropriately, too. > > [tiwai: applied only to bytcr_rt5640 as bytcr_rt5651 isn't present in > 4.4.x yet] > > Signed-off-by: Takashi Iwai <tiwai@xxxxxxx> > Acked-by: Vinod Koul <vinod.koul@xxxxxxxxx> > Signed-off-by: Mark Brown <broonie@xxxxxxxxxx> > Cc: <stable@xxxxxxxxxxxxxxx> # v4.1+ > --- > > This is the patch modified to be applicable to 4.4.x that failed in > your previous queue. Thanks for the backport, now applied. greg k-h