[dpdk-stable] [PATCH] raw/ioat: fix missing ring pointer reset

Kevin Laatz kevin.laatz at intel.com
Thu Jun 17 16:18:15 CEST 2021


In the event of a device reconfigure, "hdls_avail" is not being reset. This
can lead to miscalculations in rte_ioat_completed_ops(), causing the
function to report an incorrect amount of completed operations. This patch
fixes the issue by resetting "hdls_avail" during the device configure.

Fixes: 74464005a2af ("raw/ioat: rework SW ring layout")

Signed-off-by: Kevin Laatz <kevin.laatz at intel.com>
---
 drivers/raw/ioat/ioat_common.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/drivers/raw/ioat/ioat_common.c b/drivers/raw/ioat/ioat_common.c
index f4771745cc..60de41152a 100644
--- a/drivers/raw/ioat/ioat_common.c
+++ b/drivers/raw/ioat/ioat_common.c
@@ -174,6 +174,7 @@ idxd_dev_configure(const struct rte_rawdev *dev,
 	}
 	rte_idxd->hdls_read = rte_idxd->batch_start = 0;
 	rte_idxd->batch_size = 0;
+	rte_idxd->hdls_avail = 0;
 
 	return 0;
 }
-- 
2.25.1



More information about the stable mailing list