From b7c81c1403fbe1bcd5df9dc857d4f3c9a616db73 Mon Sep 17 00:00:00 2001 From: Ciara Power Date: Thu, 10 Oct 2019 13:36:03 +0100 Subject: [PATCH] raw/ioat: fix initial ring size check When running the ioat_rawdev_autotest, the ring size was initially required to be 0. This prevented the test being run multiple times, as the ring size is modified to a non-zero value when running the first test. A global variable is now used to track the expected ring size, and is used in the initial value check. This enables the test to be run more than once. Fixes: 849470d522ed ("raw/ioat: add configure, start and stop functions") Cc: stable@dpdk.org Reported-by: Yinan Wang Signed-off-by: Ciara Power Acked-by: Bruce Richardson --- drivers/raw/ioat/ioat_rawdev_test.c | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/drivers/raw/ioat/ioat_rawdev_test.c b/drivers/raw/ioat/ioat_rawdev_test.c index 6aad79486e..e99f97ec41 100644 --- a/drivers/raw/ioat/ioat_rawdev_test.c +++ b/drivers/raw/ioat/ioat_rawdev_test.c @@ -11,6 +11,7 @@ int ioat_rawdev_test(uint16_t dev_id); /* pre-define to keep compiler happy */ static struct rte_mempool *pool; +static unsigned short expected_ring_size; static int test_enqueue_copies(int dev_id) @@ -148,9 +149,9 @@ ioat_rawdev_test(uint16_t dev_id) unsigned int i; rte_rawdev_info_get(dev_id, &info); - if (p.ring_size != 0) { - printf("Error, initial ring size is non-zero (%d)\n", - (int)p.ring_size); + if (p.ring_size != expected_ring_size) { + printf("Error, initial ring size is not as expected (Actual: %d, Expected: %d)\n", + (int)p.ring_size, expected_ring_size); return -1; } @@ -165,6 +166,7 @@ ioat_rawdev_test(uint16_t dev_id) IOAT_TEST_RINGSIZE, (int)p.ring_size); return -1; } + expected_ring_size = p.ring_size; if (rte_rawdev_start(dev_id) != 0) { printf("Error with rte_rawdev_start()\n"); -- 2.20.1