diff options
Diffstat (limited to 'drivers/net/r6040.c')
-rw-r--r-- | drivers/net/r6040.c | 11 |
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); |