net: de4x5: Omit check for multicast bit in netdev_for_each_mc_addr

There is no need to check for the address being a multicast address in
the netdev_for_each_mc_addr loop, so remove it.

Signed-off-by: Tobias Klauser <tklauser@distanz.ch>
Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
Tobias Klauser
2011-06-30 21:37:52 +00:00
committed by David S. Miller
parent b9ab82c774
commit e77aeb71f0

View File

@@ -1964,9 +1964,7 @@ SetMulticastFilter(struct net_device *dev)
omr |= OMR_PM; /* Pass all multicasts */ omr |= OMR_PM; /* Pass all multicasts */
} else if (lp->setup_f == HASH_PERF) { /* Hash Filtering */ } else if (lp->setup_f == HASH_PERF) { /* Hash Filtering */
netdev_for_each_mc_addr(ha, dev) { netdev_for_each_mc_addr(ha, dev) {
addrs = ha->addr; crc = ether_crc_le(ETH_ALEN, ha->addr);
if ((*addrs & 0x01) == 1) { /* multicast address? */
crc = ether_crc_le(ETH_ALEN, addrs);
hashcode = crc & HASH_BITS; /* hashcode is 9 LSb of CRC */ hashcode = crc & HASH_BITS; /* hashcode is 9 LSb of CRC */
byte = hashcode >> 3; /* bit[3-8] -> byte in filter */ byte = hashcode >> 3; /* bit[3-8] -> byte in filter */
@@ -1977,7 +1975,6 @@ SetMulticastFilter(struct net_device *dev)
byte -= 1; byte -= 1;
} }
lp->setup_frame[byte] |= bit; lp->setup_frame[byte] |= bit;
}
} }
} else { /* Perfect filtering */ } else { /* Perfect filtering */
netdev_for_each_mc_addr(ha, dev) { netdev_for_each_mc_addr(ha, dev) {