From 7972110e59397f05eae31d1406efd0afa22bbbf3 Mon Sep 17 00:00:00 2001 From: Kevin Laatz Date: Thu, 17 Jun 2021 14:18:15 +0000 Subject: [PATCH] raw/ioat: fix missing ring pointer reset 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") Cc: stable@dpdk.org Signed-off-by: Kevin Laatz Acked-by: Bruce Richardson --- 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.20.1