summaryrefslogtreecommitdiff
path: root/sys/arch/mvme68k/dev/if_ie.c
diff options
context:
space:
mode:
Diffstat (limited to 'sys/arch/mvme68k/dev/if_ie.c')
-rw-r--r--sys/arch/mvme68k/dev/if_ie.c10
1 files changed, 8 insertions, 2 deletions
diff --git a/sys/arch/mvme68k/dev/if_ie.c b/sys/arch/mvme68k/dev/if_ie.c
index e5e58cd9d9a..b5163656928 100644
--- a/sys/arch/mvme68k/dev/if_ie.c
+++ b/sys/arch/mvme68k/dev/if_ie.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: if_ie.c,v 1.20 2002/10/12 01:09:43 krw Exp $ */
+/* $OpenBSD: if_ie.c,v 1.21 2003/01/28 01:37:52 jason Exp $ */
/*-
* Copyright (c) 1999 Steve Murphree, Jr.
@@ -1319,7 +1319,13 @@ iestart(ifp)
printf("%s: tbuf overflow\n", sc->sc_dev.dv_xname);
m_freem(m0);
- len = max(len, ETHER_MIN_LEN);
+
+ if (len < ETHER_MIN_LEN - ETHER_CRC_LEN) {
+ bzero(buffer, ETHER_MIN_LEN - ETHER_CRC_LEN - len);
+ len = ETHER_MIN_LEN - ETHER_CRC_LEN;
+ buffer += ETHER_MIN_LEN - ETHER_CRC_LEN;
+ }
+
sc->xmit_buffs[sc->xchead]->ie_xmit_flags = len;
sc->xmit_free--;