NetBSD-Bugs archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
Re: port-amd64/39630: New ipmi(4) attachment code triggers kernel panic
The following reply was made to PR port-amd64/39630; it has been noted by GNATS.
From: Matthias Scheler <tron%zhadum.org.uk@localhost>
To: netbsd-bugs%NetBSD.org@localhost, gnats-bugs%NetBSD.org@localhost
Cc:
Subject: Re: port-amd64/39630: New ipmi(4) attachment code triggers kernel panic
Date: Tue, 4 Nov 2008 17:55:57 +0000
Hello,
I've added the following debugging output:
Index: ipmi.c
===================================================================
RCS file: /cvsroot/src/sys/arch/x86/x86/ipmi.c,v
retrieving revision 1.21
diff -u -r1.21 ipmi.c
--- ipmi.c 30 Oct 2008 20:28:02 -0000 1.21
+++ ipmi.c 4 Nov 2008 17:53:45 -0000
@@ -292,19 +292,23 @@
struct ipmi_softc *sc = arg;
struct ipmi_bmc_args *a = sc->sc_iowait_args;
+ aprint_normal("_bmc_io_wait: sc=%p, a=%p\n", sc, a);
*a->v = bmc_read(sc, a->offset);
if ((*a->v & a->mask) == a->value) {
+ aprint_normal("_bmc_io_wait: wakeup success\n");
sc->sc_wakeup = 0;
wakeup(sc);
return;
}
if (++sc->sc_retries > sc->sc_max_retries) {
+ aprint_normal("_bmc_io_wait: wakeup failure\n");
sc->sc_wakeup = 0;
wakeup(sc);
return;
}
+ aprint_normal("_bmc_io_wait: callout\n");
callout_schedule(&sc->sc_callout, 1);
}
@@ -1756,6 +1760,7 @@
sc->sc_max_retries = hz / 2; /* 0.5 seconds max */
callout_init(&sc->sc_callout, 0);
callout_setfunc(&sc->sc_callout, _bmc_io_wait, sc);
+ aprint_normal("Callout initialized at %p\n", &sc->sc_callout);
/* Map registers */
ipmi_map_regs(sc, ia);
And I get this output:
attimer0: attached to pcppi0
_bmc_io_wait: sc=0xffffffff807dea30, a=0xffffffff807de900
_bmc_io_wait: callout
uvm_fault(0xffffffff806e7ae0, 0x0, 1) -> e
fatal page fault in supervisor mode
It looks to me like _bmc_io_wait() is called before "sc->sc_callout"
has been initialized.
Kind regards
--
Matthias Scheler http://zhadum.org.uk/
Home |
Main Index |
Thread Index |
Old Index