diff --git a/lib/env_dpdk/env_internal.h b/lib/env_dpdk/env_internal.h index 66f4a7a78..1c4401dbb 100644 --- a/lib/env_dpdk/env_internal.h +++ b/lib/env_dpdk/env_internal.h @@ -74,7 +74,6 @@ struct spdk_pci_enum_ctx { struct rte_pci_driver driver; spdk_pci_enum_cb cb_fn; void *cb_arg; - pthread_mutex_t mtx; bool is_registered; }; diff --git a/lib/env_dpdk/pci.c b/lib/env_dpdk/pci.c index b94bc424a..608df3b06 100644 --- a/lib/env_dpdk/pci.c +++ b/lib/env_dpdk/pci.c @@ -40,6 +40,8 @@ #define PCI_CFG_SIZE 256 #define PCI_EXT_CAP_ID_SN 0x03 +static pthread_mutex_t g_pci_mutex = PTHREAD_MUTEX_INITIALIZER; + int spdk_pci_device_init(struct rte_pci_driver *driver, struct rte_pci_device *device) @@ -122,7 +124,7 @@ spdk_pci_device_attach(struct spdk_pci_enum_ctx *ctx, addr.function = pci_address->func; #endif - pthread_mutex_lock(&ctx->mtx); + pthread_mutex_lock(&g_pci_mutex); if (!ctx->is_registered) { ctx->is_registered = true; @@ -147,13 +149,13 @@ spdk_pci_device_attach(struct spdk_pci_enum_ctx *ctx, #endif ctx->cb_arg = NULL; ctx->cb_fn = NULL; - pthread_mutex_unlock(&ctx->mtx); + pthread_mutex_unlock(&g_pci_mutex); return -1; } ctx->cb_arg = NULL; ctx->cb_fn = NULL; - pthread_mutex_unlock(&ctx->mtx); + pthread_mutex_unlock(&g_pci_mutex); return 0; } @@ -167,7 +169,7 @@ spdk_pci_enumerate(struct spdk_pci_enum_ctx *ctx, spdk_pci_enum_cb enum_cb, void *enum_ctx) { - pthread_mutex_lock(&ctx->mtx); + pthread_mutex_lock(&g_pci_mutex); if (!ctx->is_registered) { ctx->is_registered = true; @@ -190,13 +192,13 @@ spdk_pci_enumerate(struct spdk_pci_enum_ctx *ctx, #endif ctx->cb_arg = NULL; ctx->cb_fn = NULL; - pthread_mutex_unlock(&ctx->mtx); + pthread_mutex_unlock(&g_pci_mutex); return -1; } ctx->cb_arg = NULL; ctx->cb_fn = NULL; - pthread_mutex_unlock(&ctx->mtx); + pthread_mutex_unlock(&g_pci_mutex); return 0; } diff --git a/lib/env_dpdk/pci_ioat.c b/lib/env_dpdk/pci_ioat.c index b96402830..d06801605 100644 --- a/lib/env_dpdk/pci_ioat.c +++ b/lib/env_dpdk/pci_ioat.c @@ -105,7 +105,6 @@ static struct spdk_pci_enum_ctx g_ioat_pci_drv = { .cb_fn = NULL, .cb_arg = NULL, - .mtx = PTHREAD_MUTEX_INITIALIZER, .is_registered = false, }; diff --git a/lib/env_dpdk/pci_nvme.c b/lib/env_dpdk/pci_nvme.c index 4f3b84d1f..a6d6e5fb3 100644 --- a/lib/env_dpdk/pci_nvme.c +++ b/lib/env_dpdk/pci_nvme.c @@ -71,7 +71,6 @@ static struct spdk_pci_enum_ctx g_nvme_pci_drv = { .cb_fn = NULL, .cb_arg = NULL, - .mtx = PTHREAD_MUTEX_INITIALIZER, .is_registered = false, }; diff --git a/lib/env_dpdk/pci_virtio.c b/lib/env_dpdk/pci_virtio.c index 1fcb80d78..18067da95 100644 --- a/lib/env_dpdk/pci_virtio.c +++ b/lib/env_dpdk/pci_virtio.c @@ -62,7 +62,6 @@ static struct spdk_pci_enum_ctx g_virtio_pci_drv = { .cb_fn = NULL, .cb_arg = NULL, - .mtx = PTHREAD_MUTEX_INITIALIZER, .is_registered = false, };