[3/3][PATCH 2.4] via-rhine: fix mc_filter on big-endian arch
From: Roger Luethi <hidden>
Date: 2004-06-06 16:53:31
From: Roger Luethi <hidden>
Date: 2004-06-06 16:53:31
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. Signed-off-by: Roger Luethi <redacted>
--- 2.4-pre/drivers/net/via-rhine.c.orig 2004-06-06 18:12:07.825350069 +0200
+++ 2.4-pre/drivers/net/via-rhine.c 2004-06-06 18:08:45.834623930 +0200@@ -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);