summaryrefslogtreecommitdiff
path: root/sys/dev/hatm
diff options
context:
space:
mode:
authorHartmut Brandt <harti@FreeBSD.org>2003-11-05 11:47:31 +0000
committerHartmut Brandt <harti@FreeBSD.org>2003-11-05 11:47:31 +0000
commitd7af3b881c5a6280b79e70a495b1ef174c1a4691 (patch)
tree62a4542b638b3bd0bdc5d3be79d588546ad2a88d /sys/dev/hatm
parent8e994188e2284a3bc9ab1b9fef6f4bed4e615b7e (diff)
Notes
Diffstat (limited to 'sys/dev/hatm')
-rw-r--r--sys/dev/hatm/if_hatm.c9
-rw-r--r--sys/dev/hatm/if_hatmvar.h2
2 files changed, 9 insertions, 2 deletions
diff --git a/sys/dev/hatm/if_hatm.c b/sys/dev/hatm/if_hatm.c
index cb1b23ba8955..a411d061caa2 100644
--- a/sys/dev/hatm/if_hatm.c
+++ b/sys/dev/hatm/if_hatm.c
@@ -1399,6 +1399,11 @@ hatm_configure(struct hatm_softc *sc)
kenv_getuint(sc, "max_mbuf_pages", &sc->mbuf_max_pages,
HE_CONFIG_MAX_MBUF_PAGES, 0);
+ /* mpsafe */
+ kenv_getuint(sc, "mpsafe", &sc->mpsafe, 0, 0);
+ if (sc->mpsafe != 0)
+ sc->mpsafe = INTR_MPSAFE;
+
return (0);
}
@@ -1936,8 +1941,8 @@ hatm_attach(device_t dev)
bpfattach(ifp, DLT_ATM_RFC1483, sizeof(struct atmllc));
#endif
- error = bus_setup_intr(dev, sc->irqres, INTR_TYPE_NET, hatm_intr,
- &sc->irq_0, &sc->ih);
+ error = bus_setup_intr(dev, sc->irqres, sc->mpsafe | INTR_TYPE_NET,
+ hatm_intr, &sc->irq_0, &sc->ih);
if (error != 0) {
device_printf(dev, "could not setup interrupt\n");
hatm_detach(dev);
diff --git a/sys/dev/hatm/if_hatmvar.h b/sys/dev/hatm/if_hatmvar.h
index f2ea62f0dcb8..2ca6f9473031 100644
--- a/sys/dev/hatm/if_hatmvar.h
+++ b/sys/dev/hatm/if_hatmvar.h
@@ -458,6 +458,8 @@ struct hatm_softc {
/* internal statistics */
struct istats istats;
+ u_int mpsafe;
+
#ifdef HATM_DEBUG
/* debugging */
u_int debug;