NetBSD-Bugs archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

port-evbarm/54696: Kernel panic in bus_dma.c on Raspberry Pi 3B/3B+



>Number:         54696
>Category:       port-evbarm
>Synopsis:       Kernel panic in bus_dma.c on Raspberry Pi 3B/3B+
>Confidential:   no
>Severity:       critical
>Priority:       medium
>Responsible:    port-evbarm-maintainer
>State:          open
>Class:          sw-bug
>Submitter-Id:   net
>Arrival-Date:   Wed Nov 13 07:40:00 +0000 2019
>Originator:     David Hopper
>Release:        NetBSD-9BETA (several builds)
>Organization:
>Environment:
GENERIC64 (aarch64 on RPI3B+), several kernel builds
>Description:
Kernel panic on playing audio of any kind through a Class-1 USB audio device on a Raspberry Pi 3B+.  Tested with Puredata (pd) and sox (play), both compiled cleanly from the 11/10 pkgsrc-current.  This is the only audio interface on this device, and I do not know if this is an audio issue, a _USB_ audio issue or an alignment issue of some kind.  The error seems to come from bus_dma.c:

[   153.534940] panic: kernel diagnostic assertion "len > 0 && offset + len <= map->dm_mapsize" failed: file "/usr/src/sys/arch/arm/arm32/bus_dma.c", line 1058 len 0 offset 0 mapsize 8192
[   153.544936] cpu3: Begin traceback...
[   153.554937] trace fp ffffffc0331d79f0
[   153.554937] fp ffffffc0331d7a10 vpanic() at ffffffc000366248 netbsd:vpanic+0x198
[   153.564940] fp ffffffc0331d7a70 kern_assert() at ffffffc00048f904 netbsd:kern_assert+0x5c
[   153.574944] fp ffffffc0331d7b00 _bus_dmamap_sync() at ffffffc000016214 netbsd:_bus_dmamap_sync+0x12c
[   153.584943] fp ffffffc0331d7b70 dwc2_device_start() at ffffffc000213408 netbsd:dwc2_device_start+0x140
[   153.594951] fp ffffffc0331d7bf0 dwc2_device_isoc_transfer() at ffffffc0002138ec netbsd:dwc2_device_isoc_transfer+0x3c
[   153.604950] fp ffffffc0331d7c10 usbd_transfer() at ffffffc00004c370 netbsd:usbd_transfer+0x98
[   153.614954] fp ffffffc0331d7c40 uaudio_trigger_input() at ffffffc00005610c netbsd:uaudio_trigger_input+0xac
[   153.624957] fp ffffffc0331d7c70 audio_rmixer_input() at ffffffc0001dd828 netbsd:audio_rmixer_input+0x80
[   153.634958] fp ffffffc0331d7cd0 audio_rmixer_start() at ffffffc0001dd9a8 netbsd:audio_rmixer_start+0x30
[   153.644961] fp ffffffc0331d7d00 audioread() at ffffffc0001e226c netbsd:audioread+0x6d4
[   153.654963] fp ffffffc0331d7da0 dofileread() at ffffffc0003737d8 netbsd:dofileread+0x70
[   153.664966] fp ffffffc0331d7e20 syscall() at ffffffc000028bcc netbsd:syscall+0x19c
[   153.664966] tf ffffffc0331d7ed0 el0_trap() at ffffffc0000272b8 netbsd:el0_trap
[   153.674964] ---- trapframe 0xffffffc0331d7ed0 (304 bytes) ----
[   153.684968] pc=0000f18c17b98378,   spsr=0000000020000000
[   153.684968] esr=0000000056000003,    far=0000ffffffdd69b0
[   153.694965] x0=0000000000000005,     x1=0000ffffffdd7bd8
[   153.694965] x2=0000000000000100,     x3=0000000000000000
[   153.704967] x4=ffffffffffffffff,     x5=ffffffffffffffff
[   153.714968] x6=000000000000ac44,     x7=00000000ffffffff
[   153.714968] x8=0000000000000018,     x9=0000000000001003
[   153.724970] x10=000000000000000c,    x11=0000000000000001
[   153.724970] x12=0000000000000000,    x13=000003c6305ed158
[   153.734970] x14=00000000001742c8,    x15=0000f18c17b45600
[   153.734970] x16=0000f18c17f81658,    x17=0000f18c17b98374
[   153.744972] x18=0000f18c17f8d820,    x19=0000f18c17f81000
[   153.754972] x20=0000f18c17fe5800,    x21=000000020019ffb0
[   153.754972] x22=0000000000000005,    x23=0000000000000001
[   153.764973] x24=0000ffffffdd7bc0,    x25=0000ffffffdd9c40
[   153.764973] x26=00000002001a0000,    x27=000000020019f000
[   153.774974] x28=0000ffffffdd9c50, fp=x29=0000000000000000
[   153.774974] lr=x30=0000f18c17f68484,     sp=0000ffffffdd7af0
[   153.784976] ------------------------------------------------
[   153.794976] cpu3: End traceback...

If we need more from this I'll have a serial device in a couple days.  I can confirm that this issue does not occur with earmv7hf/6hf, I've only seen it with aarch64 images from Jared McNeill and the several I've compiled myself from -current tracking back to mid-October. 
>How-To-Repeat:
Using a Class-1 USB audio device (I have a Behringer UCA222), try to play audio from a Raspberry Pi 3B or 3B+ (happens on both) using the aarch64 GENERIC64 kernel.
>Fix:



Home | Main Index | Thread Index | Old Index