patch 'net/i40e: fix close return' has been queued to stable release 24.11.9

luca.boccassi at gmail.com luca.boccassi at gmail.com
Tue Oct 27 12:49:27 CET 2026


Hi,

FYI, your patch has been queued to stable release 24.11.9

Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objections before 10/29/26. 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://github.com/bluca/dpdk-stable

This queued commit can be viewed at:
https://github.com/bluca/dpdk-stable/commit/f4367c73843801796b05ee562bdfd9dc5528d399

Thanks.

Luca Boccassi

---
>From f4367c73843801796b05ee562bdfd9dc5528d399 Mon Sep 17 00:00:00 2001
From: Sid Ali Cherrati <scherrati1 at gmail.com>
Date: Wed, 15 Jul 2026 14:48:15 +0200
Subject: [PATCH] net/i40e: fix close return

[ upstream commit 8065eebd098b0aced2c17ed49c3b87a07e00df51 ]

rte_intr_callback_unregister() returns the number of unregistered
callbacks on success. Since the close operation started returning
the ret variable instead of 0, this positive value leaks as the
return value of i40e_dev_close(), so applications checking
rte_eth_dev_close() != 0 treat a successful close as a failure.

Use a separate cb_ret variable for the unregister return value so a
successful unregister never clobbers an earlier error stored in ret,
and stop retrying once unregister fails with anything other than
-EAGAIN, since those errors are not transient.

Fixes: 62024eb82756 ("ethdev: change stop operation callback to return int")

Signed-off-by: Sid Ali Cherrati <scherrati1 at gmail.com>
Acked-by: Bruce Richardson <bruce.richardson at intel.com>
---
 .mailmap                       |  1 +
 drivers/net/i40e/i40e_ethdev.c | 11 +++++++----
 2 files changed, 8 insertions(+), 4 deletions(-)

diff --git a/.mailmap b/.mailmap
index f299bffc735..d3fd2dd84c6 100644
--- a/.mailmap
+++ b/.mailmap
@@ -1491,6 +1491,7 @@ Shweta Choudaha <shweta.choudaha at att.com>
 Shyam Kumar Shrivastav <shrivastav.shyam at gmail.com>
 Shy Shyman <shys at nvidia.com> <shys at mellanox.com>
 Sibaranjan Pattnayak <spattnayak at marvell.com>
+Sid Ali Cherrati <scherrati1 at gmail.com>
 Siddaraju DH <siddaraju.dh at intel.com>
 Simei Su <simei.su at intel.com>
 Simon Ellmann <simon.ellmann at tum.de>
diff --git a/drivers/net/i40e/i40e_ethdev.c b/drivers/net/i40e/i40e_ethdev.c
index 2c7301fdf11..a6e7fe79d49 100644
--- a/drivers/net/i40e/i40e_ethdev.c
+++ b/drivers/net/i40e/i40e_ethdev.c
@@ -2761,14 +2761,17 @@ i40e_dev_close(struct rte_eth_dev *dev)
 	i40e_pf_host_uninit(dev);
 
 	do {
-		ret = rte_intr_callback_unregister(intr_handle,
+		int cb_ret = rte_intr_callback_unregister(intr_handle,
 				i40e_dev_interrupt_handler, dev);
-		if (ret >= 0 || ret == -ENOENT) {
+		if (cb_ret >= 0 || cb_ret == -ENOENT) {
 			break;
-		} else if (ret != -EAGAIN) {
+		} else if (cb_ret != -EAGAIN) {
 			PMD_INIT_LOG(ERR,
 				 "intr callback unregister failed: %d",
-				 ret);
+				 cb_ret);
+			if (ret == 0)
+				ret = cb_ret;
+			break;
 		}
 		i40e_msec_delay(500);
 	} while (retries++ < 5);
-- 
2.47.3

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2026-10-27 11:43:56.516092312 +0000
+++ 0073-net-i40e-fix-close-return.patch	2026-10-27 11:43:53.582061553 +0000
@@ -1 +1 @@
-From 8065eebd098b0aced2c17ed49c3b87a07e00df51 Mon Sep 17 00:00:00 2001
+From f4367c73843801796b05ee562bdfd9dc5528d399 Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit 8065eebd098b0aced2c17ed49c3b87a07e00df51 ]
+
@@ -18 +19,0 @@
-Cc: stable at dpdk.org
@@ -23,2 +24,2 @@
- .mailmap                             |  1 +
- drivers/net/intel/i40e/i40e_ethdev.c | 11 +++++++----
+ .mailmap                       |  1 +
+ drivers/net/i40e/i40e_ethdev.c | 11 +++++++----
@@ -28 +29 @@
-index edd0b03efd..2c2c12091e 100644
+index f299bffc735..d3fd2dd84c6 100644
@@ -31,2 +32 @@
-@@ -1570,6 +1570,7 @@ Shweta Choudaha <shweta.choudaha at att.com>
- Shy Shyman <shys at nvidia.com> <shys at mellanox.com>
+@@ -1491,6 +1491,7 @@ Shweta Choudaha <shweta.choudaha at att.com>
@@ -33,0 +34 @@
+ Shy Shyman <shys at nvidia.com> <shys at mellanox.com>
@@ -39,4 +40,4 @@
-diff --git a/drivers/net/intel/i40e/i40e_ethdev.c b/drivers/net/intel/i40e/i40e_ethdev.c
-index 0d914d86ea..4282081e0d 100644
---- a/drivers/net/intel/i40e/i40e_ethdev.c
-+++ b/drivers/net/intel/i40e/i40e_ethdev.c
+diff --git a/drivers/net/i40e/i40e_ethdev.c b/drivers/net/i40e/i40e_ethdev.c
+index 2c7301fdf11..a6e7fe79d49 100644
+--- a/drivers/net/i40e/i40e_ethdev.c
++++ b/drivers/net/i40e/i40e_ethdev.c


More information about the stable mailing list