[rdc] refresh 2.6.32 patches
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@31294 3c298f89-4303-0410-b956-a3cf2f4a3e73master
parent
0d16a54698
commit
02031b4e0c
|
@ -9,7 +9,7 @@
|
||||||
#define MCR1 0x04 /* Control register 1 */
|
#define MCR1 0x04 /* Control register 1 */
|
||||||
#define MAC_RST 0x0001 /* Reset the MAC */
|
#define MAC_RST 0x0001 /* Reset the MAC */
|
||||||
#define MBCR 0x08 /* Bus control */
|
#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);
|
struct r6040_private *lp = netdev_priv(dev);
|
||||||
void __iomem *ioaddr = lp->base;
|
void __iomem *ioaddr = lp->base;
|
||||||
|
@ -97,11 +97,12 @@
|
||||||
+ /* Otherwise, Enable multicast hash table function. */
|
+ /* Otherwise, Enable multicast hash table function. */
|
||||||
+ else {
|
+ else {
|
||||||
+ u32 crc;
|
+ u32 crc;
|
||||||
+
|
|
||||||
+ lp->mcr0 |= HASH_EN;
|
|
||||||
|
|
||||||
- if (!(*addrs & 1))
|
- if (!(*addrs & 1))
|
||||||
- continue;
|
- continue;
|
||||||
|
+ lp->mcr0 |= HASH_EN;
|
||||||
|
|
||||||
|
- crc = ether_crc_le(6, addrs);
|
||||||
+ for (i = 0; i < MCAST_MAX ; i++) {
|
+ for (i = 0; i < MCAST_MAX ; i++) {
|
||||||
+ iowrite16(0, ioaddr + MID_1L + 8 * i);
|
+ iowrite16(0, ioaddr + MID_1L + 8 * i);
|
||||||
+ iowrite16(0, ioaddr + MID_1M + 8 * i);
|
+ iowrite16(0, ioaddr + MID_1M + 8 * i);
|
||||||
|
@ -112,8 +113,7 @@
|
||||||
+ for (i = 0; i < dev->mc_count; i++) {
|
+ for (i = 0; i < dev->mc_count; i++) {
|
||||||
+ u8 *addrs = dmi->dmi_addr;
|
+ u8 *addrs = dmi->dmi_addr;
|
||||||
+ dmi = dmi->next;
|
+ dmi = dmi->next;
|
||||||
|
+
|
||||||
- crc = ether_crc_le(6, addrs);
|
|
||||||
+ crc = ether_crc(ETH_ALEN, addrs);
|
+ crc = ether_crc(ETH_ALEN, addrs);
|
||||||
crc >>= 26;
|
crc >>= 26;
|
||||||
- hash_table[crc >> 4] |= 1 << (15 - (crc & 0xf));
|
- hash_table[crc >> 4] |= 1 << (15 - (crc & 0xf));
|
||||||
|
|
Loading…
Reference in New Issue