mirror of
https://github.com/AuxXxilium/linux_dsm_epyc7002.git
synced 2024-12-13 13:16:49 +07:00
ixgbe: Ensure MAC filter was added before setting MACVLAN
This patch adds a check to ensure that adding the MAC filter was successful before setting the MACVLAN. If it was unsuccessful, propagate the error. Signed-off-by: Tony Nguyen <anthony.l.nguyen@intel.com> Tested-by: Andrew Bowers <andrewx.bowers@intel.com> Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
This commit is contained in:
parent
34c8c10a76
commit
0e1ff3061c
@ -679,8 +679,9 @@ static void ixgbe_clear_vf_vlans(struct ixgbe_adapter *adapter, u32 vf)
|
||||
static int ixgbe_set_vf_macvlan(struct ixgbe_adapter *adapter,
|
||||
int vf, int index, unsigned char *mac_addr)
|
||||
{
|
||||
struct list_head *pos;
|
||||
struct vf_macvlans *entry;
|
||||
struct list_head *pos;
|
||||
int retval = 0;
|
||||
|
||||
if (index <= 1) {
|
||||
list_for_each(pos, &adapter->vf_mvs.l) {
|
||||
@ -721,13 +722,15 @@ static int ixgbe_set_vf_macvlan(struct ixgbe_adapter *adapter,
|
||||
if (!entry || !entry->free)
|
||||
return -ENOSPC;
|
||||
|
||||
retval = ixgbe_add_mac_filter(adapter, mac_addr, vf);
|
||||
if (retval < 0)
|
||||
return retval;
|
||||
|
||||
entry->free = false;
|
||||
entry->is_macvlan = true;
|
||||
entry->vf = vf;
|
||||
memcpy(entry->vf_macvlan, mac_addr, ETH_ALEN);
|
||||
|
||||
ixgbe_add_mac_filter(adapter, mac_addr, vf);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user