Date: Mon, 22 Apr 2002 02:37:13 +0200 (CEST) From: Harold Gutch <logix@foobar.franken.de> To: FreeBSD-gnats-submit@FreeBSD.org Subject: kern/37326: smbus/bktr crash when omitting "device iicsmb" Message-ID: <200204220037.g3M0bDf23725@foobar.franken.de>
next in thread | raw e-mail | index | archive | help
>Number: 37326
>Category: kern
>Synopsis: smbus/bktr crash when omitting "device iicsmb"
>Confidential: no
>Severity: serious
>Priority: medium
>Responsible: freebsd-bugs
>State: open
>Quarter:
>Keywords:
>Date-Required:
>Class: sw-bug
>Submitter-Id: current-users
>Arrival-Date: Sun Apr 21 17:40:01 PDT 2002
>Closed-Date:
>Last-Modified:
>Originator: Harold Gutch
>Release: FreeBSD 4.5-STABLE i386
>Organization:
>Environment:
System: FreeBSD overdose.franken.de 4.5-STABLE FreeBSD 4.5-STABLE #8: Mon Apr 22 00:04:52 CEST 2002 root@overdose.franken.de:/space2/obj/space2/src/sys/OVERDOSE i386
>Description:
A kernel with
device bktr
device smbus
device viapm
device smb
device iicbus
device iicbb
but WITHOUT
device iicsmb
in the configfile compiles without problems. When trying to access /dev/smb0
using e.g. lmmon from the ports, FreeBSD crashes.
These are the relevant parts from the stacktrace I made after the crash:
#5 0xc027b75b in trap (frame={tf_fs = 16, tf_es = 16, tf_ds = 16, tf_edi = 0,
tf_esi = -1059782784, tf_ebp = -861672200, tf_isp = -861672220,
tf_ebx = -1063041088, tf_edx = -1063013120, tf_ecx = -1059782784,
tf_eax = 0, tf_trapno = 12, tf_err = 0, tf_eip = -1072208830, tf_cs = 8,
tf_eflags = 66118, tf_esp = -861672176, tf_ss = -1072336249})
at /space2/src/sys/i386/i386/trap.c:458
#6 0xc0176442 in device_get_softc (dev=0x0)
at /space2/src/sys/kern/subr_bus.c:980
#7 0xc0157287 in iicbus_request_bus (bus=0x0, dev=0xc0d4ff80, how=3)
at /space2/src/sys/dev/iicbus/iiconf.c:103
#8 0xc0228170 in bti2c_smb_callback (dev=0xc0d4ff80, index=1, data=0xcca3ed74)
at /space2/src/sys/dev/bktr/bktr_i2c.c:237
Note bus=0x0 in frame #7 and dev=0x0 in frame #6.
>How-To-Repeat:
Add the options
device bktr
device smbus
device viapm
device smb
device iicbus
device iicbb
Be sure NOT to include
device iicsmb
to your kernel configfile, recompile and -install that kernel and reboot.
Install ports/sysutils/lmmon and run it.
>Fix:
The obvious "fix" (a check wether sc->iicbus is NULL) in dev/bktr/bktr_i2c.c
doesn't work - even worse, it hangs the machine when accessing smbus (while
the plain source at least panics and then reboots). As I don't have any
closer insight on smbus, I'm sorry to say that can't provide a working fix
right now.
>Release-Note:
>Audit-Trail:
>Unformatted:
To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-bugs" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200204220037.g3M0bDf23725>
