public inbox for netdev@vger.kernel.org
 help / color / mirror / Atom feed
From: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
To: davem@davemloft.net
Cc: Anjali Singhai Jain <anjali.singhai@intel.com>,
	netdev@vger.kernel.org, nhorman@redhat.com, sassmann@redhat.com,
	jogreene@redhat.com, Jeff Kirsher <jeffrey.t.kirsher@intel.com>
Subject: [net-next v2 10/16] i40e: Fix the EMPR interrupt received handling
Date: Mon, 23 Feb 2015 18:11:15 -0800	[thread overview]
Message-ID: <1424743881-30485-11-git-send-email-jeffrey.t.kirsher@intel.com> (raw)
In-Reply-To: <1424743881-30485-1-git-send-email-jeffrey.t.kirsher@intel.com>

From: Anjali Singhai Jain <anjali.singhai@intel.com>

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 <anjali.singhai@intel.com>
Tested-by: Jim Young <james.m.young@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
---
v2: Update to use test_and_clear_bit() as Sergei Shtylyov has suggested

 drivers/net/ethernet/intel/i40e/i40e.h      | 1 +
 drivers/net/ethernet/intel/i40e/i40e_main.c | 6 ++----
 2 files changed, 3 insertions(+), 4 deletions(-)

diff --git a/drivers/net/ethernet/intel/i40e/i40e.h b/drivers/net/ethernet/intel/i40e/i40e.h
index 2b65cdc..5912fdf 100644
--- a/drivers/net/ethernet/intel/i40e/i40e.h
+++ b/drivers/net/ethernet/intel/i40e/i40e.h
@@ -140,6 +140,7 @@ enum i40e_state_t {
 	__I40E_CORE_RESET_REQUESTED,
 	__I40E_GLOBAL_RESET_REQUESTED,
 	__I40E_EMP_RESET_REQUESTED,
+	__I40E_EMP_RESET_INTR_RECEIVED,
 	__I40E_FILTER_OVERFLOW_PROMISC,
 	__I40E_SUSPENDED,
 	__I40E_PTP_TX_IN_PROGRESS,
diff --git a/drivers/net/ethernet/intel/i40e/i40e_main.c b/drivers/net/ethernet/intel/i40e/i40e_main.c
index 2260cc1..652cb4e 100644
--- a/drivers/net/ethernet/intel/i40e/i40e_main.c
+++ b/drivers/net/ethernet/intel/i40e/i40e_main.c
@@ -3171,7 +3171,7 @@ static irqreturn_t i40e_intr(int irq, void *data)
 			pf->globr_count++;
 		} else if (val == I40E_RESET_EMPR) {
 			pf->empr_count++;
-			set_bit(__I40E_EMP_RESET_REQUESTED, &pf->state);
+			set_bit(__I40E_EMP_RESET_INTR_RECEIVED, &pf->state);
 		}
 	}
 
@@ -6179,10 +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_and_clear_bit(__I40E_EMP_RESET_INTR_RECEIVED, &pf->state))
 		i40e_verify_eeprom(pf);
-	}
 
 	i40e_clear_pxe_mode(hw);
 	ret = i40e_get_capabilities(pf);
-- 
1.9.3

  parent reply	other threads:[~2015-02-24  2:11 UTC|newest]

Thread overview: 20+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-02-24  2:11 [net-next v2 00/16][pull request] Intel Wired LAN Driver Updates 2015-02-23 Jeff Kirsher
2015-02-24  2:11 ` [net-next v2 01/16] e1000e: initial support for i219 Jeff Kirsher
2015-02-24  2:11 ` [net-next v2 02/16] igbvf: Fix code comments and whitespace Jeff Kirsher
2015-02-24  2:11 ` [net-next v2 03/16] igbvf: cleanup msleep() and min/max() usage Jeff Kirsher
2015-02-24  2:11 ` [net-next v2 04/16] i40e: update Shadow RAM read/write functions Jeff Kirsher
2015-02-24  2:11 ` [net-next v2 05/16] i40e: rename debugfs clear_stats option Jeff Kirsher
2015-02-24  2:11 ` [net-next v2 06/16] i40e/i40evf: Refactor the receive routines Jeff Kirsher
2015-02-24  2:11 ` [net-next v2 07/16] i40e/i40evf: restrict VC opcodes to their initial values Jeff Kirsher
2015-02-24  2:11 ` [net-next v2 08/16] i40e: Use #define for the VSI connection type Jeff Kirsher
2015-02-24  2:11 ` [net-next v2 09/16] i40e/i40evf: i40e_register.h updates Jeff Kirsher
2015-02-24  2:11 ` Jeff Kirsher [this message]
2015-02-24  2:11 ` [net-next v2 11/16] i40e/i40evf: Remove unused variable an_enable and function update_link_info Jeff Kirsher
2015-02-24  2:11 ` [net-next v2 12/16] i40e/i40evf: Bump Driver Versions Jeff Kirsher
2015-02-24  2:11 ` [net-next v2 13/16] i40e: Fix i40e_ndo_set_vf_spoofchk Jeff Kirsher
2015-02-24  2:11 ` [net-next v2 14/16] i40evf: disable NAPI polling sooner Jeff Kirsher
2015-02-24  2:11 ` [net-next v2 15/16] i40evf: refactor reset Jeff Kirsher
2015-02-24  2:11 ` [net-next v2 16/16] i40evf: don't wait forever Jeff Kirsher
2015-02-24  2:58 ` [net-next v2 00/16][pull request] Intel Wired LAN Driver Updates 2015-02-23 David Miller
2015-02-24  6:50   ` Jeff Kirsher
2015-02-24 16:49     ` David Miller

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1424743881-30485-11-git-send-email-jeffrey.t.kirsher@intel.com \
    --to=jeffrey.t.kirsher@intel.com \
    --cc=anjali.singhai@intel.com \
    --cc=davem@davemloft.net \
    --cc=jogreene@redhat.com \
    --cc=netdev@vger.kernel.org \
    --cc=nhorman@redhat.com \
    --cc=sassmann@redhat.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox