diff options
author | wpaul <wpaul@FreeBSD.org> | 1998-12-24 19:10:05 +0000 |
---|---|---|
committer | wpaul <wpaul@FreeBSD.org> | 1998-12-24 19:10:05 +0000 |
commit | 7378825b0e71060e7b343d81b981dcb9402fa0f3 (patch) | |
tree | 58ce27fbdc6f21c59ffc7bc8440d54f6ba36ffc9 /sys | |
parent | fadeb9e62b92ae462dd280938a00e5406df45e31 (diff) | |
download | FreeBSD-src-7378825b0e71060e7b343d81b981dcb9402fa0f3.zip FreeBSD-src-7378825b0e71060e7b343d81b981dcb9402fa0f3.tar.gz |
One more time: another case where we need to trim the CRC manually.
Diffstat (limited to 'sys')
-rw-r--r-- | sys/pci/if_mx.c | 13 |
1 files changed, 11 insertions, 2 deletions
diff --git a/sys/pci/if_mx.c b/sys/pci/if_mx.c index 28102bb..1747b2d 100644 --- a/sys/pci/if_mx.c +++ b/sys/pci/if_mx.c @@ -29,7 +29,7 @@ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF * THE POSSIBILITY OF SUCH DAMAGE. * - * $Id: if_mx.c,v 1.4 1998/12/07 21:58:46 archie Exp $ + * $Id: if_mx.c,v 1.5 1998/12/14 06:32:55 dillon Exp $ */ /* @@ -94,7 +94,7 @@ #ifndef lint static const char rcsid[] = - "$Id: if_mx.c,v 1.4 1998/12/07 21:58:46 archie Exp $"; + "$Id: if_mx.c,v 1.5 1998/12/14 06:32:55 dillon Exp $"; #endif /* @@ -1654,6 +1654,15 @@ static void mx_rxeof(sc) total_len = MX_RXBYTES(cur_rx->mx_ptr->mx_status); /* + * XXX The Macronix chips includes the CRC with every + * received frame, and there's no way to turn this + * behavior off (at least, I can't find anything in + * the manual that explains how to do it) so we have + * to trim off the CRC manually. + */ + total_len -= ETHER_CRC_LEN; + + /* * Try to conjure up a new mbuf cluster. If that * fails, it means we have an out of memory condition and * should leave the buffer in place and continue. This will |