summaryrefslogtreecommitdiff
path: root/drivers
diff options
context:
space:
mode:
authorBen Hutchings <ben@decadent.org.uk>2010-10-15 04:36:53 +0100
committerGreg Kroah-Hartman <gregkh@suse.de>2010-10-28 21:04:17 -0700
commitc52425062aebe084f6c7893bf7a153f403ce910b (patch)
treec3ff223e29be0b70f4dc295907bcf61e87a09fb4 /drivers
parent1ad2b6fea2210ab7ddd3e9e48dfad01ce8e84a11 (diff)
r6040: Fix multicast list iteration when hash filter is used
This was fixed in mainline by the interface change made in commit f9dcbcc9e338d08c0f7de7eba4eaafbbb7f81249. After walking the multicast list to set up the hash filter, this function will walk off the end of the list when filling the exact-match entries. This was fixed in mainline by the interface change made in commit f9dcbcc9e338d08c0f7de7eba4eaafbbb7f81249. Reported-by: spamalot@hispeed.ch Reference: https://bugzilla.kernel.org/show_bug.cgi?id=15355 Reported-by: Jason Heeris <jason.heeris@gmail.com> Reference: http://bugs.debian.org/600155 Signed-off-by: Ben Hutchings <ben@decadent.org.uk> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Diffstat (limited to 'drivers')
-rw-r--r--drivers/net/r6040.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/drivers/net/r6040.c b/drivers/net/r6040.c
index 7158452a2dbc..2a473cc75d6b 100644
--- a/drivers/net/r6040.c
+++ b/drivers/net/r6040.c
@@ -976,6 +976,7 @@ static void r6040_multicast_list(struct net_device *dev)
iowrite16(hash_table[3], ioaddr + MAR3);
}
/* Multicast Address 1~4 case */
+ dmi = dev->mc_list;
for (i = 0, dmi; (i < dev->mc_count) && (i < MCAST_MAX); i++) {
adrp = (u16 *)dmi->dmi_addr;
iowrite16(adrp[0], ioaddr + MID_1L + 8*i);