summaryrefslogtreecommitdiff
path: root/drivers/net/r6040.c
diff options
context:
space:
mode:
authorColin Cross <ccross@android.com>2010-12-21 18:34:37 -0800
committerColin Cross <ccross@android.com>2010-12-21 18:34:37 -0800
commitb104a07edb2a319f734ddc4fe04852865d8d9e24 (patch)
treea0cd50b3d84ece4d94e366fac4b440e380c2d247 /drivers/net/r6040.c
parente87ec4d59e1f96381547e614c5279bed63775719 (diff)
parenta1346c99fc89f2b3d35c7d7e2e4aef8ea4124342 (diff)
Merge commit 'v2.6.36.2' into linux-tegra-2.6.36
Diffstat (limited to 'drivers/net/r6040.c')
-rw-r--r--drivers/net/r6040.c22
1 files changed, 12 insertions, 10 deletions
diff --git a/drivers/net/r6040.c b/drivers/net/r6040.c
index 142c381e1d73..80666f097ce6 100644
--- a/drivers/net/r6040.c
+++ b/drivers/net/r6040.c
@@ -893,16 +893,18 @@ static void r6040_multicast_list(struct net_device *dev)
/* Multicast Address 1~4 case */
i = 0;
netdev_for_each_mc_addr(ha, dev) {
- if (i < MCAST_MAX) {
- adrp = (u16 *) ha->addr;
- iowrite16(adrp[0], ioaddr + MID_1L + 8 * i);
- iowrite16(adrp[1], ioaddr + MID_1M + 8 * i);
- iowrite16(adrp[2], ioaddr + MID_1H + 8 * i);
- } else {
- iowrite16(0xffff, ioaddr + MID_1L + 8 * i);
- iowrite16(0xffff, ioaddr + MID_1M + 8 * i);
- iowrite16(0xffff, ioaddr + MID_1H + 8 * i);
- }
+ if (i >= MCAST_MAX)
+ break;
+ adrp = (u16 *) ha->addr;
+ iowrite16(adrp[0], ioaddr + MID_1L + 8 * i);
+ iowrite16(adrp[1], ioaddr + MID_1M + 8 * i);
+ iowrite16(adrp[2], ioaddr + MID_1H + 8 * i);
+ i++;
+ }
+ while (i < MCAST_MAX) {
+ iowrite16(0xffff, ioaddr + MID_1L + 8 * i);
+ iowrite16(0xffff, ioaddr + MID_1M + 8 * i);
+ iowrite16(0xffff, ioaddr + MID_1H + 8 * i);
i++;
}
}