diff -urpN -X /home/fletch/.diff.exclude 431-acenic_fix/drivers/net/sis900.c 432-sisfix/drivers/net/sis900.c --- 431-acenic_fix/drivers/net/sis900.c Mon Mar 17 21:43:45 2003 +++ 432-sisfix/drivers/net/sis900.c Sun Apr 20 22:18:12 2003 @@ -2094,10 +2094,13 @@ static void set_rx_mode(struct net_devic use Receive Filter to reject unwanted MCAST packet */ struct dev_mc_list *mclist; rx_mode = RFAAB; - for (i = 0, mclist = net_dev->mc_list; mclist && i < net_dev->mc_count; - i++, mclist = mclist->next) - set_bit(sis900_compute_hashtable_index(mclist->dmi_addr, revision), - mc_filter); + for (i = 0, mclist = net_dev->mc_list; + mclist && i < net_dev->mc_count; + i++, mclist = mclist->next) { + int index = sis900_compute_hashtable_index( + mclist->dmi_addr, revision); + mc_filter[index/16] |= (u16) (1 << (index & 0xff)); + } } /* update Multicast Hash Table in Receive Filter */