summaryrefslogtreecommitdiffstats
path: root/sys
diff options
context:
space:
mode:
authorwpaul <wpaul@FreeBSD.org>1998-12-24 19:10:05 +0000
committerwpaul <wpaul@FreeBSD.org>1998-12-24 19:10:05 +0000
commit7378825b0e71060e7b343d81b981dcb9402fa0f3 (patch)
tree58ce27fbdc6f21c59ffc7bc8440d54f6ba36ffc9 /sys
parentfadeb9e62b92ae462dd280938a00e5406df45e31 (diff)
downloadFreeBSD-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.c13
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
OpenPOWER on IntegriCloud