aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/benet/be_cmds.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/net/benet/be_cmds.c')
-rw-r--r--drivers/net/benet/be_cmds.c10
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 */
1136int be_cmd_multicast_set(struct be_adapter *adapter, u32 if_id, 1136int 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;