From 5c88b34afa598bd280dd4cb3f5f6412990452e78 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=A1n=20Tomko?= Date: Fri, 3 Jun 2016 12:20:41 +0200 Subject: [PATCH] node_device_udev: initialize libpciaccess after the driver lock This will simplify cleanup. --- src/node_device/node_device_udev.c | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/src/node_device/node_device_udev.c b/src/node_device/node_device_udev.c index ebf514515c..ef8d7af7b3 100644 --- a/src/node_device/node_device_udev.c +++ b/src/node_device/node_device_udev.c @@ -1517,11 +1517,12 @@ static int nodeStateCleanup(void) virMutexDestroy(&driver->lock); VIR_FREE(driver); VIR_FREE(priv); + + udevPCITranslateDeinit(); } else { ret = -1; } - udevPCITranslateDeinit(); return ret; } @@ -1711,9 +1712,6 @@ static int nodeStateInitialize(bool privileged, struct udev *udev = NULL; int ret = -1; - if (udevPCITranslateInit(privileged) < 0) - goto out; - if (VIR_ALLOC(priv) < 0) goto out; @@ -1734,6 +1732,11 @@ static int nodeStateInitialize(bool privileged, nodeDeviceLock(); + if (udevPCITranslateInit(privileged) < 0) { + VIR_FREE(priv); + goto out_unlock; + } + /* * http://www.kernel.org/pub/linux/utils/kernel/hotplug/libudev/libudev-udev.html#udev-new * -- GitLab