diff options
author | Aurelien Jarno <aurelien@aurel32.net> | 2005-10-05 17:29:58 -0400 |
---|---|---|
committer | Jeff Garzik <jgarzik@pobox.com> | 2005-10-28 16:14:11 -0400 |
commit | 8fee5f51a56aa7a67d955993572a2ae05d31a2c6 (patch) | |
tree | 2160ea3f622aa0b34df484f81c577ba33ca8f830 /drivers/net/sis190.c | |
parent | adf6e00064ebcd3d82009ba6ef66f489f0885ebd (diff) |
[PATCH] sis190.c: fix multicast MAC filter
Here is a patch that changes the way the MAC filter is computed for the
multicast addresses. The computation is taken from the SiS GPL driver.
This patch is necessary to get IPv6 working.
Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
Diffstat (limited to 'drivers/net/sis190.c')
-rw-r--r-- | drivers/net/sis190.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/net/sis190.c b/drivers/net/sis190.c index 92f75529eff8..478791e09bf7 100644 --- a/drivers/net/sis190.c +++ b/drivers/net/sis190.c | |||
@@ -842,7 +842,7 @@ static void sis190_set_rx_mode(struct net_device *dev) | |||
842 | for (i = 0, mclist = dev->mc_list; mclist && i < dev->mc_count; | 842 | for (i = 0, mclist = dev->mc_list; mclist && i < dev->mc_count; |
843 | i++, mclist = mclist->next) { | 843 | i++, mclist = mclist->next) { |
844 | int bit_nr = | 844 | int bit_nr = |
845 | ether_crc(ETH_ALEN, mclist->dmi_addr) >> 26; | 845 | ether_crc(ETH_ALEN, mclist->dmi_addr) & 0x3f; |
846 | mc_filter[bit_nr >> 5] |= 1 << (bit_nr & 31); | 846 | mc_filter[bit_nr >> 5] |= 1 << (bit_nr & 31); |
847 | rx_mode |= AcceptMulticast; | 847 | rx_mode |= AcceptMulticast; |
848 | } | 848 | } |