|
@@ -236,12 +236,13 @@ static int be_mac_addr_set(struct net_device *netdev, void *p)
|
|
if (!be_physfn(adapter))
|
|
if (!be_physfn(adapter))
|
|
goto netdev_addr;
|
|
goto netdev_addr;
|
|
|
|
|
|
- status = be_cmd_pmac_del(adapter, adapter->if_handle, adapter->pmac_id);
|
|
|
|
|
|
+ status = be_cmd_pmac_del(adapter, adapter->if_handle,
|
|
|
|
+ adapter->pmac_id, 0);
|
|
if (status)
|
|
if (status)
|
|
return status;
|
|
return status;
|
|
|
|
|
|
status = be_cmd_pmac_add(adapter, (u8 *)addr->sa_data,
|
|
status = be_cmd_pmac_add(adapter, (u8 *)addr->sa_data,
|
|
- adapter->if_handle, &adapter->pmac_id);
|
|
|
|
|
|
+ adapter->if_handle, &adapter->pmac_id, 0);
|
|
netdev_addr:
|
|
netdev_addr:
|
|
if (!status)
|
|
if (!status)
|
|
memcpy(netdev->dev_addr, addr->sa_data, netdev->addr_len);
|
|
memcpy(netdev->dev_addr, addr->sa_data, netdev->addr_len);
|
|
@@ -741,11 +742,11 @@ static int be_set_vf_mac(struct net_device *netdev, int vf, u8 *mac)
|
|
if (adapter->vf_cfg[vf].vf_pmac_id != BE_INVALID_PMAC_ID)
|
|
if (adapter->vf_cfg[vf].vf_pmac_id != BE_INVALID_PMAC_ID)
|
|
status = be_cmd_pmac_del(adapter,
|
|
status = be_cmd_pmac_del(adapter,
|
|
adapter->vf_cfg[vf].vf_if_handle,
|
|
adapter->vf_cfg[vf].vf_if_handle,
|
|
- adapter->vf_cfg[vf].vf_pmac_id);
|
|
|
|
|
|
+ adapter->vf_cfg[vf].vf_pmac_id, vf + 1);
|
|
|
|
|
|
status = be_cmd_pmac_add(adapter, mac,
|
|
status = be_cmd_pmac_add(adapter, mac,
|
|
adapter->vf_cfg[vf].vf_if_handle,
|
|
adapter->vf_cfg[vf].vf_if_handle,
|
|
- &adapter->vf_cfg[vf].vf_pmac_id);
|
|
|
|
|
|
+ &adapter->vf_cfg[vf].vf_pmac_id, vf + 1);
|
|
|
|
|
|
if (status)
|
|
if (status)
|
|
dev_err(&adapter->pdev->dev, "MAC %pM set on VF %d Failed\n",
|
|
dev_err(&adapter->pdev->dev, "MAC %pM set on VF %d Failed\n",
|
|
@@ -2225,7 +2226,8 @@ static inline int be_vf_eth_addr_config(struct be_adapter *adapter)
|
|
for (vf = 0; vf < num_vfs; vf++) {
|
|
for (vf = 0; vf < num_vfs; vf++) {
|
|
status = be_cmd_pmac_add(adapter, mac,
|
|
status = be_cmd_pmac_add(adapter, mac,
|
|
adapter->vf_cfg[vf].vf_if_handle,
|
|
adapter->vf_cfg[vf].vf_if_handle,
|
|
- &adapter->vf_cfg[vf].vf_pmac_id);
|
|
|
|
|
|
+ &adapter->vf_cfg[vf].vf_pmac_id,
|
|
|
|
+ vf + 1);
|
|
if (status)
|
|
if (status)
|
|
dev_err(&adapter->pdev->dev,
|
|
dev_err(&adapter->pdev->dev,
|
|
"Mac address add failed for VF %d\n", vf);
|
|
"Mac address add failed for VF %d\n", vf);
|
|
@@ -2245,7 +2247,7 @@ static inline void be_vf_eth_addr_rem(struct be_adapter *adapter)
|
|
if (adapter->vf_cfg[vf].vf_pmac_id != BE_INVALID_PMAC_ID)
|
|
if (adapter->vf_cfg[vf].vf_pmac_id != BE_INVALID_PMAC_ID)
|
|
be_cmd_pmac_del(adapter,
|
|
be_cmd_pmac_del(adapter,
|
|
adapter->vf_cfg[vf].vf_if_handle,
|
|
adapter->vf_cfg[vf].vf_if_handle,
|
|
- adapter->vf_cfg[vf].vf_pmac_id);
|
|
|
|
|
|
+ adapter->vf_cfg[vf].vf_pmac_id, vf + 1);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
|