Commit 47df976c authored by Peter Korsgaard's avatar Peter Korsgaard Committed by Jeff Garzik

dm9601: Fix multicast hash table handling

The loop forgot to walk the net->mc_list list, so only the first
multicast address was programmed into the hash table.
Signed-off-by: default avatarJeff Garzik <jeff@garzik.org>
parent 209261c0
...@@ -354,7 +354,7 @@ static void dm9601_set_multicast(struct net_device *net) ...@@ -354,7 +354,7 @@ static void dm9601_set_multicast(struct net_device *net)
struct dev_mc_list *mc_list = net->mc_list; struct dev_mc_list *mc_list = net->mc_list;
int i; int i;
for (i = 0; i < net->mc_count; i++) { for (i = 0; i < net->mc_count; i++, mc_list = mc_list->next) {
u32 crc = ether_crc(ETH_ALEN, mc_list->dmi_addr) >> 26; u32 crc = ether_crc(ETH_ALEN, mc_list->dmi_addr) >> 26;
hashes[crc >> 3] |= 1 << (crc & 0x7); hashes[crc >> 3] |= 1 << (crc & 0x7);
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment