aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/net')
-rw-r--r--drivers/net/tulip/de4x5.c5
1 files changed, 1 insertions, 4 deletions
diff --git a/drivers/net/tulip/de4x5.c b/drivers/net/tulip/de4x5.c
index efaa1d69b720..d8db2b664ac2 100644
--- a/drivers/net/tulip/de4x5.c
+++ b/drivers/net/tulip/de4x5.c
@@ -1964,9 +1964,7 @@ SetMulticastFilter(struct net_device *dev)
1964 omr |= OMR_PM; /* Pass all multicasts */ 1964 omr |= OMR_PM; /* Pass all multicasts */
1965 } else if (lp->setup_f == HASH_PERF) { /* Hash Filtering */ 1965 } else if (lp->setup_f == HASH_PERF) { /* Hash Filtering */
1966 netdev_for_each_mc_addr(ha, dev) { 1966 netdev_for_each_mc_addr(ha, dev) {
1967 addrs = ha->addr; 1967 crc = ether_crc_le(ETH_ALEN, ha->addr);
1968 if ((*addrs & 0x01) == 1) { /* multicast address? */
1969 crc = ether_crc_le(ETH_ALEN, addrs);
1970 hashcode = crc & HASH_BITS; /* hashcode is 9 LSb of CRC */ 1968 hashcode = crc & HASH_BITS; /* hashcode is 9 LSb of CRC */
1971 1969
1972 byte = hashcode >> 3; /* bit[3-8] -> byte in filter */ 1970 byte = hashcode >> 3; /* bit[3-8] -> byte in filter */
@@ -1977,7 +1975,6 @@ SetMulticastFilter(struct net_device *dev)
1977 byte -= 1; 1975 byte -= 1;
1978 } 1976 }
1979 lp->setup_frame[byte] |= bit; 1977 lp->setup_frame[byte] |= bit;
1980 }
1981 } 1978 }
1982 } else { /* Perfect filtering */ 1979 } else { /* Perfect filtering */
1983 netdev_for_each_mc_addr(ha, dev) { 1980 netdev_for_each_mc_addr(ha, dev) {