diff options
author | Jason Wright <jason@cvs.openbsd.org> | 2001-11-28 05:42:25 +0000 |
---|---|---|
committer | Jason Wright <jason@cvs.openbsd.org> | 2001-11-28 05:42:25 +0000 |
commit | a49e00c75e71ca45bae7c9392217d459ac28dca6 (patch) | |
tree | ac8f5f2c4bbc11fd99ebb02e3eb1ad91142481ba /sys/dev/sbus/qe.c | |
parent | b8c114e45206188bcb3d1e1c3f6ba8cf28a617b4 (diff) |
be sure to call ether_ioctl, like everyone else.
also, complain if we don't get an interrupt established.
current state: be doesn't interrupt, qe gets rx/tx sbus dma errors *sigh*
Diffstat (limited to 'sys/dev/sbus/qe.c')
-rw-r--r-- | sys/dev/sbus/qe.c | 14 |
1 files changed, 12 insertions, 2 deletions
diff --git a/sys/dev/sbus/qe.c b/sys/dev/sbus/qe.c index 6abecc4a46a..e85f6d82091 100644 --- a/sys/dev/sbus/qe.c +++ b/sys/dev/sbus/qe.c @@ -1,4 +1,4 @@ -/* $OpenBSD: qe.c,v 1.4 2001/11/27 02:33:15 jason Exp $ */ +/* $OpenBSD: qe.c,v 1.5 2001/11/28 05:42:24 jason Exp $ */ /* $NetBSD: qe.c,v 1.16 2001/03/30 17:30:18 christos Exp $ */ /*- @@ -248,7 +248,12 @@ qeattach(parent, self, aux) qestop(sc); /* Note: no interrupt level passed */ - (void)bus_intr_establish(sa->sa_bustag, 0, IPL_NET, 0, qeintr, sc); + if (bus_intr_establish(sa->sa_bustag, 0, IPL_NET, 0, qeintr, sc) == + NULL) { + printf(": no interrupt established\n"); + return; + } + myetheraddr(sc->sc_arpcom.ac_enaddr); /* @@ -924,6 +929,11 @@ qeioctl(ifp, cmd, data) s = splnet(); + if ((error = ether_ioctl(ifp, &sc->sc_arpcom, cmd, data)) > 0) { + splx(s); + return (error); + } + switch (cmd) { case SIOCSIFADDR: ifp->if_flags |= IFF_UP; |