summaryrefslogtreecommitdiffstats
path: root/sys/sparc64/sbus
diff options
context:
space:
mode:
authormarius <marius@FreeBSD.org>2007-01-15 22:37:59 +0000
committermarius <marius@FreeBSD.org>2007-01-15 22:37:59 +0000
commit6d5dd8a49ad88c78f0505a7db96a0484f8a72f2a (patch)
tree6581fe08bff7a3df1afe406509b08efb53deb9f7 /sys/sparc64/sbus
parent613d1a9f5abbbdfdcacc93d7f98ed4397bb10df9 (diff)
downloadFreeBSD-src-6d5dd8a49ad88c78f0505a7db96a0484f8a72f2a.zip
FreeBSD-src-6d5dd8a49ad88c78f0505a7db96a0484f8a72f2a.tar.gz
Check the return value of bus_setup_intr() when setting up the
over-temperature and power-fail interrupts. Suggested by: Coverity Prevent (CID 683) MFC after: 1 week
Diffstat (limited to 'sys/sparc64/sbus')
-rw-r--r--sys/sparc64/sbus/sbus.c22
1 files changed, 12 insertions, 10 deletions
diff --git a/sys/sparc64/sbus/sbus.c b/sys/sparc64/sbus/sbus.c
index 4fc45d9..a904fe9 100644
--- a/sys/sparc64/sbus/sbus.c
+++ b/sys/sparc64/sbus/sbus.c
@@ -430,20 +430,22 @@ sbus_attach(device_t dev)
rid = 0;
mr = SYSIO_READ8(sc, SBR_THERM_INT_MAP);
vec = INTVEC(mr);
- if ((sc->sc_ot_ires = bus_alloc_resource(dev, SYS_RES_IRQ, &rid, vec,
- vec, 1, RF_ACTIVE)) == NULL)
- panic("%s: failed to get temperature interrupt", __func__);
- bus_setup_intr(dev, sc->sc_ot_ires, INTR_TYPE_MISC | INTR_FAST,
- sbus_overtemp, sc, &sc->sc_ot_ihand);
+ sc->sc_ot_ires = bus_alloc_resource(dev, SYS_RES_IRQ, &rid, vec,
+ vec, 1, RF_ACTIVE);
+ if (sc->sc_ot_ires == NULL ||
+ bus_setup_intr(dev, sc->sc_ot_ires, INTR_TYPE_MISC | INTR_FAST,
+ sbus_overtemp, sc, &sc->sc_ot_ihand) != 0)
+ panic("%s: failed to set up temperature interrupt", __func__);
SYSIO_WRITE8(sc, SBR_THERM_INT_MAP, INTMAP_ENABLE(mr, PCPU_GET(mid)));
rid = 0;
mr = SYSIO_READ8(sc, SBR_POWER_INT_MAP);
vec = INTVEC(mr);
- if ((sc->sc_pf_ires = bus_alloc_resource(dev, SYS_RES_IRQ, &rid, vec,
- vec, 1, RF_ACTIVE)) == NULL)
- panic("%s: failed to get power fail interrupt", __func__);
- bus_setup_intr(dev, sc->sc_pf_ires, INTR_TYPE_MISC | INTR_FAST,
- sbus_pwrfail, sc, &sc->sc_pf_ihand);
+ sc->sc_pf_ires = bus_alloc_resource(dev, SYS_RES_IRQ, &rid, vec,
+ vec, 1, RF_ACTIVE);
+ if (sc->sc_pf_ires == NULL ||
+ bus_setup_intr(dev, sc->sc_pf_ires, INTR_TYPE_MISC | INTR_FAST,
+ sbus_pwrfail, sc, &sc->sc_pf_ihand) != 0)
+ panic("%s: failed to set up power fail interrupt", __func__);
SYSIO_WRITE8(sc, SBR_POWER_INT_MAP, INTMAP_ENABLE(mr, PCPU_GET(mid)));
/* Initialize the counter-timer. */
OpenPOWER on IntegriCloud