/* SiS 900 uses the most sigificant 7 bits to index a 128 bits multicast hash table, which makes this function a little bit different from other drivers SiS 900 B0 & 635 M/B uses the most significat 8 bits to index 256 bits multicast hash table.  */
static u16 sis900_mcast_bitnr(u8 *addr, u8 revision)
/* SiS 900 uses the most sigificant 7 bits to index a 128 bits multicast hash table, which makes this function a little bit different from other drivers SiS 900 B0 & 635 M/B uses the most significat 8 bits to index 256 bits multicast hash table.  */
static u16 sis900_mcast_bitnr(u8 *addr, u8 revision)
{
	u32 crc = ether_crc(6, addr);
	if ((revision >= SIS635A_900_REV) || (revision == SIS900B_900_REV))
		return ((int)(crc >> 24));
	else
		return ((int)(crc >> 25));
}