diff options
Diffstat (limited to 'drivers/net/benet/be_cmds.c')
-rw-r--r-- | drivers/net/benet/be_cmds.c | 14 |
1 files changed, 10 insertions, 4 deletions
diff --git a/drivers/net/benet/be_cmds.c b/drivers/net/benet/be_cmds.c index d0ef4ac987cd..e79bf8b9af3b 100644 --- a/drivers/net/benet/be_cmds.c +++ b/drivers/net/benet/be_cmds.c | |||
@@ -843,7 +843,8 @@ int be_cmd_q_destroy(struct be_adapter *adapter, struct be_queue_info *q, | |||
843 | * Uses mbox | 843 | * Uses mbox |
844 | */ | 844 | */ |
845 | int be_cmd_if_create(struct be_adapter *adapter, u32 cap_flags, u32 en_flags, | 845 | int be_cmd_if_create(struct be_adapter *adapter, u32 cap_flags, u32 en_flags, |
846 | u8 *mac, bool pmac_invalid, u32 *if_handle, u32 *pmac_id) | 846 | u8 *mac, bool pmac_invalid, u32 *if_handle, u32 *pmac_id, |
847 | u32 domain) | ||
847 | { | 848 | { |
848 | struct be_mcc_wrb *wrb; | 849 | struct be_mcc_wrb *wrb; |
849 | struct be_cmd_req_if_create *req; | 850 | struct be_cmd_req_if_create *req; |
@@ -860,6 +861,7 @@ int be_cmd_if_create(struct be_adapter *adapter, u32 cap_flags, u32 en_flags, | |||
860 | be_cmd_hdr_prepare(&req->hdr, CMD_SUBSYSTEM_COMMON, | 861 | be_cmd_hdr_prepare(&req->hdr, CMD_SUBSYSTEM_COMMON, |
861 | OPCODE_COMMON_NTWK_INTERFACE_CREATE, sizeof(*req)); | 862 | OPCODE_COMMON_NTWK_INTERFACE_CREATE, sizeof(*req)); |
862 | 863 | ||
864 | req->hdr.domain = domain; | ||
863 | req->capability_flags = cpu_to_le32(cap_flags); | 865 | req->capability_flags = cpu_to_le32(cap_flags); |
864 | req->enable_flags = cpu_to_le32(en_flags); | 866 | req->enable_flags = cpu_to_le32(en_flags); |
865 | req->pmac_invalid = pmac_invalid; | 867 | req->pmac_invalid = pmac_invalid; |
@@ -1111,6 +1113,10 @@ int be_cmd_promiscuous_config(struct be_adapter *adapter, u8 port_num, bool en) | |||
1111 | be_cmd_hdr_prepare(&req->hdr, CMD_SUBSYSTEM_ETH, | 1113 | be_cmd_hdr_prepare(&req->hdr, CMD_SUBSYSTEM_ETH, |
1112 | OPCODE_ETH_PROMISCUOUS, sizeof(*req)); | 1114 | OPCODE_ETH_PROMISCUOUS, sizeof(*req)); |
1113 | 1115 | ||
1116 | /* In FW versions X.102.149/X.101.487 and later, | ||
1117 | * the port setting associated only with the | ||
1118 | * issuing pci function will take effect | ||
1119 | */ | ||
1114 | if (port_num) | 1120 | if (port_num) |
1115 | req->port1_promiscuous = en; | 1121 | req->port1_promiscuous = en; |
1116 | else | 1122 | else |
@@ -1157,13 +1163,13 @@ int be_cmd_multicast_set(struct be_adapter *adapter, u32 if_id, | |||
1157 | req->interface_id = if_id; | 1163 | req->interface_id = if_id; |
1158 | if (netdev) { | 1164 | if (netdev) { |
1159 | int i; | 1165 | int i; |
1160 | struct dev_mc_list *mc; | 1166 | struct netdev_hw_addr *ha; |
1161 | 1167 | ||
1162 | req->num_mac = cpu_to_le16(netdev_mc_count(netdev)); | 1168 | req->num_mac = cpu_to_le16(netdev_mc_count(netdev)); |
1163 | 1169 | ||
1164 | i = 0; | 1170 | i = 0; |
1165 | netdev_for_each_mc_addr(mc, netdev) | 1171 | netdev_for_each_mc_addr(ha, netdev) |
1166 | memcpy(req->mac[i].byte, mc->dmi_addr, ETH_ALEN); | 1172 | memcpy(req->mac[i].byte, ha->addr, ETH_ALEN); |
1167 | } else { | 1173 | } else { |
1168 | req->promiscuous = 1; | 1174 | req->promiscuous = 1; |
1169 | } | 1175 | } |