[alsa-devel] PM issue with Intel SST Atom driver

Vinod Koul vinod.koul at intel.com
Mon Apr 24 11:12:14 CEST 2017


On Mon, Apr 24, 2017 at 11:00:45AM +0200, Takashi Iwai wrote:
 
> Removing ignore_suspend makes the PM succeeds.  But it hits some other
> ugly kernel bugs.

Okay have you marked .nonatomic = true for the machine DAIs?

> 
> At suspending:
> 
> [  567.913706] WARNING: CPU: 3 PID: 3144 at ../kernel/softirq.c:161 __local_bh_enable_ip+0x71/0x90
> [  567.913842] CPU: 3 PID: 3144 Comm: systemd-sleep Tainted: G         C O    4.11.0-rc7-3.g64b92e2-default #1
> [  567.913847] Call Trace:
> [  567.913861]  dump_stack+0x5c/0x7a
> [  567.913869]  __warn+0xbe/0xe0
> [  567.913879]  __local_bh_enable_ip+0x71/0x90
> [  567.913891]  sst_create_block+0x83/0xd0 [snd_intel_sst_core]
> [  567.913906]  sst_create_block_and_ipc_msg+0x4a/0x70 [snd_intel_sst_core]
> [  567.913920]  sst_prepare_and_post_msg+0x1a0/0x960 [snd_intel_sst_core]
> [  567.913936]  sst_pause_stream+0x9b/0x110 [snd_intel_sst_core]
> [  567.913952]  sst_platform_pcm_trigger+0x123/0x1b0 [snd_soc_sst_atom_hifi2_platform]
> [  567.913980]  soc_pcm_trigger+0xa0/0x120 [snd_soc_core]
> [  567.913996]  ? sst_soc_complete+0xa0/0xa0 [snd_soc_sst_atom_hifi2_platform]
> [  567.914012]  dpcm_fe_dai_do_trigger+0xc8/0x1f0 [snd_soc_core]
> [  567.914034]  snd_pcm_do_suspend+0x3d/0x40 [snd_pcm]
> [  567.914054]  snd_pcm_action_single+0x2a/0x70 [snd_pcm]
> [  567.914065]  snd_pcm_suspend+0x2c/0x40 [snd_pcm]
> [  567.914076]  snd_pcm_suspend_all+0x32/0x70 [snd_pcm]
> [  567.914092]  snd_soc_suspend+0x15c/0x3d0 [snd_soc_core]
> [  567.914102]  sst_soc_prepare+0x23/0xa0 [snd_soc_sst_atom_hifi2_platform]
> [  567.914108]  dpm_prepare+0x237/0x480
> [  567.914113]  dpm_suspend_start+0xd/0x50
> [  567.914117]  suspend_devices_and_enter+0xac/0x6f0
> [  567.914123]  pm_suspend+0x304/0x380
> [  567.914128]  state_store+0x5e/0x90
> [  567.914134]  kernfs_fop_write+0xfc/0x190
> [  567.914140]  __vfs_write+0x23/0x140
> [  567.914146]  ? handle_mm_fault+0xd3/0x240
> [  567.914148]  ? security_file_permission+0x36/0xb0
> [  567.914151]  vfs_write+0xb0/0x190
> [  567.914156]  SyS_write+0x42/0x90
> [  567.914160]  entry_SYSCALL_64_fastpath+0x1e/0xad
> [  567.914164] ---[ end trace b3703d94611f9a06 ]---
> [  567.914176] BUG: scheduling while atomic: systemd-sleep/3144/0x00000003
> [  567.914260] CPU: 3 PID: 3144 Comm: systemd-sleep Tainted: G        WC O    4.11.0-rc7-3.g64b92e2-default #1
> [  567.914262] Call Trace:
> [  567.914273]  dump_stack+0x5c/0x7a
> [  567.914278]  __schedule_bug+0x55/0x70
> [  567.914284]  __schedule+0x63c/0x8c0
> [  567.914290]  schedule+0x3d/0x90
> [  567.914295]  schedule_timeout+0x16b/0x320
> [  567.914301]  ? del_timer_sync+0x50/0x50
> [  567.914308]  ? sst_wait_timeout+0xa9/0x170 [snd_intel_sst_core]
> [  567.914313]  ? sst_wait_timeout+0xa9/0x170 [snd_intel_sst_core]
> [  567.914316]  ? remove_wait_queue+0x60/0x60
> [  567.914321]  ? sst_prepare_and_post_msg+0x275/0x960 [snd_intel_sst_core]
> [  567.914326]  ? sst_pause_stream+0x9b/0x110 [snd_intel_sst_core]
> [  567.914333]  ? sst_platform_pcm_trigger+0x123/0x1b0 [snd_soc_sst_atom_hifi2_platform]
> [  567.914346]  ? soc_pcm_trigger+0xa0/0x120 [snd_soc_core]
> [  567.914353]  ? sst_soc_complete+0xa0/0xa0 [snd_soc_sst_atom_hifi2_platform]
> [  567.914365]  ? dpcm_fe_dai_do_trigger+0xc8/0x1f0 [snd_soc_core]
> [  567.914373]  ? snd_pcm_do_suspend+0x3d/0x40 [snd_pcm]
> [  567.914381]  ? snd_pcm_action_single+0x2a/0x70 [snd_pcm]
> [  567.914389]  ? snd_pcm_suspend+0x2c/0x40 [snd_pcm]
> [  567.914396]  ? snd_pcm_suspend_all+0x32/0x70 [snd_pcm]
> [  567.914408]  ? snd_soc_suspend+0x15c/0x3d0 [snd_soc_core]
> [  567.914415]  ? sst_soc_prepare+0x23/0xa0 [snd_soc_sst_atom_hifi2_platform]
> [  567.914418]  ? dpm_prepare+0x237/0x480
> [  567.914421]  ? dpm_suspend_start+0xd/0x50
> [  567.914423]  ? suspend_devices_and_enter+0xac/0x6f0
> [  567.914426]  ? pm_suspend+0x304/0x380
> [  567.914428]  ? state_store+0x5e/0x90
> [  567.914430]  ? kernfs_fop_write+0xfc/0x190
> [  567.914433]  ? __vfs_write+0x23/0x140
> [  567.914437]  ? handle_mm_fault+0xd3/0x240
> [  567.914439]  ? security_file_permission+0x36/0xb0
> [  567.914442]  ? vfs_write+0xb0/0x190
> [  567.914445]  ? SyS_write+0x42/0x90
> [  567.914447]  ? entry_SYSCALL_64_fastpath+0x1e/0xad
> [  567.914857] BUG: scheduling while atomic: systemd-sleep/3144/0x7fffffff
> [  567.915222] CPU: 1 PID: 3144 Comm: systemd-sleep Tainted: G        WC O    4.11.0-rc7-3.g64b92e2-default #1
> [  567.915231] Call Trace:
> [  567.915300]  dump_stack+0x5c/0x7a
> [  567.915324]  __schedule_bug+0x55/0x70
> [  567.915345]  __schedule+0x63c/0x8c0
> [  567.915375]  schedule+0x3d/0x90
> [  567.915392]  async_synchronize_cookie_domain+0x85/0x130
> [  567.915414]  ? remove_wait_queue+0x60/0x60
> [  567.915472]  dapm_power_widgets+0x3d4/0x9c0 [snd_soc_core]
> [  567.915530]  ? sst_soc_complete+0xa0/0xa0 [snd_soc_sst_atom_hifi2_platform]
> [  567.915579]  ? snd_soc_dapm_stream_event+0x87/0xa0 [snd_soc_core]
> [  567.915628]  ? snd_soc_dapm_stream_event+0x87/0xa0 [snd_soc_core]
> [  567.915674]  ? snd_soc_suspend+0x39c/0x3d0 [snd_soc_core]
> [  567.915699]  ? sst_soc_prepare+0x23/0xa0 [snd_soc_sst_atom_hifi2_platform]
> [  567.915712]  ? dpm_prepare+0x237/0x480
> [  567.915723]  ? dpm_suspend_start+0xd/0x50
> [  567.915738]  ? suspend_devices_and_enter+0xac/0x6f0
> [  567.915749]  ? pm_suspend+0x304/0x380
> [  567.915757]  ? state_store+0x5e/0x90
> [  567.915771]  ? kernfs_fop_write+0xfc/0x190
> [  567.915785]  ? __vfs_write+0x23/0x140
> [  567.915800]  ? handle_mm_fault+0xd3/0x240
> [  567.915814]  ? security_file_permission+0x36/0xb0
> [  567.915824]  ? vfs_write+0xb0/0x190
> [  567.915834]  ? SyS_write+0x42/0x90
> [  567.915846]  ? entry_SYSCALL_64_fastpath+0x1e/0xad
> 
> 
> ... and at resume:
> 
> [  574.320255] BUG: scheduling while atomic: alsa-source-3/1729/0x00000003
> [  574.320435] CPU: 1 PID: 1729 Comm: alsa-source-3 Tainted: G        WC O    4.11.0-rc7-3.g64b92e2-default #1
> [  574.320440] Call Trace:
> [  574.320474]  dump_stack+0x5c/0x7a
> [  574.320484]  __schedule_bug+0x55/0x70
> [  574.320493]  __schedule+0x63c/0x8c0
> [  574.320503]  schedule+0x3d/0x90
> [  574.320509]  schedule_timeout+0x16b/0x320
> [  574.320517]  ? del_timer_sync+0x50/0x50
> [  574.320529]  ? sst_wait_timeout+0xa9/0x170 [snd_intel_sst_core]
> [  574.320535]  ? sst_wait_timeout+0xa9/0x170 [snd_intel_sst_core]
> [  574.320539]  ? remove_wait_queue+0x60/0x60
> [  574.320546]  ? sst_prepare_and_post_msg+0x275/0x960 [snd_intel_sst_core]
> [  574.320553]  ? sst_resume_stream+0x5b/0x100 [snd_intel_sst_core]
> [  574.320564]  ? sst_platform_pcm_trigger+0x6b/0x1b0 [snd_soc_sst_atom_hifi2_platform]
> [  574.320586]  ? soc_pcm_trigger+0xa0/0x120 [snd_soc_core]
> [  574.320603]  ? dpcm_fe_dai_do_trigger+0xc8/0x1f0 [snd_soc_core]
> [  574.320618]  ? snd_pcm_action_single+0x2a/0x70 [snd_pcm]
> [  574.320628]  ? snd_pcm_common_ioctl1+0x2e5/0xc60 [snd_pcm]
> [  574.320634]  ? do_signal+0x23/0x670
> [  574.320644]  ? snd_pcm_capture_ioctl1+0x117/0x280 [snd_pcm]
> [  574.320648]  ? ktime_get_ts64+0x4a/0xf0
> [  574.320659]  ? snd_pcm_capture_ioctl+0x2a/0x30 [snd_pcm]
> [  574.320663]  ? do_vfs_ioctl+0x8f/0x5d0
> [  574.320667]  ? __fget+0x70/0xc0
> [  574.320671]  ? SyS_ioctl+0x74/0x80
> [  574.320675]  ? entry_SYSCALL_64_fastpath+0x1e/0xad
> [  574.320799] show_signal_msg: 8 callbacks suppressed
> [  574.320805] alsa-source-3[1729]: segfault at 7f28e8052000 ip 00007f28f635eac4 sp 00007f28f0ad4be8 error 6
> [  574.320882] BUG: scheduling while atomic: alsa-source-3/1729/0x7fffffff
> [  574.321040] CPU: 1 PID: 1729 Comm: alsa-source-3 Tainted: G        WC O    4.11.0-rc7-3.g64b92e2-default #1
> [  574.321043] Call Trace:
> [  574.321068]  dump_stack+0x5c/0x7a
> [  574.321076]  __schedule_bug+0x55/0x70
> [  574.321083]  __schedule+0x63c/0x8c0
> [  574.321093]  ? wakeup_preempt_entity.isra.58+0x3c/0x50
> [  574.321097]  schedule+0x3d/0x90
> [  574.321104]  schedule_timeout+0x25a/0x320
> [  574.321109]  ? check_preempt_curr+0x79/0x90
> [  574.321113]  ? select_task_rq_rt+0x57/0xa0
> [  574.321117]  ? sched_clock+0x5/0x10
> [  574.321120]  ? sched_clock_cpu+0xc/0xc0
> [  574.321124]  ? wait_for_completion+0xe6/0x150
> [  574.321128]  ? wait_for_completion+0xe6/0x150
> [  574.321131]  ? wake_up_q+0x80/0x80
> [  574.321135]  ? do_coredump+0x3ab/0xf10
> [  574.321139]  ? __wake_up+0x34/0x50
> [  574.321144]  ? get_signal+0x33b/0x660
> [  574.321150]  ? do_signal+0x23/0x670
> [  574.321154]  ? __send_signal+0x213/0x4d0
> [  574.321160]  ? force_sig_info_fault+0x88/0xd0
> [  574.321166]  ? exit_to_usermode_loop+0x71/0xb0
> [  574.321169]  ? prepare_exit_to_usermode+0x2a/0x30
> [  574.321172]  ? retint_user+0x8/0x10
> 
> 
> There seem many beasts hidden in this jungle...
> 
> 
> Takashi

-- 
~Vinod


More information about the Alsa-devel mailing list