diff options
Diffstat (limited to 'drivers/net/benet/be_cmds.c')
-rw-r--r-- | drivers/net/benet/be_cmds.c | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/drivers/net/benet/be_cmds.c b/drivers/net/benet/be_cmds.c index ee16b374e02c..c8a2bacb1d13 100644 --- a/drivers/net/benet/be_cmds.c +++ b/drivers/net/benet/be_cmds.c | |||
@@ -1134,8 +1134,7 @@ err: | |||
1134 | * (mc == NULL) => multicast promiscous | 1134 | * (mc == NULL) => multicast promiscous |
1135 | */ | 1135 | */ |
1136 | int be_cmd_multicast_set(struct be_adapter *adapter, u32 if_id, | 1136 | int be_cmd_multicast_set(struct be_adapter *adapter, u32 if_id, |
1137 | struct dev_mc_list *mc_list, u32 mc_count, | 1137 | struct net_device *netdev, struct be_dma_mem *mem) |
1138 | struct be_dma_mem *mem) | ||
1139 | { | 1138 | { |
1140 | struct be_mcc_wrb *wrb; | 1139 | struct be_mcc_wrb *wrb; |
1141 | struct be_cmd_req_mcast_mac_config *req = mem->va; | 1140 | struct be_cmd_req_mcast_mac_config *req = mem->va; |
@@ -1162,13 +1161,14 @@ int be_cmd_multicast_set(struct be_adapter *adapter, u32 if_id, | |||
1162 | OPCODE_COMMON_NTWK_MULTICAST_SET, sizeof(*req)); | 1161 | OPCODE_COMMON_NTWK_MULTICAST_SET, sizeof(*req)); |
1163 | 1162 | ||
1164 | req->interface_id = if_id; | 1163 | req->interface_id = if_id; |
1165 | if (mc_list) { | 1164 | if (netdev) { |
1166 | int i; | 1165 | int i; |
1167 | struct dev_mc_list *mc; | 1166 | struct dev_mc_list *mc; |
1168 | 1167 | ||
1169 | req->num_mac = cpu_to_le16(mc_count); | 1168 | req->num_mac = cpu_to_le16(netdev_mc_count(netdev)); |
1170 | 1169 | ||
1171 | for (mc = mc_list, i = 0; mc; mc = mc->next, i++) | 1170 | i = 0; |
1171 | netdev_for_each_mc_addr(mc, netdev) | ||
1172 | memcpy(req->mac[i].byte, mc->dmi_addr, ETH_ALEN); | 1172 | memcpy(req->mac[i].byte, mc->dmi_addr, ETH_ALEN); |
1173 | } else { | 1173 | } else { |
1174 | req->promiscuous = 1; | 1174 | req->promiscuous = 1; |