Commit e6903f30 authored by Konrad Sztyber's avatar Konrad Sztyber Committed by Tomasz Zawadzki
Browse files

nvmf/vfio_user: allow ctrlr->thread=NULL in free_ctrlr()



ctrlr->thread can be NULL when when the controller is freed as a result
of a failed CONNECT command.

Signed-off-by: default avatarKonrad Sztyber <konrad.sztyber@intel.com>
Change-Id: I43d46e012a3d5f0a09a91ac4bdd9ca2f69f12814
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/22238


Community-CI: Mellanox Build Bot
Reviewed-by: default avatarTomasz Zawadzki <tomasz.zawadzki@intel.com>
Reviewed-by: default avatarThanos Makatos <thanos.makatos@nutanix.com>
Tested-by: default avatarSPDK CI Jenkins <sys_sgci@intel.com>
Reviewed-by: default avatarJim Harris <jim.harris@samsung.com>
parent babe0ba9
Loading
Loading
Loading
Loading
+4 −1
Original line number Diff line number Diff line
@@ -4327,8 +4327,11 @@ _free_ctrlr(void *ctx)
static void
free_ctrlr(struct nvmf_vfio_user_ctrlr *ctrlr)
{
	struct spdk_thread *thread;
	int i;

	assert(ctrlr != NULL);
	thread = ctrlr->thread ? ctrlr->thread : spdk_get_thread();

	SPDK_DEBUGLOG(nvmf_vfio, "free %s\n", ctrlr_id(ctrlr));

@@ -4336,7 +4339,7 @@ free_ctrlr(struct nvmf_vfio_user_ctrlr *ctrlr)
		free_qp(ctrlr, i);
	}

	spdk_thread_exec_msg(ctrlr->thread, _free_ctrlr, ctrlr);
	spdk_thread_exec_msg(thread, _free_ctrlr, ctrlr);
}

static int