patch 'net/iavf: fix misleading admin queue failure logging' has been queued to stable release 25.11.3

Kevin Traynor ktraynor at redhat.com
Tue Jul 28 17:55:32 CEST 2026


Hi,

FYI, your patch has been queued to stable release 25.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/01/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/kevintraynor/dpdk-stable

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

Thanks.

Kevin

---
>From e7c73998fcdd50548f3481b5bb41c6efedf9e831 Mon Sep 17 00:00:00 2001
From: Anurag Mandal <anurag.mandal at intel.com>
Date: Tue, 9 Jun 2026 12:00:50 +0000
Subject: [PATCH] net/iavf: fix misleading admin queue failure logging

[ upstream commit fac77450ac149a11d851ccb6ef31c8c8a089e4f0 ]

iavf_handle_virtchnl_msg() drains the admin receive queue in a loop
until iavf_clean_arq_element() reports that no descriptors are
pending. When the queue becomes empty, the base driver returns
IAVF_ERR_ADMIN_QUEUE_NO_WORK (-57), which is the documented
terminator for the drain loop, and is not an error.

The current loop treats every non-IAVF_SUCCESS return as a failure
and logs it as follows:

"Failed to read msg from AdminQ, ret: -57"

This message floods the logs on every interrupt cycle and misleads
the triage during VF reset by chasing a real virtchnl problem
seeing these spurious -57 AQ failure lines in logs and assumes
the admin queue is broken, when in fact it has just been drained.

This patch fixes the aforesaid issue by treating
IAVF_ERR_ADMIN_QUEUE_NO_WORK in virtchnl message drain as a normal
loop exit empty-queue condition and avoid logging it as an misleading
AQ failure.

Fixes: 22b123a36d07 ("net/avf: initialize PMD")

Signed-off-by: Anurag Mandal <anurag.mandal at intel.com>
Acked-by: Ciara Loftus <ciara.loftus at intel.com>
---
 drivers/net/intel/iavf/iavf_vchnl.c | 12 ++++++++++--
 1 file changed, 10 insertions(+), 2 deletions(-)

diff --git a/drivers/net/intel/iavf/iavf_vchnl.c b/drivers/net/intel/iavf/iavf_vchnl.c
index a6539fea4a..1098338749 100644
--- a/drivers/net/intel/iavf/iavf_vchnl.c
+++ b/drivers/net/intel/iavf/iavf_vchnl.c
@@ -525,6 +525,14 @@ iavf_handle_virtchnl_msg(struct rte_eth_dev *dev)
 
 		if (ret != IAVF_SUCCESS) {
-			PMD_DRV_LOG(INFO, "Failed to read msg from AdminQ,"
-				    "ret: %d", ret);
+			/*
+			 * IAVF_ERR_ADMIN_QUEUE_NO_WORK (-57) means AQ is empty
+			 * and is a normal way to terminate the drain loop.
+			 * Log error only for genuine other failure codes.
+			 * Incorrect logging like this during VF resets might
+			 * mislead into chasing a non-existent AQ failure.
+			 */
+			if (ret != IAVF_ERR_ADMIN_QUEUE_NO_WORK)
+				PMD_DRV_LOG(INFO, "Failed to read msg from AdminQ,"
+					    "ret: %d", ret);
 			break;
 		}
-- 
2.55.0

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2026-07-28 16:54:50.916940598 +0100
+++ 0002-net-iavf-fix-misleading-admin-queue-failure-logging.patch	2026-07-28 16:54:50.750728338 +0100
@@ -1 +1 @@
-From fac77450ac149a11d851ccb6ef31c8c8a089e4f0 Mon Sep 17 00:00:00 2001
+From e7c73998fcdd50548f3481b5bb41c6efedf9e831 Mon Sep 17 00:00:00 2001
@@ -5,0 +6,2 @@
+[ upstream commit fac77450ac149a11d851ccb6ef31c8c8a089e4f0 ]
+
@@ -28 +29,0 @@
-Cc: stable at dpdk.org
@@ -37 +38 @@
-index 94ccfb5d6e..39ebddff31 100644
+index a6539fea4a..1098338749 100644
@@ -40 +41 @@
-@@ -572,6 +572,14 @@ iavf_handle_virtchnl_msg(struct rte_eth_dev *dev)
+@@ -525,6 +525,14 @@ iavf_handle_virtchnl_msg(struct rte_eth_dev *dev)



More information about the stable mailing list