From 621f0acfbba9d393542a7a589204124d841184fb Mon Sep 17 00:00:00 2001 From: Changpeng Liu Date: Thu, 2 Dec 2021 22:58:44 +0800 Subject: [PATCH] nvme/compliance: also delete CQ at last in a test case For the test case, we only delete the SQ for a queue pair, this will make SPDK NVMe driver not to send delete CQ when shutting down the controller, so here also delete CQ at last. Change-Id: Ibdfb727710ca51524858158edac415e93bb1c1e3 Signed-off-by: Changpeng Liu Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/10528 Community-CI: Broadcom CI Tested-by: SPDK CI Jenkins Reviewed-by: Aleksey Marchuk Reviewed-by: Ben Walker Reviewed-by: Dong Yi Reviewed-by: Jim Harris --- test/nvme/compliance/nvme_compliance.c | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/test/nvme/compliance/nvme_compliance.c b/test/nvme/compliance/nvme_compliance.c index 7412cc821..e3fff699b 100644 --- a/test/nvme/compliance/nvme_compliance.c +++ b/test/nvme/compliance/nvme_compliance.c @@ -324,6 +324,20 @@ admin_delete_io_sq_delete_sq_twice(void) CU_ASSERT(s.cpl.status.sct == SPDK_NVME_SCT_COMMAND_SPECIFIC); CU_ASSERT(s.cpl.status.sc == SPDK_NVME_SC_INVALID_QUEUE_IDENTIFIER); + /* Delete CQ 1, this is valid. */ + memset(&cmd, 0, sizeof(cmd)); + cmd.opc = SPDK_NVME_OPC_DELETE_IO_CQ; + cmd.cdw10_bits.delete_io_q.qid = 1; + + s.done = false; + rc = spdk_nvme_ctrlr_cmd_admin_raw(ctrlr, &cmd, NULL, 0, test_cb, &s); + CU_ASSERT(rc == 0); + + wait_for_admin_completion(&s, ctrlr); + + CU_ASSERT(s.cpl.status.sct == SPDK_NVME_SCT_GENERIC); + CU_ASSERT(s.cpl.status.sc == SPDK_NVME_SC_SUCCESS); + spdk_dma_free(buf); spdk_nvme_detach(ctrlr); }