Subject: Re: [net-next 10/16] i40e: Fix the EMPR interrupt received handling

From: Sergei Shtylyov <[email-masked]>
Date: Mon, 23 Feb 2015 15:45:18 +0300

Hello.

On 2/23/2015 6:25 AM, Jeff Kirsher wrote:

> From: Anjali Singhai Jain <[email-masked]>

> We shouldn't trigger another EMPR when we receive an EMPR event.
> This patch handles EMPR event reception with a different state
> so that we can do the right thing for NVM.

> Change-ID: I9cac70b3658600f016a65beb6fb157e1c1f9adf9
> Signed-off-by: Anjali Singhai Jain <[email-masked]>
> Tested-by: Jim Young <[email-masked]>
> Signed-off-by: Jeff Kirsher <[email-masked]>

[...]

> diff --git a/drivers/net/ethernet/intel/i40e/i40e_main.c b/drivers/net/ethernet/intel/i40e/i40e_main.c
> index 2260cc1..0c1c38e 100644
> --- a/drivers/net/ethernet/intel/i40e/i40e_main.c
> +++ b/drivers/net/ethernet/intel/i40e/i40e_main.c

> @@ -6179,8 +6179,8 @@ static void i40e_reset_and_rebuild(struct i40e_pf *pf, bool reinit)
>   	}
>
>   	/* re-verify the eeprom if we just had an EMP reset */
> -	if (test_bit(__I40E_EMP_RESET_REQUESTED, &pf->state)) {
> -		clear_bit(__I40E_EMP_RESET_REQUESTED, &pf->state);
> +	if (test_bit(__I40E_EMP_RESET_INTR_RECEIVED, &pf->state)) {
> +		clear_bit(__I40E_EMP_RESET_INTR_RECEIVED, &pf->state);

    Why not use test_and_clear_bit()?

>   		i40e_verify_eeprom(pf);
>   	}

WBR, Sergei