aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/r6040.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/net/r6040.c')
-rw-r--r--drivers/net/r6040.c11
1 files changed, 6 insertions, 5 deletions
diff --git a/drivers/net/r6040.c b/drivers/net/r6040.c
index d68ba7a58631..b8103425facb 100644
--- a/drivers/net/r6040.c
+++ b/drivers/net/r6040.c
@@ -958,21 +958,22 @@ static void r6040_multicast_list(struct net_device *dev)
958 } 958 }
959 /* Too many multicast addresses 959 /* Too many multicast addresses
960 * accept all traffic */ 960 * accept all traffic */
961 else if ((dev->mc_count > MCAST_MAX) || (dev->flags & IFF_ALLMULTI)) 961 else if ((netdev_mc_count(dev) > MCAST_MAX) ||
962 (dev->flags & IFF_ALLMULTI))
962 reg |= 0x0020; 963 reg |= 0x0020;
963 964
964 iowrite16(reg, ioaddr); 965 iowrite16(reg, ioaddr);
965 spin_unlock_irqrestore(&lp->lock, flags); 966 spin_unlock_irqrestore(&lp->lock, flags);
966 967
967 /* Build the hash table */ 968 /* Build the hash table */
968 if (dev->mc_count > MCAST_MAX) { 969 if (netdev_mc_count(dev) > MCAST_MAX) {
969 u16 hash_table[4]; 970 u16 hash_table[4];
970 u32 crc; 971 u32 crc;
971 972
972 for (i = 0; i < 4; i++) 973 for (i = 0; i < 4; i++)
973 hash_table[i] = 0; 974 hash_table[i] = 0;
974 975
975 for (i = 0; i < dev->mc_count; i++) { 976 for (i = 0; i < netdev_mc_count(dev); i++) {
976 char *addrs = dmi->dmi_addr; 977 char *addrs = dmi->dmi_addr;
977 978
978 dmi = dmi->next; 979 dmi = dmi->next;
@@ -994,14 +995,14 @@ static void r6040_multicast_list(struct net_device *dev)
994 iowrite16(hash_table[3], ioaddr + MAR3); 995 iowrite16(hash_table[3], ioaddr + MAR3);
995 } 996 }
996 /* Multicast Address 1~4 case */ 997 /* Multicast Address 1~4 case */
997 for (i = 0, dmi; (i < dev->mc_count) && (i < MCAST_MAX); i++) { 998 for (i = 0, dmi; (i < netdev_mc_count(dev)) && (i < MCAST_MAX); i++) {
998 adrp = (u16 *)dmi->dmi_addr; 999 adrp = (u16 *)dmi->dmi_addr;
999 iowrite16(adrp[0], ioaddr + MID_1L + 8*i); 1000 iowrite16(adrp[0], ioaddr + MID_1L + 8*i);
1000 iowrite16(adrp[1], ioaddr + MID_1M + 8*i); 1001 iowrite16(adrp[1], ioaddr + MID_1M + 8*i);
1001 iowrite16(adrp[2], ioaddr + MID_1H + 8*i); 1002 iowrite16(adrp[2], ioaddr + MID_1H + 8*i);
1002 dmi = dmi->next; 1003 dmi = dmi->next;
1003 } 1004 }
1004 for (i = dev->mc_count; i < MCAST_MAX; i++) { 1005 for (i = netdev_mc_count(dev); i < MCAST_MAX; i++) {
1005 iowrite16(0xffff, ioaddr + MID_0L + 8*i); 1006 iowrite16(0xffff, ioaddr + MID_0L + 8*i);
1006 iowrite16(0xffff, ioaddr + MID_0M + 8*i); 1007 iowrite16(0xffff, ioaddr + MID_0M + 8*i);
1007 iowrite16(0xffff, ioaddr + MID_0H + 8*i); 1008 iowrite16(0xffff, ioaddr + MID_0H + 8*i);