diff options
author | Florian Fainelli <florian@openwrt.org> | 2012-04-15 18:53:42 +0000 |
---|---|---|
committer | Florian Fainelli <florian@openwrt.org> | 2012-04-15 18:53:42 +0000 |
commit | 02031b4e0c35dc3a15e6f35ccfde48392b8a0e39 (patch) | |
tree | 3ef7067232bcf0463b43f3ddc759eb867895b355 /target/linux | |
parent | 0d16a546984ce44cb8a4f7e704a8429c48406e85 (diff) | |
download | upstream-02031b4e0c35dc3a15e6f35ccfde48392b8a0e39.tar.gz upstream-02031b4e0c35dc3a15e6f35ccfde48392b8a0e39.tar.bz2 upstream-02031b4e0c35dc3a15e6f35ccfde48392b8a0e39.zip |
[rdc] refresh 2.6.32 patches
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@31294 3c298f89-4303-0410-b956-a3cf2f4a3e73
Diffstat (limited to 'target/linux')
-rw-r--r-- | target/linux/rdc/patches-2.6.32/015-r6040_fix_multicast.patch | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/target/linux/rdc/patches-2.6.32/015-r6040_fix_multicast.patch b/target/linux/rdc/patches-2.6.32/015-r6040_fix_multicast.patch index f2236655bf..c3e1830c41 100644 --- a/target/linux/rdc/patches-2.6.32/015-r6040_fix_multicast.patch +++ b/target/linux/rdc/patches-2.6.32/015-r6040_fix_multicast.patch @@ -9,7 +9,7 @@ #define MCR1 0x04 /* Control register 1 */ #define MAC_RST 0x0001 /* Reset the MAC */ #define MBCR 0x08 /* Bus control */ -@@ -837,76 +839,96 @@ +@@ -837,76 +839,96 @@ static void r6040_multicast_list(struct { struct r6040_private *lp = netdev_priv(dev); void __iomem *ioaddr = lp->base; @@ -97,11 +97,12 @@ + /* Otherwise, Enable multicast hash table function. */ + else { + u32 crc; -+ -+ lp->mcr0 |= HASH_EN; - if (!(*addrs & 1)) - continue; ++ lp->mcr0 |= HASH_EN; + +- crc = ether_crc_le(6, addrs); + for (i = 0; i < MCAST_MAX ; i++) { + iowrite16(0, ioaddr + MID_1L + 8 * i); + iowrite16(0, ioaddr + MID_1M + 8 * i); @@ -112,8 +113,7 @@ + for (i = 0; i < dev->mc_count; i++) { + u8 *addrs = dmi->dmi_addr; + dmi = dmi->next; - -- crc = ether_crc_le(6, addrs); ++ + crc = ether_crc(ETH_ALEN, addrs); crc >>= 26; - hash_table[crc >> 4] |= 1 << (15 - (crc & 0xf)); |