All of lore.kernel.org
 help / color / mirror / Atom feed
* [Intel-wired-lan] [next PATCH S30 v3 00/13] i40e/i40evf updates
@ 2016-03-10 22:59 ajdayana
  2016-03-10 22:59 ` [Intel-wired-lan] [next PATCH S30 v3 01/13] i40e/i40evf: Fix casting in transmit code ajdayana
                   ` (12 more replies)
  0 siblings, 13 replies; 26+ messages in thread
From: ajdayana @ 2016-03-10 22:59 UTC (permalink / raw)
  To: intel-wired-lan

From: Avinash Dayanand <avinash.dayanand@intel.com>

Catherine Sullivan has removed I40E_MAX_USER_PRIORITY define.

Jesse Brandeburg has fixed up the return code and added code
to fix casting in transmit code.

Kevin Scott has added code to save off VSI resource count when updating VSI.

Mitch Williams has added code to notify VFs of all resets.
Added code to prevent double resets. Adds additional check for reset.
Changed the comment to reflect correct function name.

Shannon Nelson has added code to remove msix only if created.
Added code to assure that adminq is alive in debug mode.
Added code to remove timer and task only if created.
Added code to change unknown event error msg to ignore message.

 drivers/net/ethernet/intel/i40e/i40e.h             |  1 -
 drivers/net/ethernet/intel/i40e/i40e_common.c      | 12 ++++++---
 drivers/net/ethernet/intel/i40e/i40e_main.c        | 31 +++++++++++-----------
 drivers/net/ethernet/intel/i40e/i40e_txrx.c        |  5 ++--
 drivers/net/ethernet/intel/i40e/i40e_virtchnl_pf.c | 13 +++++----
 drivers/net/ethernet/intel/i40evf/i40e_txrx.c      |  5 ++--
 drivers/net/ethernet/intel/i40evf/i40e_type.h      | 16 +++++++++++
 drivers/net/ethernet/intel/i40evf/i40evf_main.c    |  6 +++--
 8 files changed, 59 insertions(+), 30 deletions(-)

-- 
2.4.3


^ permalink raw reply	[flat|nested] 26+ messages in thread

* [Intel-wired-lan] [next PATCH S30 v3 01/13] i40e/i40evf: Fix casting in transmit code
  2016-03-10 22:59 [Intel-wired-lan] [next PATCH S30 v3 00/13] i40e/i40evf updates ajdayana
@ 2016-03-10 22:59 ` ajdayana
  2016-03-15 16:14   ` Bowers, AndrewX
  2016-03-10 22:59 ` [Intel-wired-lan] [next PATCH S30 v3 02/13] i40e/i40evf: Remove I40E_MAX_USER_PRIORITY define ajdayana
                   ` (11 subsequent siblings)
  12 siblings, 1 reply; 26+ messages in thread
From: ajdayana @ 2016-03-10 22:59 UTC (permalink / raw)
  To: intel-wired-lan

From: Jesse Brandeburg <jesse.brandeburg@intel.com>

    Simple cast to fix a sparse warning.

    Testing Hints: Test with sparse compile (make
    sparse)

