diff options
author | Jeremy Erickson <jerickso@cs.unc.edu> | 2014-04-18 17:06:00 -0400 |
---|---|---|
committer | Jeremy Erickson <jerickso@cs.unc.edu> | 2014-04-18 17:06:00 -0400 |
commit | a215aa7b9ab3759c047201199fba64d3042d7f13 (patch) | |
tree | bca37493d9b2233450e6d3ffced1261d0e4f71fe /drivers/net/r6040.c | |
parent | d31199a77ef606f1d06894385f1852181ba6136b (diff) |
Update 2.6.36 to 2.6.36.4wip-dissipation2-jerickso
Diffstat (limited to 'drivers/net/r6040.c')
-rw-r--r-- | drivers/net/r6040.c | 22 |
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) | |||
893 | /* Multicast Address 1~4 case */ | 893 | /* Multicast Address 1~4 case */ |
894 | i = 0; | 894 | i = 0; |
895 | netdev_for_each_mc_addr(ha, dev) { | 895 | netdev_for_each_mc_addr(ha, dev) { |
896 | if (i < MCAST_MAX) { | 896 | if (i >= MCAST_MAX) |
897 | adrp = (u16 *) ha->addr; | 897 | break; |
898 | iowrite16(adrp[0], ioaddr + MID_1L + 8 * i); | 898 | adrp = (u16 *) ha->addr; |
899 | iowrite16(adrp[1], ioaddr + MID_1M + 8 * i); | 899 | iowrite16(adrp[0], ioaddr + MID_1L + 8 * i); |
900 | iowrite16(adrp[2], ioaddr + MID_1H + 8 * i); | 900 | iowrite16(adrp[1], ioaddr + MID_1M + 8 * i); |
901 | } else { | 901 | iowrite16(adrp[2], ioaddr + MID_1H + 8 * i); |
902 | iowrite16(0xffff, ioaddr + MID_1L + 8 * i); | 902 | i++; |
903 | iowrite16(0xffff, ioaddr + MID_1M + 8 * i); | 903 | } |
904 | iowrite16(0xffff, ioaddr + MID_1H + 8 * i); | 904 | while (i < MCAST_MAX) { |
905 | } | 905 | iowrite16(0xffff, ioaddr + MID_1L + 8 * i); |
906 | iowrite16(0xffff, ioaddr + MID_1M + 8 * i); | ||
907 | iowrite16(0xffff, ioaddr + MID_1H + 8 * i); | ||
906 | i++; | 908 | i++; |
907 | } | 909 | } |
908 | } | 910 | } |