s2io: set_multicast_list bug
authorJeff Garzik <jeff@garzik.org>
Sat, 4 Mar 2006 17:06:51 +0000 (12:06 -0500)
committerJeff Garzik <jeff@garzik.org>
Sat, 4 Mar 2006 17:06:51 +0000 (12:06 -0500)
The mac_addr variable doesn't get reset between
(re)additions of multicast addresses. One byte
of all multicast addresses (except the first)
can be incorrect.

Signed-off-by: Arthur Kepner <akepner@sgi.com>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
drivers/net/s2io.c

index 49b597c..b7f00d6 100644 (file)
@@ -4092,6 +4092,7 @@ static void s2io_set_multicast(struct net_device *dev)
                     i++, mclist = mclist->next) {
                        memcpy(sp->usr_addrs[i].addr, mclist->dmi_addr,
                               ETH_ALEN);
+                       mac_addr = 0;
                        for (j = 0; j < ETH_ALEN; j++) {
                                mac_addr |= mclist->dmi_addr[j];
                                mac_addr <<= 8;