From: Aurelien Jarno Date: Wed, 5 Oct 2005 21:29:58 +0000 (+0200) Subject: [PATCH] sis190.c: fix multicast MAC filter X-Git-Tag: v2.6.15-rc1~731^2~3^2~24 X-Git-Url: https://err.no/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=8fee5f51a56aa7a67d955993572a2ae05d31a2c6;p=linux-2.6 [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 Signed-off-by: Jeff Garzik --- diff --git a/drivers/net/sis190.c b/drivers/net/sis190.c index 92f75529ef..478791e09b 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) for (i = 0, mclist = dev->mc_list; mclist && i < dev->mc_count; i++, mclist = mclist->next) { int bit_nr = - ether_crc(ETH_ALEN, mclist->dmi_addr) >> 26; + ether_crc(ETH_ALEN, mclist->dmi_addr) & 0x3f; mc_filter[bit_nr >> 5] |= 1 << (bit_nr & 31); rx_mode |= AcceptMulticast; }