patch 'net/iavf: fix stop ordering' has been queued to stable release 22.11.3

Xueming Li xuemingl at nvidia.com
Thu Aug 10 02:10:24 CEST 2023


Hi,

FYI, your patch has been queued to stable release 22.11.3

Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objections before 08/11/23. So please
shout if anyone has objections.

Also note that after the patch there's a diff of the upstream commit vs the
patch applied to the branch. This will indicate if there was any rebasing
needed to apply to the stable branch. If there were code changes for rebasing
(ie: not only metadata diffs), please double check that the rebase was
correctly done.

Queued patches are on a temporary branch at:
https://git.dpdk.org/dpdk-stable/log/?h=22.11-staging

This queued commit can be viewed at:
https://git.dpdk.org/dpdk-stable/commit/?h=22.11-staging&id=eebdd516b374c17c622dc65a54f2acbe78218244

Thanks.

Xueming Li <xuemingl at nvidia.com>

---
>From eebdd516b374c17c622dc65a54f2acbe78218244 Mon Sep 17 00:00:00 2001
From: Zhichao Zeng <zhichaox.zeng at intel.com>
Date: Wed, 12 Jul 2023 13:35:37 +0800
Subject: [PATCH] net/iavf: fix stop ordering
Cc: Xueming Li <xuemingl at nvidia.com>

[ upstream commit 87b2afdea3aae6095aa80956ae2e15f602594185 ]

The current implementation stops queue before disabling the Rx interrupt,
and when there are still unprocessed packets remaining in the queue,
this may cause the Rx ring to timeout, leading to IOMMU fault.

This patch disables the Rx interrupt before stopping the queue, ensuring
that no packets received when disabling the queues.

Fixes: 02d212ca3125 ("net/iavf: rename remaining avf strings")

Signed-off-by: Bartosz Staszewski <bartoszx.staszewski at intel.com>
Signed-off-by: Zhichao Zeng <zhichaox.zeng at intel.com>
Acked-by: Qi Zhang <qi.z.zhang at intel.com>
---
 .mailmap                       | 1 +
 drivers/net/iavf/iavf_ethdev.c | 4 ++--
 2 files changed, 3 insertions(+), 2 deletions(-)

diff --git a/.mailmap b/.mailmap
index e74bf83b77..f483c8cd69 100644
--- a/.mailmap
+++ b/.mailmap
@@ -144,6 +144,7 @@ Balazs Nemeth <bnemeth at redhat.com> <balazs.nemeth at intel.com>
 Bao-Long Tran <longtb5 at viettel.com.vn>
 Barak Enat <barak at saguna.net>
 Barry Cao <barry.cao at nxp.com>
+Bartosz Staszewski <bartoszx.staszewski at intel.com>
 Baruch Siach <baruch at tkos.co.il>
 Bassam Zaid AlKilani <bzalkilani at nvidia.com>
 Beilei Xing <beilei.xing at intel.com>
diff --git a/drivers/net/iavf/iavf_ethdev.c b/drivers/net/iavf/iavf_ethdev.c
index 9b3cbee7d4..610547502b 100644
--- a/drivers/net/iavf/iavf_ethdev.c
+++ b/drivers/net/iavf/iavf_ethdev.c
@@ -1078,8 +1078,6 @@ iavf_dev_stop(struct rte_eth_dev *dev)
 	if (adapter->stopped == 1)
 		return 0;
 
-	iavf_stop_queues(dev);
-
 	/* Disable the interrupt for Rx */
 	rte_intr_efd_disable(intr_handle);
 	/* Rx interrupt vector mapping free */
@@ -1092,6 +1090,8 @@ iavf_dev_stop(struct rte_eth_dev *dev)
 	iavf_add_del_mc_addr_list(adapter, vf->mc_addrs, vf->mc_addrs_num,
 				  false);
 
+	iavf_stop_queues(dev);
+
 	adapter->stopped = 1;
 	dev->data->dev_started = 0;
 
-- 
2.25.1

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2023-08-09 21:51:20.907040800 +0800
+++ 0107-net-iavf-fix-stop-ordering.patch	2023-08-09 21:51:18.274352000 +0800
@@ -1 +1 @@
-From 87b2afdea3aae6095aa80956ae2e15f602594185 Mon Sep 17 00:00:00 2001
+From eebdd516b374c17c622dc65a54f2acbe78218244 Mon Sep 17 00:00:00 2001
@@ -4,0 +5,3 @@
+Cc: Xueming Li <xuemingl at nvidia.com>
+
+[ upstream commit 87b2afdea3aae6095aa80956ae2e15f602594185 ]
@@ -14 +16,0 @@
-Cc: stable at dpdk.org
@@ -25 +27 @@
-index 670d312f84..9ce554451b 100644
+index e74bf83b77..f483c8cd69 100644
@@ -28,2 +30,2 @@
-@@ -151,6 +151,7 @@ Bao-Long Tran <longtb5 at viettel.com.vn>
- Bar Neuman <bneuman at nvidia.com>
+@@ -144,6 +144,7 @@ Balazs Nemeth <bnemeth at redhat.com> <balazs.nemeth at intel.com>
+ Bao-Long Tran <longtb5 at viettel.com.vn>
@@ -37 +39 @@
-index ac7154d720..f2fc5a5621 100644
+index 9b3cbee7d4..610547502b 100644
@@ -40 +42 @@
-@@ -1087,8 +1087,6 @@ iavf_dev_stop(struct rte_eth_dev *dev)
+@@ -1078,8 +1078,6 @@ iavf_dev_stop(struct rte_eth_dev *dev)
@@ -49 +51 @@
-@@ -1101,6 +1099,8 @@ iavf_dev_stop(struct rte_eth_dev *dev)
+@@ -1092,6 +1090,8 @@ iavf_dev_stop(struct rte_eth_dev *dev)


More information about the stable mailing list