[alsa-devel] Loopback interface: suspend/resume leads to a kernel crash
El boulangero
elboulangero at gmail.com
Thu Jan 31 21:09:13 CET 2013
Hi,
I use the loopback device all the time. It works pretty good, except
when I suspend my computer to RAM. On resume, I've got a kernel call
trace.
Here is the procedure to reproduce this behaviour, it's pretty easy.
# Insert module if needed
$ modprobe snd_aloop pcm_substreams=2
# Let's see how it looks like
$ aplay -l
**** Liste des Périphériques Matériels PLAYBACK ****
carte 0: PCH [HDA Intel PCH], périphérique 0: VT1802 Analog [VT1802 Analog]
Sous-périphériques: 1/1
Sous-périphérique #0: subdevice #0
carte 0: PCH [HDA Intel PCH], périphérique 2: VT1802 HP [VT1802 HP]
Sous-périphériques: 1/1
Sous-périphérique #0: subdevice #0
carte 0: PCH [HDA Intel PCH], périphérique 3: HDMI 0 [HDMI 0]
Sous-périphériques: 1/1
Sous-périphérique #0: subdevice #0
carte 1: Loopback [Loopback], périphérique 0: Loopback PCM [Loopback PCM]
Sous-périphériques: 2/2
Sous-périphérique #0: subdevice #0
Sous-périphérique #1: subdevice #1
carte 1: Loopback [Loopback], périphérique 1: Loopback PCM [Loopback PCM]
Sous-périphériques: 2/2
Sous-périphérique #0: subdevice #0
Sous-périphérique #1: subdevice #1
# Use the loopback device
$ aplay -D hw:1,0,0 sound.wave &
# Suspend computer
$ pm-suspend
# Wake up the computer
That's enough to reproduce this bug. Here are the kernel logs:
[ 181.994434] PM: resume of devices complete after 3301.753 msecs
[ 182.006413] Restarting tasks ... done.
[ 182.006590] ------------[ cut here ]------------
[ 182.006605] kernel BUG at kernel/timer.c:908!
[ 182.006619] video LNXVIDEO:00: Restoring backlight state
[ 182.006621] invalid opcode: 0000 [#1] PREEMPT SMP
[ 182.006640] Modules linked in: snd_aloop af_packet nfsd auth_rpcgss
nfs_acl nfs lockd fscache sunrpc ipv6 loop uvcvideo videobuf2_vmalloc
videobuf2_memops videobuf2_core videodev media joydev hid_generic
usbhid coretemp kvm_intel kvm crc32c_intel ghash_clmulni_intel
aesni_intel xts aes_x86_64 lrw i915 gf128mul i2c_algo_bit intel_agp
intel_gtt drm_kms_helper ablk_helper drm cryptd iTCO_wdt
snd_hda_codec_hdmi i2c_i801 psmouse iTCO_vendor_support
snd_hda_codec_via snd_hda_intel snd_hda_codec snd_hwdep snd_pcm
snd_page_alloc iwlwifi cfg80211 snd_seq snd_seq_device snd_timer snd
ehci_pci button battery ac rtc_cmos microcode video i2c_core soundcore
lpc_ich evdev serio_raw mei wmi ehci_hcd rfkill ext4 crc16 jbd2
mbcache sg sr_mod sd_mod cdrom ahci libahci libata scsi_mod thermal
r8169 mii xhci_hcd
[ 182.006642] CPU 1
[ 182.006642] Pid: 2982, comm: aplay Not tainted 3.8.0-rc5-kdump #1
System76, Inc. Gazelle Professional/Gazelle Professional
[ 182.006646] RIP: 0010:[<ffffffff81063f8f>] [<ffffffff81063f8f>]
add_timer+0xf/0x20
[ 182.006647] RSP: 0018:ffff880214a93d40 EFLAGS: 00010082
[ 182.006647] RAX: 00000000fffe34c9 RBX: ffff88021570e200 RCX: 00000000fffe344c
[ 182.006648] RDX: 000000000001f3ff RSI: 0000000000f42400 RDI: ffff88021492f350
[ 182.006648] RBP: ffff88021492f300 R08: 000000000001f400 R09: 0000000000000020
[ 182.006649] R10: ffff88021588f800 R11: 0000000000000206 R12: 00000000fffffffe
[ 182.006649] R13: ffff880214a3cc00 R14: ffff880214bbc464 R15: ffff88021588f800
[ 182.006650] FS: 00007f3489ed0700(0000) GS:ffff88021f240000(0000)
knlGS:0000000000000000
[ 182.006650] CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033
[ 182.006651] CR2: 0000000000000000 CR3: 00000002148fe000 CR4: 00000000001407e0
[ 182.006652] DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
[ 182.006652] DR3: 0000000000000000 DR6: 00000000ffff0ff0 DR7: 0000000000000400
[ 182.006653] Process aplay (pid: 2982, threadinfo ffff880214a92000,
task ffff880215928000)
[ 182.006653] Stack:
[ 182.006654] ffffffffa0d0947c 00000000000000b4 00000b2c00000003
0000000000003e80
[ 182.006655] ffffffffa02fbe80 ffff880214a3cc00 0000000000000003
ffff880214a3cc00
[ 182.006656] 0000000000000000 0000000000000fa0 ffffffffa02f01b0
0000000000003e80
[ 182.006656] Call Trace:
[ 182.006659] [<ffffffffa0d0947c>] ? loopback_trigger+0x20c/0x2e0 [snd_aloop]
[ 182.006664] [<ffffffffa02f01b0>] ? snd_pcm_action_single+0x30/0x80 [snd_pcm]
[ 182.006667] [<ffffffffa02f86d1>] ? snd_pcm_lib_write1+0x391/0x400 [snd_pcm]
[ 182.006669] [<ffffffffa02f5ab0>] ?
snd_pcm_lib_readv_transfer+0x170/0x170 [snd_pcm]
[ 182.006672] [<ffffffffa02f3f05>] ?
snd_pcm_playback_ioctl1+0x255/0x270 [snd_pcm]
[ 182.006674] [<ffffffffa02f3f47>] ?
snd_pcm_playback_ioctl+0x27/0x30 [snd_pcm]
[ 182.006676] [<ffffffff8115f43f>] ? do_vfs_ioctl+0x8f/0x530
[ 182.006678] [<ffffffff8114e4de>] ? vfs_read+0xfe/0x180
[ 182.006679] [<ffffffff8115f980>] ? sys_ioctl+0xa0/0xc0
[ 182.006681] [<ffffffff814591ad>] ? system_call_fastpath+0x1a/0x1f
[ 182.006691] Code: e9 4c fe ff ff 4d 89 f4 e9 d4 fe ff ff 66 66 66
66 66 66 2e 0f 1f 84 00 00 00 00 00 48 83 3f 00 75 09 48 8b 77 10 e9
a1 fd ff ff <0f> 0b 66 66 66 66 66 66 2e 0f 1f 84 00 00 00 00 00 48 83
ec 08
[ 182.006692] RIP [<ffffffff81063f8f>] add_timer+0xf/0x20
[ 182.006692] RSP <ffff880214a93d40>
I tried to change a few things in the snd_aloop driver, but this code
is way beyond my understanding. I can't fix that myself.
Feel free to contact me if you need more information. Thanks !
Regards,
Arnaud
More information about the Alsa-devel
mailing list