提交 a7a80d5a 编写于 作者: J Jeff Garzik

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: NArthur Kepner <akepner@sgi.com>
Signed-off-by: NJeff Garzik <jeff@garzik.org>
上级 c499ec24
...@@ -4092,6 +4092,7 @@ static void s2io_set_multicast(struct net_device *dev) ...@@ -4092,6 +4092,7 @@ static void s2io_set_multicast(struct net_device *dev)
i++, mclist = mclist->next) { i++, mclist = mclist->next) {
memcpy(sp->usr_addrs[i].addr, mclist->dmi_addr, memcpy(sp->usr_addrs[i].addr, mclist->dmi_addr,
ETH_ALEN); ETH_ALEN);
mac_addr = 0;
for (j = 0; j < ETH_ALEN; j++) { for (j = 0; j < ETH_ALEN; j++) {
mac_addr |= mclist->dmi_addr[j]; mac_addr |= mclist->dmi_addr[j];
mac_addr <<= 8; mac_addr <<= 8;
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册