From: Florian Fainelli <florian@openwrt.org>
Date: Sun, 15 Apr 2012 18:53:42 +0000 (+0000)
Subject: refresh 2.6.32 patches
X-Git-Url: http://git.cdn.openwrt.org/?a=commitdiff_plain;h=47c8473475032cda3340b7e2462146486fd1479f;p=openwrt%2Fstaging%2Fjow.git

refresh 2.6.32 patches

SVN-Revision: 31294
---

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));