From 0d4a5f7e6978db567a824a554552bc90acfd8a87 Mon Sep 17 00:00:00 2001 From: Jacek Kalwas Date: Tue, 16 Jul 2019 23:43:24 +0200 Subject: [PATCH] nvmf/rdma: free list of devices In case of failure during pd or map allocation freeing list of devices was missing. Signed-off-by: Jacek Kalwas Change-Id: If62f7b072f3894fd1a7e856c19b4ea51646dd20e Reviewed-on: https://review.gerrithub.io/c/spdk/spdk/+/462079 Reviewed-by: Darek Stojaczyk Reviewed-by: Changpeng Liu Tested-by: SPDK CI Jenkins --- lib/nvmf/rdma.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/lib/nvmf/rdma.c b/lib/nvmf/rdma.c index 9e3e2bfe8..74e71a4f2 100644 --- a/lib/nvmf/rdma.c +++ b/lib/nvmf/rdma.c @@ -2289,8 +2289,8 @@ spdk_nvmf_rdma_create(struct spdk_nvmf_transport_opts *opts) if (!device->pd) { SPDK_ERRLOG("Unable to allocate protection domain.\n"); - spdk_nvmf_rdma_destroy(&rtransport->transport); - return NULL; + rc = -ENOMEM; + break; } assert(device->map == NULL); @@ -2298,8 +2298,8 @@ spdk_nvmf_rdma_create(struct spdk_nvmf_transport_opts *opts) device->map = spdk_mem_map_alloc(0, &g_nvmf_rdma_map_ops, device->pd); if (!device->map) { SPDK_ERRLOG("Unable to allocate memory map for listen address\n"); - spdk_nvmf_rdma_destroy(&rtransport->transport); - return NULL; + rc = -ENOMEM; + break; } assert(device->map != NULL);