Skip site navigation (1)Skip section navigation (2)
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>