Re: April 2025 stabilization week

From: Dave Cottlehuber <dch_at_skunkwerks.at>
Date: Thu, 24 Apr 2025 14:10:24 UTC
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);
 			else