From 2e82b58684b7176d71ffd6de501e711fedf5b606 Mon Sep 17 00:00:00 2001 From: Ben Walker Date: Wed, 29 Mar 2017 10:02:47 -0700 Subject: [PATCH] nvme: Release lock before calling remove_cb This prevents a deadlock if the user immediately calls spdk_nvme_detach. Change-Id: I79f28abe163cbbf184bea907692c44aa4e1c8893 Signed-off-by: Ben Walker --- lib/nvme/nvme_pcie.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/lib/nvme/nvme_pcie.c b/lib/nvme/nvme_pcie.c index 09c7f2014..de2cba569 100644 --- a/lib/nvme/nvme_pcie.c +++ b/lib/nvme/nvme_pcie.c @@ -273,7 +273,9 @@ _nvme_pcie_hotplug_monitor(void *cb_ctx, spdk_nvme_probe_cb probe_cb, /* get the user app to clean up and stop I/O */ if (remove_cb) { + nvme_robust_mutex_unlock(&g_spdk_nvme_driver->lock); remove_cb(cb_ctx, ctrlr); + nvme_robust_mutex_lock(&g_spdk_nvme_driver->lock); } } }