Fixes: commit 5453205cd097 ("i40e/i40evf: Enable support for
SKB_GSO_UDP_TUNNEL_CSUM")

Signed-off-by: Jesse Brandeburg <jesse.brandeburg@intel.com>
---
 drivers/net/ethernet/intel/i40e/i40e_txrx.c   | 5 +++--
 drivers/net/ethernet/intel/i40evf/i40e_txrx.c | 5 +++--
 2 files changed, 6 insertions(+), 4 deletions(-)

diff --git a/drivers/net/ethernet/intel/i40e/i40e_txrx.c b/drivers/net/ethernet/intel/i40e/i40e_txrx.c
index 9af1411..f6c9602 100644
--- a/drivers/net/ethernet/intel/i40e/i40e_txrx.c
+++ b/drivers/net/ethernet/intel/i40e/i40e_txrx.c
@@ -2300,7 +2300,8 @@ static int i40e_tso(struct i40e_ring *tx_ring, struct sk_buff *skb,
 
 			/* remove payload length from outer checksum */
 			paylen = (__force u16)l4.udp->check;
-			paylen += ntohs(1) * (u16)~(skb->len - l4_offset);
+			paylen += ntohs((__force __be16)1) *
+					(u16)~(skb->len - l4_offset);
 			l4.udp->check = ~csum_fold((__force __wsum)paylen);
 		}
 
@@ -2322,7 +2323,7 @@ static int i40e_tso(struct i40e_ring *tx_ring, struct sk_buff *skb,
 
 	/* remove payload length from inner checksum */
 	paylen = (__force u16)l4.tcp->check;
-	paylen += ntohs(1) * (u16)~(skb->len - l4_offset);
+	paylen += ntohs((__force __be16)1) * (u16)~(skb->len - l4_offset);
 	l4.tcp->check = ~csum_fold((__force __wsum)paylen);
 
 	/* compute length of segmentation header */
diff --git a/drivers/net/ethernet/intel/i40evf/i40e_txrx.c b/drivers/net/ethernet/intel/i40evf/i40e_txrx.c
index 5f9c1bb..b5af865 100644
--- a/drivers/net/ethernet/intel/i40evf/i40e_txrx.c
+++ b/drivers/net/ethernet/intel/i40evf/i40e_txrx.c
@@ -1567,7 +1567,8 @@ static int i40e_tso(struct i40e_ring *tx_ring, struct sk_buff *skb,
 
 			/* remove payload length from outer checksum */
 			paylen = (__force u16)l4.udp->check;
-			paylen += ntohs(1) * (u16)~(skb->len - l4_offset);
+			paylen += ntohs((__force __be16)1) *
+					(u16)~(skb->len - l4_offset);
 			l4.udp->check = ~csum_fold((__force __wsum)paylen);
 		}
 
@@ -1589,7 +1590,7 @@ static int i40e_tso(struct i40e_ring *tx_ring, struct sk_buff *skb,
 
 	/* remove payload length from inner checksum */
 	paylen = (__force u16)l4.tcp->check;
-	paylen += ntohs(1) * (u16)~(skb->len - l4_offset);
+	paylen += ntohs((__force __be16)1) * (u16)~(skb->len - l4_offset);
 	l4.tcp->check = ~csum_fold((__force __wsum)paylen);
 
 	/* compute length of segmentation header */
-- 
2.4.3


^ permalink raw reply related	[flat|nested] 26+ messages in thread

* [Intel-wired-lan] [next PATCH S30 v3 02/13] i40e/i40evf: Remove I40E_MAX_USER_PRIORITY define
  2016-03-10 22:59 [Intel-wired-lan] [next PATCH S30 v3 00/13] i40e/i40evf updates ajdayana
  2016-03-10 22:59 ` [Intel-wired-lan] [next PATCH S30 v3 01/13] i40e/i40evf: Fix casting in transmit code ajdayana
@ 2016-03-10 22:59 ` ajdayana
  2016-03-15 16:15   ` Bowers, AndrewX
  2016-03-10 22:59 ` [Intel-wired-lan] [next PATCH S30 v3 03/13] i40e: Save off VSI resource count when updating VSI ajdayana
                   ` (10 subsequent siblings)
  12 siblings, 1 reply; 26+ messages in thread
From: ajdayana @ 2016-03-10 22:59 UTC (permalink / raw)
  To: intel-wired-lan

From: Catherine Sullivan <catherine.sullivan@intel.com>

This patch removes the duplicate definition of I40E_MAX_USER_PRIORITY
in i40e.h that is not needed.

Testing Hints: Make sure everything compiles.

Signed-off-by: Catherine Sullivan <catherine.sullivan@intel.com>
---
 drivers/net/ethernet/intel/i40e/i40e.h | 1 -
 1 file changed, 1 deletion(-)

diff --git a/drivers/net/ethernet/intel/i40e/i40e.h b/drivers/net/ethernet/intel/i40e/i40e.h
index 774a72a..fff184a 100644
--- a/drivers/net/ethernet/intel/i40e/i40e.h
+++ b/drivers/net/ethernet/intel/i40e/i40e.h
@@ -242,7 +242,6 @@ struct i40e_fdir_filter {
 #define I40E_DCB_PRIO_TYPE_STRICT	0
 #define I40E_DCB_PRIO_TYPE_ETS		1
 #define I40E_DCB_STRICT_PRIO_CREDITS	127
-#define I40E_MAX_USER_PRIORITY	8
 /* DCB per TC information data structure */
 struct i40e_tc_info {
 	u16	qoffset;	/* Queue offset from base queue */
-- 
2.4.3


^ permalink raw reply related	[flat|nested] 26+ messages in thread

* [Intel-wired-lan] [next PATCH S30 v3 03/13] i40e: Save off VSI resource count when updating VSI
  2016-03-10 22:59 [Intel-wired-lan] [next PATCH S30 v3 00/13] i40e/i40evf updates ajdayana
  2016-03-10 22:59 ` [Intel-wired-lan] [next PATCH S30 v3 01/13] i40e/i40evf: Fix casting in transmit code ajdayana
  2016-03-10 22:59 ` [Intel-wired-lan] [next PATCH S30 v3 02/13] i40e/i40evf: Remove I40E_MAX_USER_PRIORITY define ajdayana
@ 2016-03-10 22:59 ` ajdayana
  2016-03-15 16:25   ` Bowers, AndrewX
  2016-03-10 22:59 ` [Intel-wired-lan] [next PATCH S30 v3 04/13] i40e: Fix up return code ajdayana
                   ` (9 subsequent siblings)
  12 siblings, 1 reply; 26+ messages in thread
From: ajdayana @ 2016-03-10 22:59 UTC (permalink / raw)
  To: intel-wired-lan

From: Kevin Scott <kevin.c.scott@intel.com>

When updating a VSI, save off the number of allocated and unallocated
VSIs as we do when adding a VSI.

Signed-off-by: Kevin Scott <kevin.c.scott@intel.com>
---
 drivers/net/ethernet/intel/i40e/i40e_common.c | 6 ++++++
 1 file changed, 6 insertions(+)

diff --git a/drivers/net/ethernet/intel/i40e/i40e_common.c b/drivers/net/ethernet/intel/i40e/i40e_common.c
index 4596294..b0fd684 100644
--- a/drivers/net/ethernet/intel/i40e/i40e_common.c
+++ b/drivers/net/ethernet/intel/i40e/i40e_common.c
@@ -2157,6 +2157,9 @@ i40e_status i40e_aq_update_vsi_params(struct i40e_hw *hw,
 	struct i40e_aq_desc desc;
 	struct i40e_aqc_add_get_update_vsi *cmd =
 		(struct i40e_aqc_add_get_update_vsi *)&desc.params.raw;
+	struct i40e_aqc_add_get_update_vsi_completion *resp =
+		(struct i40e_aqc_add_get_update_vsi_completion *)
+		&desc.params.raw;
 	i40e_status status;
 
 	i40e_fill_default_direct_cmd_desc(&desc,
@@ -2168,6 +2171,9 @@ i40e_status i40e_aq_update_vsi_params(struct i40e_hw *hw,
 	status = i40e_asq_send_command(hw, &desc, &vsi_ctx->info,
 				    sizeof(vsi_ctx->info), cmd_details);
 
+	vsi_ctx->vsis_allocated = le16_to_cpu(resp->vsi_used);
+	vsi_ctx->vsis_unallocated = le16_to_cpu(resp->vsi_free);
+
 	return status;
 }
 
-- 
2.4.3


^ permalink raw reply related	[flat|nested] 26+ messages in thread

* [Intel-wired-lan] [next PATCH S30 v3 04/13] i40e: Fix up return code
  2016-03-10 22:59 [Intel-wired-lan] [next PATCH S30 v3 00/13] i40e/i40evf updates ajdayana
                   ` (2 preceding siblings ...)
  2016-03-10 22:59 ` [Intel-wired-lan] [next PATCH S30 v3 03/13] i40e: Save off VSI resource count when updating VSI ajdayana
@ 2016-03-10 22:59 ` ajdayana
  2016-03-15 16:26   ` Bowers, AndrewX
  2016-03-10 22:59 ` [Intel-wired-lan] [next PATCH S30 v3 05/13] i40e: Remove msix only if created ajdayana
                   ` (8 subsequent siblings)
  12 siblings, 1 reply; 26+ messages in thread
From: ajdayana @ 2016-03-10 22:59 UTC (permalink / raw)
  To: intel-wired-lan

From: Jesse Brandeburg <jesse.brandeburg@intel.com>

The i40e_common.c typically uses i40e_status as a return code,
but got missed this one case.

Testing Hints: Compile Linux kernel build.

Signed-off-by: Jesse Brandeburg <jesse.brandeburg@intel.com>
---
 drivers/net/ethernet/intel/i40e/i40e_common.c | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/drivers/net/ethernet/intel/i40e/i40e_common.c b/drivers/net/ethernet/intel/i40e/i40e_common.c
index b0fd684..8276a13 100644
--- a/drivers/net/ethernet/intel/i40e/i40e_common.c
+++ b/drivers/net/ethernet/intel/i40e/i40e_common.c
@@ -1901,13 +1901,13 @@ i40e_status i40e_aq_set_phy_int_mask(struct i40e_hw *hw,
  *
  * Reset the external PHY.
  **/
-enum i40e_status_code i40e_aq_set_phy_debug(struct i40e_hw *hw, u8 cmd_flags,
-					struct i40e_asq_cmd_details *cmd_details)
+i40e_status i40e_aq_set_phy_debug(struct i40e_hw *hw, u8 cmd_flags,
+				  struct i40e_asq_cmd_details *cmd_details)
 {
 	struct i40e_aq_desc desc;
 	struct i40e_aqc_set_phy_debug *cmd =
 		(struct i40e_aqc_set_phy_debug *)&desc.params.raw;
-	enum i40e_status_code status;
+	i40e_status status;
 
 	i40e_fill_default_direct_cmd_desc(&desc,
 					  i40e_aqc_opc_set_phy_debug);
-- 
2.4.3


^ permalink raw reply related	[flat|nested] 26+ messages in thread

* [Intel-wired-lan] [next PATCH S30 v3 05/13] i40e: Remove msix only if created
  2016-03-10 22:59 [Intel-wired-lan] [next PATCH S30 v3 00/13] i40e/i40evf updates ajdayana
                   ` (3 preceding siblings ...)
  2016-03-10 22:59 ` [Intel-wired-lan] [next PATCH S30 v3 04/13] i40e: Fix up return code ajdayana
@ 2016-03-10 22:59 ` ajdayana
  2016-03-15 18:36   ` Bowers, AndrewX
  2016-03-10 22:59 ` [Intel-wired-lan] [next PATCH S30 v3 06/13] i40e: Assure that adminq is alive in debug mode ajdayana
                   ` (7 subsequent siblings)
  12 siblings, 1 reply; 26+ messages in thread
From: ajdayana @ 2016-03-10 22:59 UTC (permalink / raw)
  To: intel-wired-lan

From: Shannon Nelson <shannon.nelson@intel.com>

When cleaning up the interrupt handling, clean up the irqs only if
we actually got them set up.  There are a couple of error recovery
paths that were violating this and causing the kernel a bit of
indigestion.

Testing Hints:
Inject an error om the i40e_probe() that puts the driver into the
debug mode, then remove the driver.  Often this causes a NULL pointer
warning from the i40e_remove trace.

Reviewed-by: Williams, Mitch A <mitch.a.williams@intel.com>
---
 drivers/net/ethernet/intel/i40e/i40e_main.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/net/ethernet/intel/i40e/i40e_main.c b/drivers/net/ethernet/intel/i40e/i40e_main.c
index 59e911f..260abd8 100644
--- a/drivers/net/ethernet/intel/i40e/i40e_main.c
+++ b/drivers/net/ethernet/intel/i40e/i40e_main.c
@@ -4164,7 +4164,7 @@ static void i40e_clear_interrupt_scheme(struct i40e_pf *pf)
 	int i;
 
 	i40e_stop_misc_vector(pf);
-	if (pf->flags & I40E_FLAG_MSIX_ENABLED) {
+	if (pf->flags & I40E_FLAG_MSIX_ENABLED && pf->msix_entries) {
 		synchronize_irq(pf->msix_entries[0].vector);
 		free_irq(pf->msix_entries[0].vector, pf);
 	}
-- 
2.4.3


^ permalink raw reply related	[flat|nested] 26+ messages in thread

* [Intel-wired-lan] [next PATCH S30 v3 06/13] i40e: Assure that adminq is alive in debug mode
  2016-03-10 22:59 [Intel-wired-lan] [next PATCH S30 v3 00/13] i40e/i40evf updates ajdayana
                   ` (4 preceding siblings ...)
  2016-03-10 22:59 ` [Intel-wired-lan] [next PATCH S30 v3 05/13] i40e: Remove msix only if created ajdayana
@ 2016-03-10 22:59 ` ajdayana
  2016-03-10 22:59 ` [Intel-wired-lan] [next PATCH S30 v3 07/13] i40e: Remove timer and task only if created ajdayana
                   ` (6 subsequent siblings)
  12 siblings, 0 replies; 26+ messages in thread
From: ajdayana @ 2016-03-10 22:59 UTC (permalink / raw)
  To: intel-wired-lan

From: Shannon Nelson <shannon.nelson@intel.com>

When dropping into debug mode in a failed probe, make sure that
the AdminQ is left alive for possible hand debug of driver and
firmware states.

Move the mutex_init calls earlier in probe so that if init fails,
the admin queue interface is still available for debugging purposes.

Testing Hints:
Inject an error into the i40e_probe logic that puts the driver
into debug mode and try some debugfs commands that query the
firmware, such as "dump switch".

Signed-off-by: Nelson, Shannon <shannon.nelson@intel.com>
---
 drivers/net/ethernet/intel/i40e/i40e_main.c | 13 ++++++-------
 1 file changed, 6 insertions(+), 7 deletions(-)

diff --git a/drivers/net/ethernet/intel/i40e/i40e_main.c b/drivers/net/ethernet/intel/i40e/i40e_main.c
index 260abd8..5d2dba2 100644
--- a/drivers/net/ethernet/intel/i40e/i40e_main.c
+++ b/drivers/net/ethernet/intel/i40e/i40e_main.c
@@ -10744,6 +10744,12 @@ static int i40e_probe(struct pci_dev *pdev, const struct pci_device_id *ent)
 	hw->bus.func = PCI_FUNC(pdev->devfn);
 	pf->instance = pfs_found;
 
+	/* set up the locks for the AQ, do this only once in probe
+	 * and destroy them only once in remove
+	 */
+	mutex_init(&hw->aq.asq_mutex);
+	mutex_init(&hw->aq.arq_mutex);
+
 	if (debug != -1) {
 		pf->msg_enable = pf->hw.debug_mask;
 		pf->msg_enable = debug;
@@ -10789,12 +10795,6 @@ static int i40e_probe(struct pci_dev *pdev, const struct pci_device_id *ent)
 	/* set up a default setting for link flow control */
 	pf->hw.fc.requested_mode = I40E_FC_NONE;
 
-	/* set up the locks for the AQ, do this only once in probe
-	 * and destroy them only once in remove
-	 */
-	mutex_init(&hw->aq.asq_mutex);
-	mutex_init(&hw->aq.arq_mutex);
-
 	err = i40e_init_adminq(hw);
 	if (err) {
 		if (err == I40E_ERR_FIRMWARE_API_VERSION)
@@ -11171,7 +11171,6 @@ err_init_lan_hmc:
 	kfree(pf->qp_pile);
 err_sw_init:
 err_adminq_setup:
-	(void)i40e_shutdown_adminq(hw);
 err_pf_reset:
 	iounmap(hw->hw_addr);
 err_ioremap:
-- 
2.4.3


^ permalink raw reply related	[flat|nested] 26+ messages in thread

* [Intel-wired-lan] [next PATCH S30 v3 07/13] i40e: Remove timer and task only if created
  2016-03-10 22:59 [Intel-wired-lan] [next PATCH S30 v3 00/13] i40e/i40evf updates ajdayana
                   ` (5 preceding siblings ...)
  2016-03-10 22:59 ` [Intel-wired-lan] [next PATCH S30 v3 06/13] i40e: Assure that adminq is alive in debug mode ajdayana
@ 2016-03-10 22:59 ` ajdayana
  2016-03-15 18:37   ` Bowers, AndrewX
  2016-03-10 22:59 ` [Intel-wired-lan] [next PATCH S30 v3 08/13] i40e: Notify VFs of all resets ajdayana
                   ` (5 subsequent siblings)
  12 siblings, 1 reply; 26+ messages in thread
From: ajdayana @ 2016-03-10 22:59 UTC (permalink / raw)
  To: intel-wired-lan

From: Shannon Nelson <shannon.nelson@intel.com>

In some error scenarios, we may find ourselves trying to remove a
non-existent timer or worktask.  This causes the kernel some bit
of consternation, so don't do it.

Testing Hints: Inject an error into the i40e_probe before these are
created and see if you can get a clean remove.

Signed-off-by: Nelson, Shannon <shannon.nelson@intel.com>
---
 drivers/net/ethernet/intel/i40e/i40e_main.c | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/drivers/net/ethernet/intel/i40e/i40e_main.c b/drivers/net/ethernet/intel/i40e/i40e_main.c
index 5d2dba2..298a73c 100644
--- a/drivers/net/ethernet/intel/i40e/i40e_main.c
+++ b/drivers/net/ethernet/intel/i40e/i40e_main.c
@@ -11212,8 +11212,10 @@ static void i40e_remove(struct pci_dev *pdev)
 	/* no more scheduling of any task */
 	set_bit(__I40E_SUSPENDED, &pf->state);
 	set_bit(__I40E_DOWN, &pf->state);
-	del_timer_sync(&pf->service_timer);
-	cancel_work_sync(&pf->service_task);
+	if (pf->service_timer.data)
+		del_timer_sync(&pf->service_timer);
+	if (pf->service_task.func)
+		cancel_work_sync(&pf->service_task);
 
 	if (pf->flags & I40E_FLAG_SRIOV_ENABLED) {
 		i40e_free_vfs(pf);
-- 
2.4.3


^ permalink raw reply related	[flat|nested] 26+ messages in thread

* [Intel-wired-lan] [next PATCH S30 v3 08/13] i40e: Notify VFs of all resets
  2016-03-10 22:59 [Intel-wired-lan] [next PATCH S30 v3 00/13] i40e/i40evf updates ajdayana
                   ` (6 preceding siblings ...)
  2016-03-10 22:59 ` [Intel-wired-lan] [next PATCH S30 v3 07/13] i40e: Remove timer and task only if created ajdayana
@ 2016-03-10 22:59 ` ajdayana
  2016-03-15 16:36   ` Bowers, AndrewX
  2016-03-10 22:59 ` [Intel-wired-lan] [next PATCH S30 v3 09/13] i40e: Added code to prevent double resets ajdayana
                   ` (4 subsequent siblings)
  12 siblings, 1 reply; 26+ messages in thread
From: ajdayana @ 2016-03-10 22:59 UTC (permalink / raw)
  To: intel-wired-lan

From: Mitch Williams <mitch.a.williams@intel.com>

Notify VFs in the reset interrupt handler, instead of the actual
reset initiation code. This allows the VFs to get properly notified for
all resets, including resets initiated by different PFs on the same
physical device.

Signed-off-by: Mitch Williams <mitch.a.williams@intel.com>
---
 drivers/net/ethernet/intel/i40e/i40e_main.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/drivers/net/ethernet/intel/i40e/i40e_main.c b/drivers/net/ethernet/intel/i40e/i40e_main.c
index 298a73c..b42303c 100644
--- a/drivers/net/ethernet/intel/i40e/i40e_main.c
+++ b/drivers/net/ethernet/intel/i40e/i40e_main.c
@@ -5512,8 +5512,6 @@ void i40e_do_reset(struct i40e_pf *pf, u32 reset_flags)
 
 	WARN_ON(in_interrupt());
 
-	if (i40e_check_asq_alive(&pf->hw))
-		i40e_vc_notify_reset(pf);
 
 	/* do the biggest reset indicated */
 	if (reset_flags & BIT_ULL(__I40E_GLOBAL_RESET_REQUESTED)) {
@@ -6715,6 +6713,8 @@ static void i40e_prep_for_reset(struct i40e_pf *pf)
 	clear_bit(__I40E_RESET_INTR_RECEIVED, &pf->state);
 	if (test_and_set_bit(__I40E_RESET_RECOVERY_PENDING, &pf->state))
 		return;
+	if (i40e_check_asq_alive(&pf->hw))
+		i40e_vc_notify_reset(pf);
 
 	dev_dbg(&pf->pdev->dev, "Tearing down internal switch for reset\n");
 
-- 
2.4.3


^ permalink raw reply related	[flat|nested] 26+ messages in thread

* [Intel-wired-lan] [next PATCH S30 v3 09/13] i40e: Added code to prevent double resets
  2016-03-10 22:59 [Intel-wired-lan] [next PATCH S30 v3 00/13] i40e/i40evf updates ajdayana
                   ` (7 preceding siblings ...)
  2016-03-10 22:59 ` [Intel-wired-lan] [next PATCH S30 v3 08/13] i40e: Notify VFs of all resets ajdayana
@ 2016-03-10 22:59 ` ajdayana
  2016-03-15 16:39   ` Bowers, AndrewX
  2016-03-10 22:59 ` [Intel-wired-lan] [next PATCH S30 v3 10/13] i40e: Change unknown event error msg to ignore message ajdayana
                   ` (3 subsequent siblings)
  12 siblings, 1 reply; 26+ messages in thread
From: ajdayana @ 2016-03-10 22:59 UTC (permalink / raw)
  To: intel-wired-lan

From: Mitch Williams <mitch.a.williams@intel.com>

Clear the VFLR bit after reset processing, instead of before. This
prevents double resets on VF init.

Testing Hints: Should be no functional change but a large number
of VFs will initialize more quickly. Mostly look for no
loss of functionality.

Signed-off-by: Mitch Williams <mitch.a.williams@intel.com>
---
 drivers/net/ethernet/intel/i40e/i40e_virtchnl_pf.c | 11 +++++++----
 1 file changed, 7 insertions(+), 4 deletions(-)

diff --git a/drivers/net/ethernet/intel/i40e/i40e_virtchnl_pf.c b/drivers/net/ethernet/intel/i40e/i40e_virtchnl_pf.c
index acd2693..6a6fc28 100644
--- a/drivers/net/ethernet/intel/i40e/i40e_virtchnl_pf.c
+++ b/drivers/net/ethernet/intel/i40e/i40e_virtchnl_pf.c
@@ -787,9 +787,9 @@ void i40e_reset_vf(struct i40e_vf *vf, bool flr)
 {
 	struct i40e_pf *pf = vf->pf;
 	struct i40e_hw *hw = &pf->hw;
+	u32 reg, reg_idx, bit_idx;
 	bool rsd = false;
 	int i;
-	u32 reg;
 
 	if (test_and_set_bit(__I40E_VF_DISABLE, &pf->state))
 		return;
@@ -856,6 +856,11 @@ complete_reset:
 	}
 	/* tell the VF the reset is done */
 	wr32(hw, I40E_VFGEN_RSTAT1(vf->vf_id), I40E_VFR_VFACTIVE);
+
+	/* clear the VFLR bit in GLGEN_VFLRSTAT */
+	reg_idx = (hw->func_caps.vf_base_id + vf->vf_id) / 32;
+	bit_idx = (hw->func_caps.vf_base_id + vf->vf_id) % 32;
+	wr32(hw, I40E_GLGEN_VFLRSTAT(reg_idx), BIT(bit_idx));
 	i40e_flush(hw);
 	clear_bit(__I40E_VF_DISABLE, &pf->state);
 }
@@ -2056,9 +2061,7 @@ int i40e_vc_process_vflr_event(struct i40e_pf *pf)
 		vf = &pf->vf[vf_id];
 		reg = rd32(hw, I40E_GLGEN_VFLRSTAT(reg_idx));
 		if (reg & BIT(bit_idx)) {
-			/* clear the bit in GLGEN_VFLRSTAT */
-			wr32(hw, I40E_GLGEN_VFLRSTAT(reg_idx), BIT(bit_idx));
-
+			/* i40e_reset_vf will clear the bit in GLGEN_VFLRSTAT */
 			if (!test_bit(__I40E_DOWN, &pf->state))
 				i40e_reset_vf(vf, true);
 		}
-- 
2.4.3


^ permalink raw reply related	[flat|nested] 26+ messages in thread

* [Intel-wired-lan] [next PATCH S30 v3 10/13] i40e: Change unknown event error msg to ignore message
  2016-03-10 22:59 [Intel-wired-lan] [next PATCH S30 v3 00/13] i40e/i40evf updates ajdayana
                   ` (8 preceding siblings ...)
  2016-03-10 22:59 ` [Intel-wired-lan] [next PATCH S30 v3 09/13] i40e: Added code to prevent double resets ajdayana
@ 2016-03-10 22:59 ` ajdayana
  2016-03-15 16:40   ` Bowers, AndrewX
  2016-03-10 22:59 ` [Intel-wired-lan] [next PATCH S30 v3 11/13] i40evf: Add additional check for reset ajdayana
                   ` (2 subsequent siblings)
  12 siblings, 1 reply; 26+ messages in thread
From: ajdayana @ 2016-03-10 22:59 UTC (permalink / raw)
  To: intel-wired-lan

From: Shannon Nelson <shannon.nelson@intel.com>

There's no real error in an unknown event from the Firmware, we're just
posting a useful FYI notice, so this patch simply removes the "Error" word.

Testing Hints:
	Not really testable live with current FW/SW, so just
	compile and go.

Signed-off-by: Shannon Nelson <shannon.nelson@intel.com>
---
 drivers/net/ethernet/intel/i40e/i40e_main.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/net/ethernet/intel/i40e/i40e_main.c b/drivers/net/ethernet/intel/i40e/i40e_main.c
index b42303c..20c03a8 100644
--- a/drivers/net/ethernet/intel/i40e/i40e_main.c
+++ b/drivers/net/ethernet/intel/i40e/i40e_main.c
@@ -6348,7 +6348,7 @@ static void i40e_clean_adminq_subtask(struct i40e_pf *pf)
 			break;
 		default:
 			dev_info(&pf->pdev->dev,
-				 "ARQ Error: Unknown event 0x%04x received\n",
+				 "ARQ: Unknown event 0x%04x ignored\n",
 				 opcode);
 			break;
 		}
-- 
2.4.3


^ permalink raw reply related	[flat|nested] 26+ messages in thread

* [Intel-wired-lan] [next PATCH S30 v3 11/13] i40evf: Add additional check for reset
  2016-03-10 22:59 [Intel-wired-lan] [next PATCH S30 v3 00/13] i40e/i40evf updates ajdayana
                   ` (9 preceding siblings ...)
  2016-03-10 22:59 ` [Intel-wired-lan] [next PATCH S30 v3 10/13] i40e: Change unknown event error msg to ignore message ajdayana
@ 2016-03-10 22:59 ` ajdayana
  2016-03-15 16:55   ` Bowers, AndrewX
  2016-03-10 22:59 ` [Intel-wired-lan] [next PATCH S30 v3 12/13] i40e: Change comment to reflect correct function name ajdayana
  2016-03-10 22:59 ` [Intel-wired-lan] [next PATCH S30 v3 13/13] i40e/i40evf: Bump patch from 1.4.25 to 1.5.1 ajdayana
  12 siblings, 1 reply; 26+ messages in thread
From: ajdayana @ 2016-03-10 22:59 UTC (permalink / raw)
  To: intel-wired-lan

From: Mitch Williams <mitch.a.williams@intel.com>

If the driver happens to read a register during the time in which the
device is undergoing reset, it will receive a value of 0xdeadbeef
instead of a valid value. Unfortunately, the driver may misinterpret
this as a valid value, especially if it's just looking for individual
bits.

Add an explicit check for this value when we are looking for admin queue
errors, and trigger reset recovery if we find it.

Signed-off-by: Mitch Williams <mitch.a.williams@intel.com>
---
 drivers/net/ethernet/intel/i40evf/i40evf_main.c | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/drivers/net/ethernet/intel/i40evf/i40evf_main.c b/drivers/net/ethernet/intel/i40evf/i40evf_main.c
index 820ad94..d783c1b 100644
--- a/drivers/net/ethernet/intel/i40evf/i40evf_main.c
+++ b/drivers/net/ethernet/intel/i40evf/i40evf_main.c
@@ -1994,6 +1994,8 @@ static void i40evf_adminq_task(struct work_struct *work)
 
 	/* check for error indications */
 	val = rd32(hw, hw->aq.arq.len);
+	if (val == 0xdeadbeef) /* indicates device in reset */
+		goto freedom;
 	oldval = val;
 	if (val & I40E_VF_ARQLEN1_ARQVFE_MASK) {
 		dev_info(&adapter->pdev->dev, "ARQ VF Error detected\n");
-- 
2.4.3


^ permalink raw reply related	[flat|nested] 26+ messages in thread

* [Intel-wired-lan] [next PATCH S30 v3 12/13] i40e: Change comment to reflect correct function name
  2016-03-10 22:59 [Intel-wired-lan] [next PATCH S30 v3 00/13] i40e/i40evf updates ajdayana
                   ` (10 preceding siblings ...)
  2016-03-10 22:59 ` [Intel-wired-lan] [next PATCH S30 v3 11/13] i40evf: Add additional check for reset ajdayana
@ 2016-03-10 22:59 ` ajdayana
  2016-03-15 16:56   ` Bowers, AndrewX
  2016-03-10 22:59 ` [Intel-wired-lan] [next PATCH S30 v3 13/13] i40e/i40evf: Bump patch from 1.4.25 to 1.5.1 ajdayana
  12 siblings, 1 reply; 26+ messages in thread
From: ajdayana @ 2016-03-10 22:59 UTC (permalink / raw)
  To: intel-wired-lan

From: Mitch Williams <mitch.a.williams@intel.com>

Minor correction in the comment to reflect the correct function name

Signed-off-by: Mitch Williams <mitch.a.williams@intel.com>
---
 drivers/net/ethernet/intel/i40e/i40e_virtchnl_pf.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/net/ethernet/intel/i40e/i40e_virtchnl_pf.c b/drivers/net/ethernet/intel/i40e/i40e_virtchnl_pf.c
index 6a6fc28..2bde41b 100644
--- a/drivers/net/ethernet/intel/i40e/i40e_virtchnl_pf.c
+++ b/drivers/net/ethernet/intel/i40e/i40e_virtchnl_pf.c
@@ -63,7 +63,7 @@ static void i40e_vc_vf_broadcast(struct i40e_pf *pf,
 }
 
 /**
- * i40e_vc_notify_link_state
+ * i40e_vc_notify_vf_link_state
  * @vf: pointer to the VF structure
  *
  * send a link status message to a single VF
-- 
2.4.3


^ permalink raw reply related	[flat|nested] 26+ messages in thread

* [Intel-wired-lan] [next PATCH S30 v3 13/13] i40e/i40evf: Bump patch from 1.4.25 to 1.5.1
  2016-03-10 22:59 [Intel-wired-lan] [next PATCH S30 v3 00/13] i40e/i40evf updates ajdayana
                   ` (11 preceding siblings ...)
  2016-03-10 22:59 ` [Intel-wired-lan] [next PATCH S30 v3 12/13] i40e: Change comment to reflect correct function name ajdayana
@ 2016-03-10 22:59 ` ajdayana
  2016-03-15 16:57   ` Bowers, AndrewX
  12 siblings, 1 reply; 26+ messages in thread
From: ajdayana @ 2016-03-10 22:59 UTC (permalink / raw)
  To: intel-wired-lan

From: Catherine Sullivan <catherine.sullivan@intel.com>

Signed-off-by: Catherine Sullivan <catherine.sullivan@intel.com>
---
 drivers/net/ethernet/intel/i40e/i40e_main.c     | 4 ++--
 drivers/net/ethernet/intel/i40evf/i40evf_main.c | 4 ++--
 2 files changed, 4 insertions(+), 4 deletions(-)

diff --git a/drivers/net/ethernet/intel/i40e/i40e_main.c b/drivers/net/ethernet/intel/i40e/i40e_main.c
index 20c03a8..39b0009 100644
--- a/drivers/net/ethernet/intel/i40e/i40e_main.c
+++ b/drivers/net/ethernet/intel/i40e/i40e_main.c
@@ -45,8 +45,8 @@ static const char i40e_driver_string[] =
 #define DRV_KERN "-k"
 
 #define DRV_VERSION_MAJOR 1
-#define DRV_VERSION_MINOR 4
-#define DRV_VERSION_BUILD 25
+#define DRV_VERSION_MINOR 5
+#define DRV_VERSION_BUILD 1
 #define DRV_VERSION __stringify(DRV_VERSION_MAJOR) "." \
 	     __stringify(DRV_VERSION_MINOR) "." \
 	     __stringify(DRV_VERSION_BUILD)    DRV_KERN
diff --git a/drivers/net/ethernet/intel/i40evf/i40evf_main.c b/drivers/net/ethernet/intel/i40evf/i40evf_main.c
index d783c1b..e397368 100644
--- a/drivers/net/ethernet/intel/i40evf/i40evf_main.c
+++ b/drivers/net/ethernet/intel/i40evf/i40evf_main.c
@@ -37,8 +37,8 @@ static const char i40evf_driver_string[] =
 #define DRV_KERN "-k"
 
 #define DRV_VERSION_MAJOR 1
-#define DRV_VERSION_MINOR 4
-#define DRV_VERSION_BUILD 15
+#define DRV_VERSION_MINOR 5
+#define DRV_VERSION_BUILD 1
 #define DRV_VERSION __stringify(DRV_VERSION_MAJOR) "." \
 	     __stringify(DRV_VERSION_MINOR) "." \
 	     __stringify(DRV_VERSION_BUILD) \
-- 
2.4.3


^ permalink raw reply related	[flat|nested] 26+ messages in thread

* [Intel-wired-lan] [next PATCH S30 v3 01/13] i40e/i40evf: Fix casting in transmit code
  2016-03-10 22:59 ` [Intel-wired-lan] [next PATCH S30 v3 01/13] i40e/i40evf: Fix casting in transmit code ajdayana
@ 2016-03-15 16:14   ` Bowers, AndrewX
  0 siblings, 0 replies; 26+ messages in thread
From: Bowers, AndrewX @ 2016-03-15 16:14 UTC (permalink / raw)
  To: intel-wired-lan

> -----Original Message-----
> From: Intel-wired-lan [mailto:intel-wired-lan-bounces at lists.osuosl.org] On
> Behalf Of ajdayana
> Sent: Thursday, March 10, 2016 3:00 PM
> To: intel-wired-lan at lists.osuosl.org
> Subject: [Intel-wired-lan] [next PATCH S30 v3 01/13] i40e/i40evf: Fix casting
> in transmit code
> 
> From: Jesse Brandeburg <jesse.brandeburg@intel.com>
> 
>     Simple cast to fix a sparse warning.
> 
>     Testing Hints: Test with sparse compile (make
>     sparse)
> 
> Fixes: commit 5453205cd097 ("i40e/i40evf: Enable support for
> SKB_GSO_UDP_TUNNEL_CSUM")
> 
> Signed-off-by: Jesse Brandeburg <jesse.brandeburg@intel.com>
> ---
>  drivers/net/ethernet/intel/i40e/i40e_txrx.c   | 5 +++--
>  drivers/net/ethernet/intel/i40evf/i40e_txrx.c | 5 +++--
>  2 files changed, 6 insertions(+), 4 deletions(-)

Tested-by: Andrew Bowers <andrewx.bowers@intel.com>
No errors from Sparse when compiling i40e code

^ permalink raw reply	[flat|nested] 26+ messages in thread

* [Intel-wired-lan] [next PATCH S30 v3 02/13] i40e/i40evf: Remove I40E_MAX_USER_PRIORITY define
  2016-03-10 22:59 ` [Intel-wired-lan] [next PATCH S30 v3 02/13] i40e/i40evf: Remove I40E_MAX_USER_PRIORITY define ajdayana
@ 2016-03-15 16:15   ` Bowers, AndrewX
  0 siblings, 0 replies; 26+ messages in thread
From: Bowers, AndrewX @ 2016-03-15 16:15 UTC (permalink / raw)
  To: intel-wired-lan

> -----Original Message-----
> From: Intel-wired-lan [mailto:intel-wired-lan-bounces at lists.osuosl.org] On
> Behalf Of ajdayana
> Sent: Thursday, March 10, 2016 3:00 PM
> To: intel-wired-lan at lists.osuosl.org
> Subject: [Intel-wired-lan] [next PATCH S30 v3 02/13] i40e/i40evf: Remove
> I40E_MAX_USER_PRIORITY define
> 
> From: Catherine Sullivan <catherine.sullivan@intel.com>
> 
> This patch removes the duplicate definition of I40E_MAX_USER_PRIORITY in
> i40e.h that is not needed.
> 
> Testing Hints: Make sure everything compiles.
> 
> Signed-off-by: Catherine Sullivan <catherine.sullivan@intel.com>
> ---
>  drivers/net/ethernet/intel/i40e/i40e.h | 1 -
>  1 file changed, 1 deletion(-)

Tested-by: Andrew Bowers <andrewx.bowers@intel.com>
Compiles normally

^ permalink raw reply	[flat|nested] 26+ messages in thread

* [Intel-wired-lan] [next PATCH S30 v3 03/13] i40e: Save off VSI resource count when updating VSI
  2016-03-10 22:59 ` [Intel-wired-lan] [next PATCH S30 v3 03/13] i40e: Save off VSI resource count when updating VSI ajdayana
@ 2016-03-15 16:25   ` Bowers, AndrewX
  0 siblings, 0 replies; 26+ messages in thread
From: Bowers, AndrewX @ 2016-03-15 16:25 UTC (permalink / raw)
  To: intel-wired-lan

> -----Original Message-----
> From: Intel-wired-lan [mailto:intel-wired-lan-bounces at lists.osuosl.org] On
> Behalf Of ajdayana
> Sent: Thursday, March 10, 2016 3:00 PM
> To: intel-wired-lan at lists.osuosl.org
> Subject: [Intel-wired-lan] [next PATCH S30 v3 03/13] i40e: Save off VSI
> resource count when updating VSI
> 
> From: Kevin Scott <kevin.c.scott@intel.com>
> 
> When updating a VSI, save off the number of allocated and unallocated VSIs
> as we do when adding a VSI.
> 
> Signed-off-by: Kevin Scott <kevin.c.scott@intel.com>
> ---
>  drivers/net/ethernet/intel/i40e/i40e_common.c | 6 ++++++
>  1 file changed, 6 insertions(+)

Tested-by: Andrew Bowers <andrewx.bowers@intel.com>
VSI stats correctly operate

^ permalink raw reply	[flat|nested] 26+ messages in thread

* [Intel-wired-lan] [next PATCH S30 v3 04/13] i40e: Fix up return code
  2016-03-10 22:59 ` [Intel-wired-lan] [next PATCH S30 v3 04/13] i40e: Fix up return code ajdayana
@ 2016-03-15 16:26   ` Bowers, AndrewX
  0 siblings, 0 replies; 26+ messages in thread
From: Bowers, AndrewX @ 2016-03-15 16:26 UTC (permalink / raw)
  To: intel-wired-lan

> -----Original Message-----
> From: Intel-wired-lan [mailto:intel-wired-lan-bounces at lists.osuosl.org] On
> Behalf Of ajdayana
> Sent: Thursday, March 10, 2016 3:00 PM
> To: intel-wired-lan at lists.osuosl.org
> Subject: [Intel-wired-lan] [next PATCH S30 v3 04/13] i40e: Fix up return code
> 
> From: Jesse Brandeburg <jesse.brandeburg@intel.com>
> 
> The i40e_common.c typically uses i40e_status as a return code, but got
> missed this one case.
> 
> Testing Hints: Compile Linux kernel build.
> 
> Signed-off-by: Jesse Brandeburg <jesse.brandeburg@intel.com>
> ---
>  drivers/net/ethernet/intel/i40e/i40e_common.c | 6 +++---
>  1 file changed, 3 insertions(+), 3 deletions(-)

Tested-by: Andrew Bowers <andrewx.bowers@intel.com>
Compiles normally

^ permalink raw reply	[flat|nested] 26+ messages in thread

* [Intel-wired-lan] [next PATCH S30 v3 08/13] i40e: Notify VFs of all resets
  2016-03-10 22:59 ` [Intel-wired-lan] [next PATCH S30 v3 08/13] i40e: Notify VFs of all resets ajdayana
@ 2016-03-15 16:36   ` Bowers, AndrewX
  0 siblings, 0 replies; 26+ messages in thread
From: Bowers, AndrewX @ 2016-03-15 16:36 UTC (permalink / raw)
  To: intel-wired-lan

> -----Original Message-----
> From: Intel-wired-lan [mailto:intel-wired-lan-bounces at lists.osuosl.org] On
> Behalf Of ajdayana
> Sent: Thursday, March 10, 2016 3:00 PM
> To: intel-wired-lan at lists.osuosl.org
> Subject: [Intel-wired-lan] [next PATCH S30 v3 08/13] i40e: Notify VFs of all
> resets
> 
> From: Mitch Williams <mitch.a.williams@intel.com>
> 
> Notify VFs in the reset interrupt handler, instead of the actual reset initiation
> code. This allows the VFs to get properly notified for all resets, including
> resets initiated by different PFs on the same physical device.
> 
> Signed-off-by: Mitch Williams <mitch.a.williams@intel.com>
> ---
>  drivers/net/ethernet/intel/i40e/i40e_main.c | 4 ++--
>  1 file changed, 2 insertions(+), 2 deletions(-)

Tested-by: Andrew Bowers <andrewx.bowers@intel.com>
resets work correctly, VFs receive reset warning across PFs on same device

^ permalink raw reply	[flat|nested] 26+ messages in thread

* [Intel-wired-lan] [next PATCH S30 v3 09/13] i40e: Added code to prevent double resets
  2016-03-10 22:59 ` [Intel-wired-lan] [next PATCH S30 v3 09/13] i40e: Added code to prevent double resets ajdayana
@ 2016-03-15 16:39   ` Bowers, AndrewX
  0 siblings, 0 replies; 26+ messages in thread
From: Bowers, AndrewX @ 2016-03-15 16:39 UTC (permalink / raw)
  To: intel-wired-lan

> -----Original Message-----
> From: Intel-wired-lan [mailto:intel-wired-lan-bounces at lists.osuosl.org] On
> Behalf Of ajdayana
> Sent: Thursday, March 10, 2016 3:00 PM
> To: intel-wired-lan at lists.osuosl.org
> Subject: [Intel-wired-lan] [next PATCH S30 v3 09/13] i40e: Added code to
> prevent double resets
> 
> From: Mitch Williams <mitch.a.williams@intel.com>
> 
> Clear the VFLR bit after reset processing, instead of before. This prevents
> double resets on VF init.
> 
> Testing Hints: Should be no functional change but a large number of VFs will
> initialize more quickly. Mostly look for no loss of functionality.
> 
> Signed-off-by: Mitch Williams <mitch.a.williams@intel.com>
> ---
>  drivers/net/ethernet/intel/i40e/i40e_virtchnl_pf.c | 11 +++++++----
>  1 file changed, 7 insertions(+), 4 deletions(-)

Tested-by: Andrew Bowers <andrewx.bowers@intel.com>
VF allocation works as expected

^ permalink raw reply	[flat|nested] 26+ messages in thread

* [Intel-wired-lan] [next PATCH S30 v3 10/13] i40e: Change unknown event error msg to ignore message
  2016-03-10 22:59 ` [Intel-wired-lan] [next PATCH S30 v3 10/13] i40e: Change unknown event error msg to ignore message ajdayana
@ 2016-03-15 16:40   ` Bowers, AndrewX
  0 siblings, 0 replies; 26+ messages in thread
From: Bowers, AndrewX @ 2016-03-15 16:40 UTC (permalink / raw)
  To: intel-wired-lan

> -----Original Message-----
> From: Intel-wired-lan [mailto:intel-wired-lan-bounces at lists.osuosl.org] On
> Behalf Of ajdayana
> Sent: Thursday, March 10, 2016 3:00 PM
> To: intel-wired-lan at lists.osuosl.org
> Subject: [Intel-wired-lan] [next PATCH S30 v3 10/13] i40e: Change unknown
> event error msg to ignore message
> 
> From: Shannon Nelson <shannon.nelson@intel.com>
> 
> There's no real error in an unknown event from the Firmware, we're just
> posting a useful FYI notice, so this patch simply removes the "Error" word.
> 
> Testing Hints:
> 	Not really testable live with current FW/SW, so just
> 	compile and go.
> 
> Signed-off-by: Shannon Nelson <shannon.nelson@intel.com>
> ---
>  drivers/net/ethernet/intel/i40e/i40e_main.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)

Tested-by: Andrew Bowers <andrewx.bowers@intel.com>
Compiles normally

^ permalink raw reply	[flat|nested] 26+ messages in thread

* [Intel-wired-lan] [next PATCH S30 v3 11/13] i40evf: Add additional check for reset
  2016-03-10 22:59 ` [Intel-wired-lan] [next PATCH S30 v3 11/13] i40evf: Add additional check for reset ajdayana
@ 2016-03-15 16:55   ` Bowers, AndrewX
  0 siblings, 0 replies; 26+ messages in thread
From: Bowers, AndrewX @ 2016-03-15 16:55 UTC (permalink / raw)
  To: intel-wired-lan

> -----Original Message-----
> From: Intel-wired-lan [mailto:intel-wired-lan-bounces at lists.osuosl.org] On
> Behalf Of ajdayana
> Sent: Thursday, March 10, 2016 3:00 PM
> To: intel-wired-lan at lists.osuosl.org
> Subject: [Intel-wired-lan] [next PATCH S30 v3 11/13] i40evf: Add additional
> check for reset
> 
> From: Mitch Williams <mitch.a.williams@intel.com>
> 
> If the driver happens to read a register during the time in which the device is
> undergoing reset, it will receive a value of 0xdeadbeef instead of a valid
> value. Unfortunately, the driver may misinterpret this as a valid value,
> especially if it's just looking for individual bits.
> 
> Add an explicit check for this value when we are looking for admin queue
> errors, and trigger reset recovery if we find it.
> 
> Signed-off-by: Mitch Williams <mitch.a.williams@intel.com>
> ---
>  drivers/net/ethernet/intel/i40evf/i40evf_main.c | 2 ++
>  1 file changed, 2 insertions(+)

Tested-by: Andrew Bowers <andrewx.bowers@intel.com>
Driver correctly handles commands while device is in reset, confirmed registers return 0xDEADBEEF during reset

^ permalink raw reply	[flat|nested] 26+ messages in thread

* [Intel-wired-lan] [next PATCH S30 v3 12/13] i40e: Change comment to reflect correct function name
  2016-03-10 22:59 ` [Intel-wired-lan] [next PATCH S30 v3 12/13] i40e: Change comment to reflect correct function name ajdayana
@ 2016-03-15 16:56   ` Bowers, AndrewX
  0 siblings, 0 replies; 26+ messages in thread
From: Bowers, AndrewX @ 2016-03-15 16:56 UTC (permalink / raw)
  To: intel-wired-lan

> -----Original Message-----
> From: Intel-wired-lan [mailto:intel-wired-lan-bounces at lists.osuosl.org] On
> Behalf Of ajdayana
> Sent: Thursday, March 10, 2016 3:00 PM
> To: intel-wired-lan at lists.osuosl.org
> Subject: [Intel-wired-lan] [next PATCH S30 v3 12/13] i40e: Change comment
> to reflect correct function name
> 
> From: Mitch Williams <mitch.a.williams@intel.com>
> 
> Minor correction in the comment to reflect the correct function name
> 
> Signed-off-by: Mitch Williams <mitch.a.williams@intel.com>
> ---
>  drivers/net/ethernet/intel/i40e/i40e_virtchnl_pf.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)

Tested-by: Andrew Bowers <andrewx.bowers@intel.com>
Compiles normally

^ permalink raw reply	[flat|nested] 26+ messages in thread

* [Intel-wired-lan] [next PATCH S30 v3 13/13] i40e/i40evf: Bump patch from 1.4.25 to 1.5.1
  2016-03-10 22:59 ` [Intel-wired-lan] [next PATCH S30 v3 13/13] i40e/i40evf: Bump patch from 1.4.25 to 1.5.1 ajdayana
@ 2016-03-15 16:57   ` Bowers, AndrewX
  0 siblings, 0 replies; 26+ messages in thread
From: Bowers, AndrewX @ 2016-03-15 16:57 UTC (permalink / raw)
  To: intel-wired-lan

> -----Original Message-----
> From: Intel-wired-lan [mailto:intel-wired-lan-bounces at lists.osuosl.org] On
> Behalf Of ajdayana
> Sent: Thursday, March 10, 2016 3:00 PM
> To: intel-wired-lan at lists.osuosl.org
> Subject: [Intel-wired-lan] [next PATCH S30 v3 13/13] i40e/i40evf: Bump patch
> from 1.4.25 to 1.5.1
> 
> From: Catherine Sullivan <catherine.sullivan@intel.com>
> 
> Signed-off-by: Catherine Sullivan <catherine.sullivan@intel.com>
> ---
>  drivers/net/ethernet/intel/i40e/i40e_main.c     | 4 ++--
>  drivers/net/ethernet/intel/i40evf/i40evf_main.c | 4 ++--
>  2 files changed, 4 insertions(+), 4 deletions(-)

Tested-by: Andrew Bowers <andrewx.bowers@intel.com>
Driver returns correct version number

^ permalink raw reply	[flat|nested] 26+ messages in thread

* [Intel-wired-lan] [next PATCH S30 v3 05/13] i40e: Remove msix only if created
  2016-03-10 22:59 ` [Intel-wired-lan] [next PATCH S30 v3 05/13] i40e: Remove msix only if created ajdayana
@ 2016-03-15 18:36   ` Bowers, AndrewX
  0 siblings, 0 replies; 26+ messages in thread
From: Bowers, AndrewX @ 2016-03-15 18:36 UTC (permalink / raw)
  To: intel-wired-lan

> -----Original Message-----
> From: Intel-wired-lan [mailto:intel-wired-lan-bounces at lists.osuosl.org] On
> Behalf Of ajdayana
> Sent: Thursday, March 10, 2016 3:00 PM
> To: intel-wired-lan at lists.osuosl.org
> Subject: [Intel-wired-lan] [next PATCH S30 v3 05/13] i40e: Remove msix only
> if created
> 
> From: Shannon Nelson <shannon.nelson@intel.com>
> 
> When cleaning up the interrupt handling, clean up the irqs only if we actually
> got them set up.  There are a couple of error recovery paths that were
> violating this and causing the kernel a bit of indigestion.
> 
> Testing Hints:
> Inject an error om the i40e_probe() that puts the driver into the debug
> mode, then remove the driver.  Often this causes a NULL pointer warning
> from the i40e_remove trace.
> 
> Reviewed-by: Williams, Mitch A <mitch.a.williams@intel.com>
> ---
>  drivers/net/ethernet/intel/i40e/i40e_main.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)

Tested-by: Andrew Bowers <andrewx.bowers@intel.com>
Driver will remove cleanly in error state

^ permalink raw reply	[flat|nested] 26+ messages in thread

* [Intel-wired-lan] [next PATCH S30 v3 07/13] i40e: Remove timer and task only if created
  2016-03-10 22:59 ` [Intel-wired-lan] [next PATCH S30 v3 07/13] i40e: Remove timer and task only if created ajdayana
@ 2016-03-15 18:37   ` Bowers, AndrewX
  0 siblings, 0 replies; 26+ messages in thread
From: Bowers, AndrewX @ 2016-03-15 18:37 UTC (permalink / raw)
  To: intel-wired-lan

> -----Original Message-----
> From: Intel-wired-lan [mailto:intel-wired-lan-bounces at lists.osuosl.org] On
> Behalf Of ajdayana
> Sent: Thursday, March 10, 2016 3:00 PM
> To: intel-wired-lan at lists.osuosl.org
> Subject: [Intel-wired-lan] [next PATCH S30 v3 07/13] i40e: Remove timer and
> task only if created
> 
> From: Shannon Nelson <shannon.nelson@intel.com>
> 
> In some error scenarios, we may find ourselves trying to remove a non-
> existent timer or worktask.  This causes the kernel some bit of consternation,
> so don't do it.
> 
> Testing Hints: Inject an error into the i40e_probe before these are created
> and see if you can get a clean remove.
> 
> Signed-off-by: Nelson, Shannon <shannon.nelson@intel.com>
> ---
>  drivers/net/ethernet/intel/i40e/i40e_main.c | 6 ++++--
>  1 file changed, 4 insertions(+), 2 deletions(-)

Tested-by: Andrew Bowers <andrewx.bowers@intel.com>
Driver will remove cleanly in error state

^ permalink raw reply	[flat|nested] 26+ messages in thread

end of thread, other threads:[~2016-03-15 18:37 UTC | newest]

Thread overview: 26+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2016-03-10 22:59 [Intel-wired-lan] [next PATCH S30 v3 00/13] i40e/i40evf updates ajdayana
2016-03-10 22:59 ` [Intel-wired-lan] [next PATCH S30 v3 01/13] i40e/i40evf: Fix casting in transmit code ajdayana
2016-03-15 16:14   ` Bowers, AndrewX
2016-03-10 22:59 ` [Intel-wired-lan] [next PATCH S30 v3 02/13] i40e/i40evf: Remove I40E_MAX_USER_PRIORITY define ajdayana
2016-03-15 16:15   ` Bowers, AndrewX
2016-03-10 22:59 ` [Intel-wired-lan] [next PATCH S30 v3 03/13] i40e: Save off VSI resource count when updating VSI ajdayana
2016-03-15 16:25   ` Bowers, AndrewX
2016-03-10 22:59 ` [Intel-wired-lan] [next PATCH S30 v3 04/13] i40e: Fix up return code ajdayana
2016-03-15 16:26   ` Bowers, AndrewX
2016-03-10 22:59 ` [Intel-wired-lan] [next PATCH S30 v3 05/13] i40e: Remove msix only if created ajdayana
2016-03-15 18:36   ` Bowers, AndrewX
2016-03-10 22:59 ` [Intel-wired-lan] [next PATCH S30 v3 06/13] i40e: Assure that adminq is alive in debug mode ajdayana
2016-03-10 22:59 ` [Intel-wired-lan] [next PATCH S30 v3 07/13] i40e: Remove timer and task only if created ajdayana
2016-03-15 18:37   ` Bowers, AndrewX
2016-03-10 22:59 ` [Intel-wired-lan] [next PATCH S30 v3 08/13] i40e: Notify VFs of all resets ajdayana
2016-03-15 16:36   ` Bowers, AndrewX
2016-03-10 22:59 ` [Intel-wired-lan] [next PATCH S30 v3 09/13] i40e: Added code to prevent double resets ajdayana
2016-03-15 16:39   ` Bowers, AndrewX
2016-03-10 22:59 ` [Intel-wired-lan] [next PATCH S30 v3 10/13] i40e: Change unknown event error msg to ignore message ajdayana
2016-03-15 16:40   ` Bowers, AndrewX
2016-03-10 22:59 ` [Intel-wired-lan] [next PATCH S30 v3 11/13] i40evf: Add additional check for reset ajdayana
2016-03-15 16:55   ` Bowers, AndrewX
2016-03-10 22:59 ` [Intel-wired-lan] [next PATCH S30 v3 12/13] i40e: Change comment to reflect correct function name ajdayana
2016-03-15 16:56   ` Bowers, AndrewX
2016-03-10 22:59 ` [Intel-wired-lan] [next PATCH S30 v3 13/13] i40e/i40evf: Bump patch from 1.4.25 to 1.5.1 ajdayana
2016-03-15 16:57   ` Bowers, AndrewX

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.