summaryrefslogtreecommitdiff
path: root/sys/dev/isa/if_eg.c
diff options
context:
space:
mode:
authorTheo de Raadt <deraadt@cvs.openbsd.org>1996-08-03 10:13:39 +0000
committerTheo de Raadt <deraadt@cvs.openbsd.org>1996-08-03 10:13:39 +0000
commitefbb543f34e9b8d9844907a15268dc92caeb5643 (patch)
treef1574b92d28d61c54a9faf64b8269359079a96ec /sys/dev/isa/if_eg.c
parentc116a6c57abf4e5b0ffeb673b7fde1d7954ad4f7 (diff)
two bugs pointed out by thorpe
Diffstat (limited to 'sys/dev/isa/if_eg.c')
-rw-r--r--sys/dev/isa/if_eg.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/sys/dev/isa/if_eg.c b/sys/dev/isa/if_eg.c
index 12cb9cf27a2..c871ce1ffe5 100644
--- a/sys/dev/isa/if_eg.c
+++ b/sys/dev/isa/if_eg.c
@@ -530,6 +530,7 @@ loop:
dprintf(("egwritePCB in egstart failed\n"));
ifp->if_oerrors++;
ifp->if_flags &= ~IFF_OACTIVE;
+ m_freem(m0);
goto loop;
}
@@ -556,10 +557,12 @@ egintr(arg)
void *arg;
{
register struct eg_softc *sc = arg;
+ int ret = 0;
int i, len;
u_short *ptr;
while (inb(sc->eg_stat) & EG_STAT_ACRF) {
+ ret = 1;
egreadPCB(sc);
switch (sc->eg_pcb[0]) {
case EG_RSP_RECVPACKET:
@@ -612,7 +615,7 @@ egintr(arg)
}
}
- return 0;
+ return ret;
}
/*