| 1 | --- |
| 2 | --- a/drivers/net/r6040.c |
| 3 | +++ b/drivers/net/r6040.c |
| 4 | @@ -136,7 +136,7 @@ |
| 5 | #define RX_DESC_SIZE (RX_DCNT * sizeof(struct r6040_descriptor)) |
| 6 | #define TX_DESC_SIZE (TX_DCNT * sizeof(struct r6040_descriptor)) |
| 7 | #define MBCR_DEFAULT 0x012A /* MAC Bus Control Register */ |
| 8 | -#define MCAST_MAX 4 /* Max number multicast addresses to filter */ |
| 9 | +#define MCAST_MAX 3 /* Max number multicast addresses to filter */ |
| 10 | |
| 11 | /* Descriptor status */ |
| 12 | #define DSC_OWNER_MAC 0x8000 /* MAC is the owner of this descriptor */ |
| 13 | @@ -887,9 +887,6 @@ static void r6040_multicast_list(struct |
| 14 | crc >>= 26; |
| 15 | hash_table[crc >> 4] |= 1 << (15 - (crc & 0xf)); |
| 16 | } |
| 17 | - /* Write the index of the hash table */ |
| 18 | - for (i = 0; i < 4; i++) |
| 19 | - iowrite16(hash_table[i] << 14, ioaddr + MCR1); |
| 20 | /* Fill the MAC hash tables with their values */ |
| 21 | iowrite16(hash_table[0], ioaddr + MAR0); |
| 22 | iowrite16(hash_table[1], ioaddr + MAR1); |
| 23 | @@ -905,9 +902,9 @@ static void r6040_multicast_list(struct |
| 24 | dmi = dmi->next; |
| 25 | } |
| 26 | for (i = dev->mc_count; i < MCAST_MAX; i++) { |
| 27 | - iowrite16(0xffff, ioaddr + MID_0L + 8*i); |
| 28 | - iowrite16(0xffff, ioaddr + MID_0M + 8*i); |
| 29 | - iowrite16(0xffff, ioaddr + MID_0H + 8*i); |
| 30 | + iowrite16(0xffff, ioaddr + MID_1L + 8 * i); |
| 31 | + iowrite16(0xffff, ioaddr + MID_1M + 8 * i); |
| 32 | + iowrite16(0xffff, ioaddr + MID_1H + 8 * i); |
| 33 | } |
| 34 | } |
| 35 | |
| 36 | |