From: Erwin Burema <e.burema@freedom.nl>
To: alsa-devel@alsa-project.org, Alexander Tsoy <alexander@tsoy.me>
Cc: Takashi Iwai <tiwai@suse.de>
Subject: Re: [PATCH] Add duplex sound support for USB devices using implicit feedback
Date: Sat, 23 May 2020 20:09:31 +0200 [thread overview]
Message-ID: <1674042.U9NR2fmVFg@alpha-wolf> (raw)
In-Reply-To: <6103f3aba91020ea345e9146da82e52823b7c298.camel@tsoy.me>
On zaterdag 23 mei 2020 19:53:49 CEST Alexander Tsoy wrote:
> В Вс, 10/05/2020 в 20:29 +0200, Erwin Burema пишет:
> > For USB sound devices using implicit feedback the endpoint used for
> > this feedback should be able to be opened twice, once for required
> > feedback and second time for audio data. This way these devices can
> > be put in duplex audio mode. Since this only works if the settings of
> > the endpoint don't change a check is included for this.
> >
> > This fixes bug 207023 ("MOTU M2 regression on duplex audio") and
> > should also fix bug 103751 ("M-Audio Fast Track Ultra usb audio
> > device will not operate full-duplex")
> >
> > Signed-off-by: Erwin Burema <e.burema@gmail.com>
> > ---
>
> This patch seems to cause kernel panic on my system. This happens
> during boot when gdm (with pulseaudio) is starting up.
>
That's interesting, not running gnome (and thus also not running gdm,
currently KDE with SDDM) here so would need to take some time troubleshooting.
Suspect I missed something in the check if both input and output are similarly
configured.
Will see if I can reproduce it and where exactly it goes wrong, in the
meantime would it be possible to test if 5.6 or later show the same issue
since I intially developed the patch against that release?
> $ grep CONFIG_IRQ_FORCED_THREADING /boot/config-5.4.42-gentoo
> CONFIG_IRQ_FORCED_THREADING=y
>
> $ grep threadirqs /proc/cmdline
> BOOT_IMAGE=/vmlinuz-5.4.42-gentoo root=/dev/mapper/vg_system-root ro
> rd.md.uuid=cdf11511:cf0ca8c5:cc165dc3:3d3d248f
> rd.luks.uuid=a5a6e532-af4e-49b2-8178-95e54c293799 rd.lvm.lv=vg_system/root
> rd.lvm.lv=vg_system/swap rd.lvm.lv=vg_system/usr
> resume=/dev/mapper/vg_system-swap
> rootflags=relatime,logbufs=8,logbsize=256k rootfstype=xfs
> init=/lib/systemd/systemd noautogroup loglevel=5 console=ttyS1,115200
> console=tty0 threadirqs mgag200.modeset=1
>
> [ 60.563598] BUG: unable to handle page fault for address:
> ffffb80602983ff0 [ 60.570478] #PF: supervisor write access in kernel mode
> [ 60.575701] #PF: error_code(0x0002) - not-present page
> [ 60.580833] PGD 813498067 P4D 813498067 PUD 813499067 PMD 80e0e0067 PTE 0
> [ 60.587619] Oops: 0002 [#1] PREEMPT SMP NOPTI
> [ 60.591979] CPU: 4 PID: 242 Comm: irq/34-xhci_hcd Tainted: G O
> T 5.4.42-gentoo #1 [ 60.600585] Hardware name: Supermicro H8SCM/H8SCM,
> BIOS 3.5b 03/18/2016 [ 60.607723] RIP: 0010:__memcpy+0x12/0x20
> [ 60.611646] Code: c1 e2 20 48 09 c2 48 31 d3 e9 71 ff ff ff 90 90 90 90
> 90 90 90 90 90 90 0f 1f 44 00 00 48 89 f8 48 89 d1 48 c1 e9 03 83 e2 07
> <f3> 48 a5 89 d1 f3 a4 c3 66 0f 1f 44 00 00 48 89 f8 48 89 d1 f3 a4 [
> 60.630401] RSP: 0018:ffffb806004a3c80 EFLAGS: 00010046
> [ 60.635628] RAX: ffffb80602983ff0 RBX: 0000000000000010 RCX:
> 000000000000000a [ 60.642759] RDX: 0000000000000000 RSI: ffff9d5f6659b000
> RDI: ffffb80602983ff0 [ 60.649883] RBP: ffff9d5f62c38c00 R08:
> 0000000000000002 R09: 0000000000000000 [ 60.657017] R10: 0000000000000002
> R11: 0000000000000001 R12: 0000000000000050 [ 60.664160] R13:
> 0000000000000000 R14: 0000000000079ff0 R15: ffff9d608c1d4908 [ 60.671293]
> FS: 0000000000000000(0000) GS:ffff9d6096b00000(0000)
> knlGS:0000000000000000 [ 60.679380] CS: 0010 DS: 0000 ES: 0000 CR0:
> 0000000080050033
> [ 60.685125] CR2: ffffb80602983ff0 CR3: 000000080f55c000 CR4:
> 00000000000406e0 [ 60.692258] Call Trace:
> [ 60.694719] retire_capture_urb+0x201/0x270 [snd_usb_audio]
> [ 60.700288] snd_complete_urb+0x1b7/0x270 [snd_usb_audio]
> [ 60.705686] __usb_hcd_giveback_urb+0x77/0xe0
> [ 60.710054] xhci_giveback_urb_in_irq.isra.0+0x6d/0x100
> [ 60.715278] xhci_td_cleanup+0xc4/0xe0
> [ 60.719032] xhci_irq+0x825/0x1780
> [ 60.722438] ? __schedule+0x2c3/0x650
> [ 60.726105] ? irq_finalize_oneshot.part.0+0xd0/0xd0
> [ 60.731071] irq_forced_thread_fn+0x25/0x70
> [ 60.735257] irq_thread+0xea/0x170
> [ 60.738672] ? wake_threads_waitq+0x30/0x30
> [ 60.742859] kthread+0xf8/0x130
> [ 60.746005] ? irq_thread_check_affinity+0x90/0x90
> [ 60.750805] ? kthread_park+0x90/0x90
> [ 60.754473] ret_from_fork+0x22/0x40
> [ 60.758053] Modules linked in: ebtable_filter ebtables bridge stp llc
> netconsole wireguard ip6_udp_tunnel udp_tunnel xt_limit xt_comment
> xt_recent xt_multiport xt_MASQUERADE iptable_nat nf_nat
> nf_conntrack_netbios_ns nf_conntrack_broadcast xt_CT ip6table_raw
> iptable_raw snd_seq_midi snd_seq_midi_event amd64_edac_mod kvm_amd kvm
> pcspkr irqbypass uvcvideo videobuf2_vmalloc videobuf2_memops videobuf2_v4l2
> videodev snd_hda_codec_hdmi videobuf2_common snd_hda_intel joydev
> snd_intel_nhlt snd_hda_codec snd_usb_audio sp5100_tco snd_usbmidi_lib
> snd_rawmidi snd_hwdep e1000e snd_hda_core snd_pcm nfsd tcp_yeah tcp_vegas
> sch_fq_codel uas amdgpu crc32c_intel mgag200 drm_vram_helper gpu_sched ttm
> vhost_scsi target_core_mod configfs vhost_net tun tap vhost vhba(O) jc42
> ipmi_si ipmi_devintf ipmi_msghandler fuse eeprom [ 60.828924] CR2:
> ffffb80602983ff0
> [ 60.832245] ---[ end trace 1945ea8b50798a03 ]---
> [ 60.836862] RIP: 0010:__memcpy+0x12/0x20
> [ 60.840797] Code: c1 e2 20 48 09 c2 48 31 d3 e9 71 ff ff ff 90 90 90 90
> 90 90 90 90 90 90 0f 1f 44 00 00 48 89 f8 48 89 d1 48 c1 e9 03 83 e2 07
> <f3> 48 a5 89 d1 f3 a4 c3 66 0f 1f 44 00 00 48 89 f8 48 89 d1 f3 a4 [
> 60.859553] RSP: 0018:ffffb806004a3c80 EFLAGS: 00010046
> [ 60.864778] RAX: ffffb80602983ff0 RBX: 0000000000000010 RCX:
> 000000000000000a [ 60.871911] RDX: 0000000000000000 RSI: ffff9d5f6659b000
> RDI: ffffb80602983ff0 [ 60.879036] RBP: ffff9d5f62c38c00 R08:
> 0000000000000002 R09: 0000000000000000 [ 60.886168] R10: 0000000000000002
> R11: 0000000000000001 R12: 0000000000000050 [ 60.893301] R13:
> 0000000000000000 R14: 0000000000079ff0 R15: ffff9d608c1d4908 [ 60.900453]
> FS: 0000000000000000(0000) GS:ffff9d6096b00000(0000)
> knlGS:0000000000000000 [ 60.908538] CS: 0010 DS: 0000 ES: 0000 CR0:
> 0000000080050033
> [ 60.914276] CR2: ffffb80602983ff0 CR3: 000000080f55c000 CR4:
> 00000000000406e0 [ 60.921411] Kernel panic - not syncing: Fatal exception
> in interrupt [ 60.927783] Kernel Offset: 0x21000000 from
> 0xffffffff81000000 (relocation range:
> 0xffffffff80000000-0xffffffffbfffffff) [ 60.938554] ---[ end Kernel panic
> - not syncing: Fatal exception in interrupt ]---
next prev parent reply other threads:[~2020-05-23 18:10 UTC|newest]
Thread overview: 10+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-05-10 18:29 [PATCH] Add duplex sound support for USB devices using implicit feedback Erwin Burema
2020-05-15 17:13 ` Takashi Iwai
2020-05-23 17:53 ` Alexander Tsoy
2020-05-23 18:09 ` Erwin Burema [this message]
2020-05-24 8:37 ` Takashi Iwai
2020-05-26 21:04 ` Erwin Burema
2020-05-27 7:06 ` Takashi Iwai
2020-05-28 13:11 ` Alexander Tsoy
2020-06-01 16:37 ` Alexander Tsoy
2020-06-02 15:15 ` Takashi Iwai
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1674042.U9NR2fmVFg@alpha-wolf \
--to=e.burema@freedom.nl \
--cc=alexander@tsoy.me \
--cc=alsa-devel@alsa-project.org \
--cc=tiwai@suse.de \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.