Skip to contentSkip to conversation

via-rhine: fix mc_filter on big-endian arch

PATCH In review Roger Luethi 1 participant 1 message Jun 6, 2004

Subsystems (2)
lore
Share & tools
lore
#0 lore raw

PATCH 3/3 via-rhine: fix mc_filter on big-endian arch

A.J. from VIA Networking Technologies noticed that via-rhine is using cpu_to_le32() when preparing mc_filter hashes. This breaks Rhine hardware multicast filters on big-endian architectures.

Please apply.

drivers/net/via-rhine.c renamed from drivers/net/via-rhine.c.orig +1 -1
@@ -1748,7 +1748,7 @@
 			 i++, mclist = mclist->next) {
 			int bit_nr = ether_crc(ETH_ALEN, mclist->dmi_addr) >> 26;
 
-			mc_filter[bit_nr >> 5] |= cpu_to_le32(1 << (bit_nr & 31));
+			mc_filter[bit_nr >> 5] |= 1 << (bit_nr & 31);
 		}
 		writel(mc_filter[0], ioaddr + MulticastFilter0);
 		writel(mc_filter[1], ioaddr + MulticastFilter1);