diff options
Diffstat (limited to 'drivers/net/ethernet/intel/i40e')
| -rw-r--r-- | drivers/net/ethernet/intel/i40e/i40e_main.c | 5 | 
1 files changed, 3 insertions, 2 deletions
| diff --git a/drivers/net/ethernet/intel/i40e/i40e_main.c b/drivers/net/ethernet/intel/i40e/i40e_main.c index 2f20980dd9a5..e04b540cedc8 100644 --- a/drivers/net/ethernet/intel/i40e/i40e_main.c +++ b/drivers/net/ethernet/intel/i40e/i40e_main.c @@ -4871,7 +4871,8 @@ static void i40e_clear_interrupt_scheme(struct i40e_pf *pf)  {  	int i; -	i40e_free_misc_vector(pf); +	if (test_bit(__I40E_MISC_IRQ_REQUESTED, pf->state)) +		i40e_free_misc_vector(pf);  	i40e_put_lump(pf->irq_pile, pf->iwarp_base_vector,  		      I40E_IWARP_IRQ_PILE_ID); @@ -10113,7 +10114,7 @@ static int i40e_get_capabilities(struct i40e_pf *pf,  		if (pf->hw.aq.asq_last_status == I40E_AQ_RC_ENOMEM) {  			/* retry with a larger buffer */  			buf_len = data_size; -		} else if (pf->hw.aq.asq_last_status != I40E_AQ_RC_OK) { +		} else if (pf->hw.aq.asq_last_status != I40E_AQ_RC_OK || err) {  			dev_info(&pf->pdev->dev,  				 "capability discovery failed, err %s aq_err %s\n",  				 i40e_stat_str(&pf->hw, err), |