diff options
Diffstat (limited to 'drivers/net/ethernet/intel/i40e/i40e_diag.c')
| -rw-r--r-- | drivers/net/ethernet/intel/i40e/i40e_diag.c | 11 | 
1 files changed, 6 insertions, 5 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); |