Date: Thu, 24 Apr 2025 14:10:24 +0000 From: "Dave Cottlehuber" <dch@skunkwerks.at> To: "Warner Losh" <imp@bsdimp.com>, "Gleb Smirnoff" <glebius@freebsd.org> Cc: freebsd-current <freebsd-current@freebsd.org> Subject: Re: April 2025 stabilization week Message-ID: <a08c5872-0cf3-4bbf-b2fd-61cceb8980bc@app.fastmail.com> In-Reply-To: <447332f8-a8bc-4b90-a605-4c705a58f491@app.fastmail.com> References: <aAX7DZ-zFkOyOhij@cell.glebi.us> <CANCZdfoRA-q_CVkBAxYwQH%2BrDq1T%2Be3=4xQpF=UgSYMr7KZA3w@mail.gmail.com> <447332f8-a8bc-4b90-a605-4c705a58f491@app.fastmail.com>
index | next in thread | previous in thread | raw e-mail
On Thu, 24 Apr 2025, at 14:04, Dave Cottlehuber wrote: > On Mon, 21 Apr 2025, at 14:22, Warner Losh wrote: >> Please note: Gleb is on vacation this week, so I'll be coordinating >> stab-week this time. Please be sure to cc me on any problems you >> encounter. > from https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=286045 Darius > suggested guarding sc->intr_handler, and with that > https://bugs.freebsd.org/bugzilla/attachment.cgi?id=259480&action=diff > I can boot successfully again: > > THREAD_SLEEPING_OK(); > error = iichid_cmd_read(sc, sc->intr_buf, sc->intr_bufsize, &actual); > THREAD_NO_SLEEPING(); > if (error == 0) { > if (sc->power_on) { > if (actual != 0) > L#635 ********** sc->intr_handler(sc->intr_ctx, sc->intr_buf, > actual); > else > DPRINTF(sc, "no data received\n"); > } > } else > DPRINTF(sc, "read error occurred: %d\n", error); > > iicbus_release_bus(parent, sc->dev); > } > > I have no idea why/how we get to here with null sc->intr_handler though. > > A+ > Dave workaround below: >From 2f8ea6473c2ece8387691a950b8f9e9ec7b8f8bf Mon Sep 17 00:00:00 2001 From: Dave Cottlehuber <dch@FreeBSD.org> Date: Fri, 11 Apr 2025 22:24:07 +0000 Subject: [PATCH] iichid: panic --- sys/dev/iicbus/iichid.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sys/dev/iicbus/iichid.c b/sys/dev/iicbus/iichid.c index b86858791a4d5c4ef790ce4ca0761a2af85a5142..88706ecf460c6f3ca6e8e317a28df220bdad0b97 100644 --- a/sys/dev/iicbus/iichid.c +++ b/sys/dev/iicbus/iichid.c @@ -631,7 +631,7 @@ iichid_intr(void *context) THREAD_NO_SLEEPING(); if (error == 0) { if (sc->power_on) { - if (actual != 0) + if ((actual != 0) && (sc->intr_handler != NULL)) sc->intr_handler(sc->intr_ctx, sc->intr_buf, actual); elsehome | help
Want to link to this message? Use this
URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?a08c5872-0cf3-4bbf-b2fd-61cceb8980bc>
