From 65155778225671a0d50dc3a63b057b1f47940d9e Mon Sep 17 00:00:00 2001 From: GangCao Date: Mon, 5 Dec 2016 16:47:57 -0500 Subject: [PATCH] nvme: check mutex init return code in ctrlr_construct Change-Id: I0561f45f96ad6e88e7cdfec44c1f20677de2cb19 Signed-off-by: GangCao --- lib/nvme/nvme_ctrlr.c | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/lib/nvme/nvme_ctrlr.c b/lib/nvme/nvme_ctrlr.c index 80657cbce..48c00a0ff 100644 --- a/lib/nvme/nvme_ctrlr.c +++ b/lib/nvme/nvme_ctrlr.c @@ -1286,6 +1286,7 @@ int nvme_ctrlr_construct(struct spdk_nvme_ctrlr *ctrlr) { struct spdk_pci_id pci_id; + int rc; nvme_ctrlr_set_state(ctrlr, NVME_CTRLR_STATE_INIT, NVME_TIMEOUT_INFINITE); ctrlr->flags = 0; @@ -1298,7 +1299,10 @@ nvme_ctrlr_construct(struct spdk_nvme_ctrlr *ctrlr) TAILQ_INIT(&ctrlr->active_io_qpairs); - nvme_mutex_init_recursive_shared(&ctrlr->ctrlr_lock); + rc = nvme_mutex_init_recursive_shared(&ctrlr->ctrlr_lock); + if (rc != 0) { + return rc; + } if (nvme_transport_ctrlr_get_pci_id(ctrlr, &pci_id) == 0) { ctrlr->quirks = nvme_get_quirks(&pci_id); @@ -1306,7 +1310,7 @@ nvme_ctrlr_construct(struct spdk_nvme_ctrlr *ctrlr) TAILQ_INIT(&ctrlr->active_procs); - return 0; + return rc; } void