]> Pileus Git - ~andy/linux/blobdiff - drivers/net/sungem.c
ath5k: Use high bitrates for ACK/CTS
[~andy/linux] / drivers / net / sungem.c
index b55ceb88d93f6c79b53d4a91025abf1c58ca2f7c..4344017bfaef8effbb1b78d2da024952dfcce91b 100644 (file)
@@ -1837,7 +1837,7 @@ static u32 gem_setup_multicast(struct gem *gp)
        int i;
 
        if ((gp->dev->flags & IFF_ALLMULTI) ||
-           (gp->dev->mc_count > 256)) {
+           (netdev_mc_count(gp->dev) > 256)) {
                for (i=0; i<16; i++)
                        writel(0xffff, gp->regs + MAC_HASH0 + (i << 2));
                rxcfg |= MAC_RXCFG_HFE;
@@ -1846,17 +1846,13 @@ static u32 gem_setup_multicast(struct gem *gp)
        } else {
                u16 hash_table[16];
                u32 crc;
-               struct dev_mc_list *dmi = gp->dev->mc_list;
+               struct dev_mc_list *dmi;
                int i;
 
-               for (i = 0; i < 16; i++)
-                       hash_table[i] = 0;
-
-               for (i = 0; i < gp->dev->mc_count; i++) {
+               memset(hash_table, 0, sizeof(hash_table));
+               netdev_for_each_mc_addr(dmi, gp->dev) {
                        char *addrs = dmi->dmi_addr;
 
-                       dmi = dmi->next;
-
                        if (!(*addrs & 1))
                                continue;