diff options
Diffstat (limited to 'drivers/net/ethernet/intel/i40e')
| -rw-r--r-- | drivers/net/ethernet/intel/i40e/i40e_diag.c | 11 | ||||
| -rw-r--r-- | drivers/net/ethernet/intel/i40e/i40e_diag.h | 2 | ||||
| -rw-r--r-- | drivers/net/ethernet/intel/i40e/i40e_main.c | 1 | ||||
| -rw-r--r-- | drivers/net/ethernet/intel/i40e/i40e_txrx.c | 8 | 
4 files changed, 12 insertions, 10 deletions
| diff --git a/drivers/net/ethernet/intel/i40e/i40e_diag.c b/drivers/net/ethernet/intel/i40e/i40e_diag.c index 5b3519c6e362..97fe1787a8f4 100644 --- a/drivers/net/ethernet/intel/i40e/i40e_diag.c +++ b/drivers/net/ethernet/intel/i40e/i40e_diag.c @@ -44,7 +44,7 @@ static int i40e_diag_reg_pattern_test(struct i40e_hw *hw,  	return 0;  } -struct i40e_diag_reg_test_info i40e_reg_list[] = { +const struct i40e_diag_reg_test_info i40e_reg_list[] = {  	/* offset               mask         elements   stride */  	{I40E_QTX_CTL(0),       0x0000FFBF, 1,  		I40E_QTX_CTL(1) - I40E_QTX_CTL(0)}, @@ -78,27 +78,28 @@ int i40e_diag_reg_test(struct i40e_hw *hw)  {  	int ret_code = 0;  	u32 reg, mask; +	u32 elements;  	u32 i, j;  	for (i = 0; i40e_reg_list[i].offset != 0 &&  					     !ret_code; i++) { +		elements = i40e_reg_list[i].elements;  		/* set actual reg range for dynamically allocated resources */  		if (i40e_reg_list[i].offset == I40E_QTX_CTL(0) &&  		    hw->func_caps.num_tx_qp != 0) -			i40e_reg_list[i].elements = hw->func_caps.num_tx_qp; +			elements = hw->func_caps.num_tx_qp;  		if ((i40e_reg_list[i].offset == I40E_PFINT_ITRN(0, 0) ||  		     i40e_reg_list[i].offset == I40E_PFINT_ITRN(1, 0) ||  		     i40e_reg_list[i].offset == I40E_PFINT_ITRN(2, 0) ||  		     i40e_reg_list[i].offset == I40E_QINT_TQCTL(0) ||  		     i40e_reg_list[i].offset == I40E_QINT_RQCTL(0)) &&  		    hw->func_caps.num_msix_vectors != 0) -			i40e_reg_list[i].elements = -				hw->func_caps.num_msix_vectors - 1; +			elements = hw->func_caps.num_msix_vectors - 1;  		/* test register access */  		mask = i40e_reg_list[i].mask; -		for (j = 0; j < i40e_reg_list[i].elements && !ret_code; j++) { +		for (j = 0; j < elements && !ret_code; j++) {  			reg = i40e_reg_list[i].offset +  			      (j * i40e_reg_list[i].stride);  			ret_code = i40e_diag_reg_pattern_test(hw, reg, mask); diff --git a/drivers/net/ethernet/intel/i40e/i40e_diag.h b/drivers/net/ethernet/intel/i40e/i40e_diag.h index e641035c7297..c3ce5f35211f 100644 --- a/drivers/net/ethernet/intel/i40e/i40e_diag.h +++ b/drivers/net/ethernet/intel/i40e/i40e_diag.h @@ -20,7 +20,7 @@ struct i40e_diag_reg_test_info {  	u32 stride;	/* bytes between each element */  }; -extern struct i40e_diag_reg_test_info i40e_reg_list[]; +extern const struct i40e_diag_reg_test_info i40e_reg_list[];  int i40e_diag_reg_test(struct i40e_hw *hw);  int i40e_diag_eeprom_test(struct i40e_hw *hw); diff --git a/drivers/net/ethernet/intel/i40e/i40e_main.c b/drivers/net/ethernet/intel/i40e/i40e_main.c index 467001db5070..228cd502bb48 100644 --- a/drivers/net/ethernet/intel/i40e/i40e_main.c +++ b/drivers/net/ethernet/intel/i40e/i40e_main.c @@ -15525,6 +15525,7 @@ static int i40e_init_recovery_mode(struct i40e_pf *pf, struct i40e_hw *hw)  	int err;  	int v_idx; +	pci_set_drvdata(pf->pdev, pf);  	pci_save_state(pf->pdev);  	/* set up periodic task facility */ diff --git a/drivers/net/ethernet/intel/i40e/i40e_txrx.c b/drivers/net/ethernet/intel/i40e/i40e_txrx.c index 924f972b91fa..72b091f2509d 100644 --- a/drivers/net/ethernet/intel/i40e/i40e_txrx.c +++ b/drivers/net/ethernet/intel/i40e/i40e_txrx.c @@ -171,10 +171,10 @@ static char *i40e_create_dummy_packet(u8 *dummy_packet, bool ipv4, u8 l4proto,  				      struct i40e_fdir_filter *data)  {  	bool is_vlan = !!data->vlan_tag; -	struct vlan_hdr vlan; -	struct ipv6hdr ipv6; -	struct ethhdr eth; -	struct iphdr ip; +	struct vlan_hdr vlan = {}; +	struct ipv6hdr ipv6 = {}; +	struct ethhdr eth = {}; +	struct iphdr ip = {};  	u8 *tmp;  	if (ipv4) { |