[Bug 258994] OS panics on Nanopi Neo when using i2c 16-bit device addressing width
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Thu, 07 Oct 2021 23:11:02 UTC
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=258994
Bug ID: 258994
Summary: OS panics on Nanopi Neo when using i2c 16-bit device
addressing width
Product: Base System
Version: CURRENT
Hardware: arm
OS: Any
Status: New
Severity: Affects Some People
Priority: ---
Component: arm
Assignee: freebsd-arm@FreeBSD.org
Reporter: alydiomc@yahoo.com
On Nanopi NEO (Allwinner H3), accessing I2C EEPROM with 16-bit addressing width
panics the OS. This seems working on RPI.
Same issue experienced on:
FreeBSD 12.2 Release
FreeBSD 13.0 Release
FreeBSD 13.0 Stable
root@nanopi-neo:~ # uname -a
FreeBSD nanopi-neo 14.0-CURRENT FreeBSD 14.0-CURRENT #1
main-n249946-824bbb9a408-dirty: Fri Oct 8 05:34:21 PST 2021
root@media.klyren.net:/zdata0/work/obj/zdata0/src-14-CURRENT/arm.armv7/sys/GENERIC
arm
root@nanopi-neo:~ # dmesg |grep ii
iichb0: <Allwinner Integrated I2C Bus Controller> mem 0x1c2ac00-0x1c2afff irq
40 on simplebus0
iicbus0: <OFW I2C bus> on iichb0
miibus0: <MII bus> on awg0
ukphy0: <Generic IEEE 802.3u media interface> PHY 0 on miibus0
ukphy1: <Generic IEEE 802.3u media interface> PHY 1 on miibus0
iic0: <I2C generic I/O> on iicbus0
root@nanopi-neo:~ # i2c -s -f /dev/iic0
57 68
root@nanopi-neo:~ # i2c -a 0x57 -f /dev/iic0 -d r -o 1 -w 16 -c 1 -m tr
panic: Assertion strlen(description) < MAX_W_NAME failed at
/zdata0/src-14-CURRENT/sys/kern/subr_witness.c:1914
ðñòóôõö÷øùúûüýþÿtime = 1633646823
KDB: stack backtrace:
db_trace_self() at db_trace_self
pc = 0xc05b2e24 lr = 0xc007b07c (db_trace_self_wrapper+0x30)
sp = 0xd89e8928 fp = 0xd89e8a40
db_trace_self_wrapper() at db_trace_self_wrapper+0x30
pc = 0xc007b07c lr = 0xc02dddbc (vpanic+0x17c)
sp = 0xd89e8a48 fp = 0xd89e8a68
r4 = 0x00000100 r5 = 0x00000000
r6 = 0xc0708d0c r7 = 0xc08e8aa8
vpanic() at vpanic+0x17c
pc = 0xc02dddbc lr = 0xc02ddb60 (doadump)
sp = 0xd89e8a70 fp = 0xd89e8a74
r4 = 0xc10a0878 r5 = 0xc10a0830
r6 = 0xc08be7bc r7 = 0xc079bd0e
r8 = 0x0000019e r9 = 0x0000019d
r10 = 0xc0ad95f0
doadump() at doadump
pc = 0xc02ddb60 lr = 0xc034f3b4 (enroll+0x540)
sp = 0xd89e8a7c fp = 0xd89e8aa8
r4 = 0xc0ad95f0 r5 = 0xd89e8a74
r6 = 0xc02ddb60 r10 = 0xd89e8a7c
enroll() at enroll+0x540
pc = 0xc034f3b4 lr = 0xc034f878 (witness_init+0xb0)
sp = 0xd89e8ab0 fp = 0xd89e8ab8
r4 = 0xd2caffa0 r5 = 0x00000000
r6 = 0xd8f2b754 r7 = 0xc00b1074
r8 = 0xd8cc17c0 r9 = 0xc0889ed0
r10 = 0xd2e0e040
witness_init() at witness_init+0xb0
pc = 0xc034f878 lr = 0xc02e7b04 (sx_init_flags+0x88)
sp = 0xd89e8ac0 fp = 0xd89e8ad0
r4 = 0xd2caffa0 r10 = 0xd2e0e040
sx_init_flags() at sx_init_flags+0x88
pc = 0xc02e7b04 lr = 0xc00b10b8 (iicopen+0x44)
sp = 0xd89e8ad8 fp = 0xd89e8ae0
r4 = 0xd2caffa0 r5 = 0xd2a4ce00
iicopen() at iicopen+0x44
pc = 0xc00b10b8 lr = 0xc01d8784 (devfs_open+0x12c)
sp = 0xd89e8ae8 fp = 0xd89e8b20
r4 = 0xd2a4ce00 r5 = 0x00000000
devfs_open() at devfs_open+0x12c
pc = 0xc01d8784 lr = 0xc06a5324 (VOP_OPEN_APV+0x50)
sp = 0xd89e8b28 fp = 0xd89e8b40
r4 = 0xd89e8b50 r5 = 0xc08a9fd4
r6 = 0xc09138c5 r7 = 0x00000003
r8 = 0xd8f71e00 r9 = 0xd89e8b50
r10 = 0xd8cc17c0
VOP_OPEN_APV() at VOP_OPEN_APV+0x50
pc = 0xc06a5324 lr = 0xc03e0dec (vn_open_vnode+0x184)
sp = 0xd89e8b48 fp = 0xd89e8ba8
r4 = 0xd8f2b754 r5 = 0x00000000
r6 = 0xd2e0e040 r10 = 0xd8cc17c0
vn_open_vnode() at vn_open_vnode+0x184
pc = 0xc03e0dec lr = 0xc03e0828 (vn_open_cred+0x578)
sp = 0xd89e8bb0 fp = 0xd89e8cc0
r4 = 0x00000001 r5 = 0xd89e8cf8
r6 = 0x00000003 r7 = 0xd89e8d58
r8 = 0xd89e8dc0 r9 = 0x00000000
r10 = 0x00000000
vn_open_cred() at vn_open_cred+0x578
pc = 0xc03e0828 lr = 0xc03e02a8 (vn_open+0x24)
sp = 0xd89e8cc8 fp = 0xd89e8cd0
r4 = 0xd8cc17c0 r5 = 0xd89e8cf8
r6 = 0x00000000 r7 = 0xd89e8cf8
r8 = 0xffffff9c r9 = 0x00000012
r10 = 0xbfbfee4b
vn_open() at vn_open+0x24
pc = 0xc03e02a8 lr = 0xc03d6f30 (kern_openat+0x258)
sp = 0xd89e8cd8 fp = 0xd89e8db8
kern_openat() at kern_openat+0x258
pc = 0xc03d6f30 lr = 0xc03d71b8 (sys_openat+0x2c)
sp = 0xd89e8dc0 fp = 0xd89e8dc8
r4 = 0xd8cc17c0 r5 = 0x00000001
r6 = 0xc08b42bc r7 = 0x00000000
r8 = 0x00000000 r9 = 0xd8cc1a68
r10 = 0xd8cc0530
sys_openat() at sys_openat+0x2c
pc = 0xc03d71b8 lr = 0xc05d5128 (swi_handler+0x15c)
sp = 0xd89e8dd0 fp = 0xd89e8e40
swi_handler() at swi_handler+0x15c
pc = 0xc05d5128 lr = 0xc05b574c (swi_exit)
sp = 0xd89e8e48 fp = 0xbfbfe780
r4 = 0x201f8a44 r5 = 0x00044190
r6 = 0xbfbfec98 r7 = 0x000001f3
r8 = 0x00000001 r9 = 0x00010b92
r10 = 0x00000000
swi_exit() at swi_exit
pc = 0xc05b574c lr = 0xc05b574c (swi_exit)
sp = 0xd89e8e48 fp = 0xbfbfe780
KDB: enter: panic
[ thread pid 985 tid 100114 ]
Stopped at kdb_enter+0x58: ldrb r15, [r15, r15, ror r15]!
db> ps
pid ppid pgrp uid state wmesg wchan cmd
985 972 985 0 R+ CPU 1 i2c
972 971 972 0 S+ pause 0xd8cc0928 csh
971 1 971 0 Ss+ wait 0xd2dacc40 login
952 1 952 0 Ss select 0xd2c954a4 sshd
925 1 925 0 Ss nanslp 0xc0ac3d8e cron
914 1 914 123 Ss (threaded) ntpd
100117 S select 0xd2ccb224 ntpd
100122 S usem 0xd2dc5e80 ntpd
870 1 870 0 Ss select 0xd2cb2664 syslogd
682 1 682 0 Ss select 0xd2cb2524 devd
284 1 284 0 Ss select 0xd2cb2624 wpa_supplicant
23 0 0 0 DL mmcsd d 0xd2ccce00 [mmcsd0: mmc/sd card]
22 0 0 0 DL - 0xc0b31af0 [soaiod4]
21 0 0 0 DL - 0xc0b31af0 [soaiod3]
20 0 0 0 DL - 0xc0b31af0 [soaiod2]
19 0 0 0 DL - 0xc0b31af0 [soaiod1]
18 0 0 0 DL syncer 0xc0b32960 [syncer]
17 0 0 0 DL vlruwt 0xd173d388 [vnlru]
16 0 0 0 DL (threaded) [bufdaemon]
100084 D qsleep 0xc0b31fdc [bufdaemon]
100087 D - 0xc0915700 [bufspacedaemon-0]
100104 D sdflush 0xd2d98c84 [/ worker]
15 0 0 0 DL psleep 0xc0b36930 [vmdaemon]
9 0 0 0 DL (threaded) [pagedaemon]
100082 D psleep 0xc0b36290 [dom0]
100092 D launds 0xc0b3629c [laundry: dom0]
100093 D umarcl 0xc056eeb4 [uma]
8 0 0 0 DL - 0xc0939e18 [rand_harvestq]
14 0 0 0 DL (threaded) [usb]
100046 D - 0xd280400c [usbus0]
100047 D - 0xd280403c [usbus0]
100048 D - 0xd280406c [usbus0]
100049 D - 0xd280409c [usbus0]
100050 D - 0xd28040cc [usbus0]
100052 D - 0xd17a6c84 [usbus1]
100053 D - 0xd17a6cb4 [usbus1]
100054 D - 0xd17a6ce4 [usbus1]
100055 D - 0xd17a6d14 [usbus1]
100056 D - 0xd17a6d44 [usbus1]
100058 D - 0xd280daac [usbus2]
100059 D - 0xd280dadc [usbus2]
100060 D - 0xd280db0c [usbus2]
100061 D - 0xd280db3c [usbus2]
100062 D - 0xd280db6c [usbus2]
100064 D - 0xd2838c84 [usbus3]
100065 D - 0xd2838cb4 [usbus3]
100066 D - 0xd2838ce4 [usbus3]
100067 D - 0xd2838d14 [usbus3]
100068 D - 0xd2838d44 [usbus3]
100070 D - 0xd284aaac [usbus4]
100071 D - 0xd284aadc [usbus4]
100072 D - 0xd284ab0c [usbus4]
100073 D - 0xd284ab3c [usbus4]
100074 D - 0xd284ab6c [usbus4]
7 0 0 0 DL (threaded) [cam]
100039 D - 0xc09361c0 [doneq0]
100040 D - 0xc0936140 [async]
100080 D - 0xc093606c [scanner]
6 0 0 0 DL crypto_ 0xc3bbfdac [crypto returns 3]
5 0 0 0 DL crypto_ 0xc3bbfd7c [crypto returns 2]
4 0 0 0 DL crypto_ 0xc3bbfd4c [crypto returns 1]
3 0 0 0 DL crypto_ 0xc3bbfd1c [crypto returns 0]
2 0 0 0 DL crypto_ 0xc0b352ec [crypto]
13 0 0 0 DL seqstat 0xd0495dcc [sequencer 00]
12 0 0 0 DL (threaded) [geom]
100026 D - 0xc0ab2d38 [g_event]
100027 D - 0xc0ab2d3c [g_up]
100028 D - 0xc0ab2d40 [g_down]
11 0 0 0 WL (threaded) [intr]
100010 I [swi6: Giant taskq]
100016 I [swi5: fast taskq]
100018 I [swi6: task queue]
100019 I [swi1: netisr 0]
100020 I [swi4: clock (0)]
100021 I [swi4: clock (1)]
100022 I [swi4: clock (2)]
100023 I [swi4: clock (3)]
100024 I [swi3: vm]
100041 I [gic0,s11: gpio0]
100042 I [gic0,s45: gpio1]
100043 I [gic0,s50: a31dmac0]
100044 I [gic0,s60: aw_mmc0]
100045 I [gic0,s71: musbotg0]
100051 I [gic0,s72: ehci0]
100057 I [gic0,s73: ohci0]
100063 I [gic0,s78: ehci1]
100069 I [gic0,s79: ohci1]
100075 I [gic0,s82: awg0]
100076 I [swi0: uart]
100077 I [gic0,s31:-_thermal0]
100081 I [gic0,s6: iichb0]
10 0 0 0 RL (threaded) [idle]
100002 Run CPU 0 [idle: cpu0]
100003 CanRun [idle: cpu1]
100004 Run CPU 2 [idle: cpu2]
100005 Run CPU 3 [idle: cpu3]
1 0 1 0 SLs wait 0xc29fdc40 [init]
0 0 0 0 DLs (threaded) [kernel]
100000 D swapin 0xc0ab31c0 [swapper]
100006 D - 0xc3bc0400 [softirq_0]
100007 D - 0xc3bc0300 [softirq_1]
100008 D - 0xc3bc0200 [softirq_2]
100009 D - 0xc3bc0100 [softirq_3]
100011 D - 0xd0453e00 [in6m_free taskq]
100012 D - 0xd0453d00 [thread taskq]
100013 D - 0xd0453c00 [aiod_kick taskq]
100014 D - 0xd0453b00 [deferred_unmount ta]
100015 D - 0xd0453a00 [inm_free taskq]
100017 D - 0xd0453800 [kqueue_ctx taskq]
100025 D - 0xd0453600 [firmware taskq]
100030 D - 0xd0453500 [crypto_0]
100031 D - 0xd0453500 [crypto_1]
100032 D - 0xd0453500 [crypto_2]
100033 D - 0xd0453500 [crypto_3]
100079 D - 0xd173fa00 [CAM taskq]
100095 D - 0xd2cdce00 [rtwn0 net80211 task]
db>
--
You are receiving this mail because:
You are the assignee for the bug.