diff options
author | Theo de Raadt <deraadt@cvs.openbsd.org> | 1996-08-03 10:13:39 +0000 |
---|---|---|
committer | Theo de Raadt <deraadt@cvs.openbsd.org> | 1996-08-03 10:13:39 +0000 |
commit | efbb543f34e9b8d9844907a15268dc92caeb5643 (patch) | |
tree | f1574b92d28d61c54a9faf64b8269359079a96ec /sys/dev/isa | |
parent | c116a6c57abf4e5b0ffeb673b7fde1d7954ad4f7 (diff) |
two bugs pointed out by thorpe
Diffstat (limited to 'sys/dev/isa')
-rw-r--r-- | sys/dev/isa/if_eg.c | 5 |
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; } /* |