[Accel-config] [PATCH 1/8] fix some original bug

"Guo, Lingyan" <[email protected]> Fri, 27 Oct 2023 11:06:48 +0800
Newsgroups dev.linux.lists.accel-config
Message-ID <[email protected]>
From: lingyan <[email protected]>

change:
 1. ensure opcode decompress result is verify
 2. first assign to dflag should use = instead of |=
Signed-off-by: lingyan <[email protected]>
---
 test/iaa.c | 12 ++++++++----
 1 file changed, 8 insertions(+), 4 deletions(-)

diff --git a/test/iaa.c b/test/iaa.c
index 42cf6fb..9885c8a 100644
--- a/test/iaa.c
+++ b/test/iaa.c
@@ -1368,7 +1368,7 @@ int iaa_decompress_multi_task_nodes(struct acctest_context *ctx)
 	// Compress
 	while (tsk_node) {
 		tsk_node->tsk->opcode = IAX_OPCODE_COMPRESS;
-		tsk_node->tsk->dflags |= (IDXD_OP_FLAG_CRAV | IDXD_OP_FLAG_RCR);
+		tsk_node->tsk->dflags = (IDXD_OP_FLAG_CRAV | IDXD_OP_FLAG_RCR);
 		if ((tsk_node->tsk->test_flags & TEST_FLAGS_BOF) && ctx->bof)
 			tsk_node->tsk->dflags |= IDXD_OP_FLAG_BOF;
 
@@ -1416,13 +1416,14 @@ int iaa_decompress_multi_task_nodes(struct acctest_context *ctx)
 		tsk_node->tsk->opcode = IAX_OPCODE_DECOMPRESS;
 		tsk_node->tsk->xfer_size = tsk_node->tsk->comp->iax_output_size;
 
-		tsk_node->tsk->dflags |= (IDXD_OP_FLAG_CRAV | IDXD_OP_FLAG_RCR);
+		tsk_node->tsk->dflags = (IDXD_OP_FLAG_CRAV | IDXD_OP_FLAG_RCR);
 		if ((tsk_node->tsk->test_flags & TEST_FLAGS_BOF) && ctx->bof)
 			tsk_node->tsk->dflags |= IDXD_OP_FLAG_BOF;
 
 		tsk_node->tsk->dflags &= ~(IDXD_OP_FLAG_WR_SRC2_CMPL |
 					   IDXD_OP_FLAG_RD_SRC2_AECS);
 		tsk_node->tsk->iaa_src2_xfer_size = 0;
+		free(tsk_node->tsk->src2);
 		tsk_node->tsk->src2 = 0;
 
 		tsk_node->tsk->iaa_decompr_flags = (IDXD_DECOMPRESS_FLAG_SELECT_EOB_BFINAL |
@@ -1475,7 +1476,7 @@ int iaa_scan_multi_task_nodes(struct acctest_context *ctx)
 	int ret = ACCTEST_STATUS_OK;
 
 	while (tsk_node) {
-		tsk_node->tsk->dflags |= (IDXD_OP_FLAG_CRAV | IDXD_OP_FLAG_RCR);
+		tsk_node->tsk->dflags = (IDXD_OP_FLAG_CRAV | IDXD_OP_FLAG_RCR);
 		if ((tsk_node->tsk->test_flags & TEST_FLAGS_BOF) && ctx->bof)
 			tsk_node->tsk->dflags |= IDXD_OP_FLAG_BOF;
 
@@ -2000,7 +2001,7 @@ int iaa_decrypto_multi_task_nodes(struct acctest_context *ctx)
 /* mismatch_expected: expect mismatched buffer with success status 0x1 */
 int iaa_task_result_verify(struct task *tsk, int mismatch_expected)
 {
-	int ret = ACCTEST_STATUS_OK;
+	int ret = ACCTEST_STATUS_FAIL;
 
 	info("verifying task result for %#lx\n", tsk);
 
@@ -2032,6 +2033,9 @@ int iaa_task_result_verify(struct task *tsk, int mismatch_expected)
 	case IAX_OPCODE_COMPRESS:
 		ret = task_result_verify_compress(tsk, mismatch_expected);
 		break;
+	case IAX_OPCODE_DECOMPRESS:
+		ret = task_result_verify_decompress(tsk, mismatch_expected);
+		break;
 	case IAX_OPCODE_SCAN:
 		ret = task_result_verify_scan(tsk, mismatch_expected);
 		break;
-- 
2.34.1