summaryrefslogtreecommitdiffstats
path: root/drivers/net/s2io.c
diff options
context:
space:
mode:
authorJeff Garzik <jeff@garzik.org>2006-03-04 18:06:51 +0100
committerJeff Garzik <jeff@garzik.org>2006-03-04 18:06:51 +0100
commita7a80d5ad3735554338199b9d976dfda5c10d3c7 (patch)
treefb637b295a1614b919a205896612d88673c066c6 /drivers/net/s2io.c
parent[PATCH] reiserfs: do not check if unsigned < 0 (diff)
downloadlinux-a7a80d5ad3735554338199b9d976dfda5c10d3c7.tar.xz
linux-a7a80d5ad3735554338199b9d976dfda5c10d3c7.zip
s2io: set_multicast_list bug
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>
Diffstat (limited to 'drivers/net/s2io.c')
-rw-r--r--drivers/net/s2io.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/drivers/net/s2io.c b/drivers/net/s2io.c
index 49b597cbc19a..b7f00d6eb6a6 100644
--- a/drivers/net/s2io.c
+++ b/drivers/net/s2io.c
@@ -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;