summaryrefslogtreecommitdiff
path: root/drivers/net/s2io.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/net/s2io.c')
-rw-r--r--drivers/net/s2io.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/drivers/net/s2io.c b/drivers/net/s2io.c
index f8ef1606c30f..001a56254efc 100644
--- a/drivers/net/s2io.c
+++ b/drivers/net/s2io.c
@@ -3025,6 +3025,8 @@ static void s2io_set_multicast(struct net_device *dev)
for (i = 0; i < prev_cnt; i++) {
writeq(RMAC_ADDR_DATA0_MEM_ADDR(dis_addr),
&bar0->rmac_addr_data0_mem);
+ writeq(RMAC_ADDR_DATA1_MEM_MASK(0ULL),
+ &bar0->rmac_addr_data1_mem);
val64 = RMAC_ADDR_CMD_MEM_WE |
RMAC_ADDR_CMD_MEM_STROBE_NEW_CMD |
RMAC_ADDR_CMD_MEM_OFFSET
@@ -3049,8 +3051,11 @@ static void s2io_set_multicast(struct net_device *dev)
mac_addr |= mclist->dmi_addr[j];
mac_addr <<= 8;
}
+ mac_addr >>= 8;
writeq(RMAC_ADDR_DATA0_MEM_ADDR(mac_addr),
&bar0->rmac_addr_data0_mem);
+ writeq(RMAC_ADDR_DATA1_MEM_MASK(0ULL),
+ &bar0->rmac_addr_data1_mem);
val64 = RMAC_ADDR_CMD_MEM_WE |
RMAC_ADDR_CMD_MEM_STROBE_NEW_CMD |