diff options
Diffstat (limited to 'drivers/net/ethernet/intel/igbvf/vf.c')
| -rw-r--r-- | drivers/net/ethernet/intel/igbvf/vf.c | 13 | 
1 files changed, 10 insertions, 3 deletions
| diff --git a/drivers/net/ethernet/intel/igbvf/vf.c b/drivers/net/ethernet/intel/igbvf/vf.c index b8ba3f94c363..a47a2e3e548c 100644 --- a/drivers/net/ethernet/intel/igbvf/vf.c +++ b/drivers/net/ethernet/intel/igbvf/vf.c @@ -1,6 +1,8 @@  // SPDX-License-Identifier: GPL-2.0  /* Copyright(c) 2009 - 2018 Intel Corporation. */ +#include <linux/etherdevice.h> +  #include "vf.h"  static s32 e1000_check_for_link_vf(struct e1000_hw *hw); @@ -131,11 +133,16 @@ static s32 e1000_reset_hw_vf(struct e1000_hw *hw)  		/* set our "perm_addr" based on info provided by PF */  		ret_val = mbx->ops.read_posted(hw, msgbuf, 3);  		if (!ret_val) { -			if (msgbuf[0] == (E1000_VF_RESET | -					  E1000_VT_MSGTYPE_ACK)) +			switch (msgbuf[0]) { +			case E1000_VF_RESET | E1000_VT_MSGTYPE_ACK:  				memcpy(hw->mac.perm_addr, addr, ETH_ALEN); -			else +				break; +			case E1000_VF_RESET | E1000_VT_MSGTYPE_NACK: +				eth_zero_addr(hw->mac.perm_addr); +				break; +			default:  				ret_val = -E1000_ERR_MAC_INIT; +			}  		}  	} |