Source-Changes-HG archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
[src/netbsd-1-4]: src/sys/dev/ic Pull up revision 1.31 (via patch, requested ...
details: https://anonhg.NetBSD.org/src/rev/894c5fdc2132
branches: netbsd-1-4
changeset: 470608:894c5fdc2132
user: he <he%NetBSD.org@localhost>
date: Mon May 22 21:23:34 2000 +0000
description:
Pull up revision 1.31 (via patch, requested by thorpej):
Use the lower bits of the crc32 for the multicast address filter,
not the upper bits. Fixes PR#8268.
diffstat:
sys/dev/ic/smc83c170.c | 8 ++++----
1 files changed, 4 insertions(+), 4 deletions(-)
diffs (29 lines):
diff -r f128776ec729 -r 894c5fdc2132 sys/dev/ic/smc83c170.c
--- a/sys/dev/ic/smc83c170.c Mon May 22 21:15:13 2000 +0000
+++ b/sys/dev/ic/smc83c170.c Mon May 22 21:23:34 2000 +0000
@@ -1,4 +1,4 @@
-/* $NetBSD: smc83c170.c,v 1.15.2.2 2000/02/08 22:04:45 he Exp $ */
+/* $NetBSD: smc83c170.c,v 1.15.2.3 2000/05/22 21:23:34 he Exp $ */
/*-
* Copyright (c) 1998, 1999 The NetBSD Foundation, Inc.
@@ -1240,7 +1240,7 @@
/*
* Set up the multicast address filter by passing all multicast
- * addresses through a CRC generator, and then using the high-order
+ * addresses through a CRC generator, and then using the low-order
* 6 bits as an index into the 64 bit multicast hash table (only
* the lower 16 bits of each 32 bit multicast hash register are
* valid). The high order bit selects the register, while the
@@ -1278,8 +1278,8 @@
crc = (crc >> 4) ^ crctab[crc & 0xf];
crc = (crc >> 4) ^ crctab[crc & 0xf];
}
- /* Just want the 6 most significant bits. */
- crc >>= 26;
+ /* Just want the 6 least significant bits. */
+ crc &= 0x3f;
/* Set the corresponding bit in the hash table. */
mchash[crc >> 4] |= 1 << (crc & 0xf);
Home |
Main Index |
Thread Index |
Old Index