Revision 6e4cac23c5a648d50b107d1b53e9c4e1120c7943 authored by Takashi Iwai on 24 April 2017, 12:09:55 UTC, committed by Mark Brown on 25 April 2017, 14:54:30 UTC
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.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
Acked-by: Vinod Koul <vinod.koul@intel.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
Cc: <stable@vger.kernel.org> # v4.1+
1 parent c1ae3cf
History
File Mode Size
Makefile -rw-r--r-- 1.1 KB
lockdep.c -rw-r--r-- 108.7 KB
lockdep_internals.h -rw-r--r-- 5.0 KB
lockdep_proc.c -rw-r--r-- 17.4 KB
lockdep_states.h -rw-r--r-- 233 bytes
locktorture.c -rw-r--r-- 28.3 KB
mcs_spinlock.h -rw-r--r-- 3.5 KB
mutex-debug.c -rw-r--r-- 2.8 KB
mutex-debug.h -rw-r--r-- 1.0 KB
mutex.c -rw-r--r-- 31.0 KB
mutex.h -rw-r--r-- 802 bytes
osq_lock.c -rw-r--r-- 5.3 KB
percpu-rwsem.c -rw-r--r-- 5.1 KB
qrwlock.c -rw-r--r-- 4.0 KB
qspinlock.c -rw-r--r-- 17.8 KB
qspinlock_paravirt.h -rw-r--r-- 15.1 KB
qspinlock_stat.h -rw-r--r-- 7.6 KB
rtmutex-debug.c -rw-r--r-- 4.6 KB
rtmutex-debug.h -rw-r--r-- 1.5 KB
rtmutex.c -rw-r--r-- 46.8 KB
rtmutex.h -rw-r--r-- 1.3 KB
rtmutex_common.h -rw-r--r-- 3.3 KB
rwsem-spinlock.c -rw-r--r-- 6.9 KB
rwsem-xadd.c -rw-r--r-- 18.0 KB
rwsem.c -rw-r--r-- 3.8 KB
rwsem.h -rw-r--r-- 1.9 KB
semaphore.c -rw-r--r-- 7.3 KB
spinlock.c -rw-r--r-- 9.8 KB
spinlock_debug.c -rw-r--r-- 5.5 KB
test-ww_mutex.c -rw-r--r-- 12.8 KB

back to top