aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAymeric Wibo <obiwac@FreeBSD.org>2026-06-26 18:52:25 +0000
committerAymeric Wibo <obiwac@FreeBSD.org>2026-06-26 18:52:28 +0000
commit0cedb626959c0bbab6497d1f042beddab059bdaa (patch)
treea53ea710dcff9b1173c341dcd698e271641178d2
parent7fff1f194e075716c9be79dab68c1ab1816563ef (diff)
iichid(4): Always release interrupt resource
Reviewed by: aokblast Event: Halifax Hackathon 202606 Location: Chair Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D57886
-rw-r--r--sys/dev/iicbus/iichid.c8
1 files changed, 4 insertions, 4 deletions
diff --git a/sys/dev/iicbus/iichid.c b/sys/dev/iicbus/iichid.c
index 430066bd8f52..d13520017e93 100644
--- a/sys/dev/iicbus/iichid.c
+++ b/sys/dev/iicbus/iichid.c
@@ -1163,15 +1163,15 @@ iichid_attach(device_t dev)
}
if (sc->irq_res == NULL || error != 0) {
+ device_printf(sc->dev, "Interrupt setup failed\n");
+ if (sc->irq_res != NULL)
+ bus_release_resource(dev, SYS_RES_IRQ, sc->irq_rid,
+ sc->irq_res);
#ifdef IICHID_SAMPLING
device_printf(sc->dev,
"Using sampling mode\n");
sc->sampling_rate_slow = IICHID_SAMPLING_RATE_SLOW;
#else
- device_printf(sc->dev, "Interrupt setup failed\n");
- if (sc->irq_res != NULL)
- bus_release_resource(dev, SYS_RES_IRQ, sc->irq_rid,
- sc->irq_res);
iichid_detach(dev);
error = ENXIO;
goto done;