static int nodeStateCleanup(void)
{
- int ret = 0;
-
udevPrivate *priv = NULL;
struct udev_monitor *udev_monitor = NULL;
struct udev *udev = NULL;
- if (driver) {
- nodeDeviceLock();
+ if (!driver)
+ return -1;
- priv = driver->privateData;
+ nodeDeviceLock();
- if (priv->watch != -1)
- virEventRemoveHandle(priv->watch);
+ priv = driver->privateData;
- udev_monitor = DRV_STATE_UDEV_MONITOR(driver);
+ if (priv->watch != -1)
+ virEventRemoveHandle(priv->watch);
- if (udev_monitor != NULL) {
- udev = udev_monitor_get_udev(udev_monitor);
- udev_monitor_unref(udev_monitor);
- }
+ udev_monitor = DRV_STATE_UDEV_MONITOR(driver);
- if (udev != NULL)
- udev_unref(udev);
+ if (udev_monitor != NULL) {
+ udev = udev_monitor_get_udev(udev_monitor);
+ udev_monitor_unref(udev_monitor);
+ }
- virNodeDeviceObjListFree(&driver->devs);
- nodeDeviceUnlock();
- virMutexDestroy(&driver->lock);
- VIR_FREE(driver);
- VIR_FREE(priv);
+ if (udev != NULL)
+ udev_unref(udev);
- udevPCITranslateDeinit();
- } else {
- ret = -1;
- }
+ virNodeDeviceObjListFree(&driver->devs);
+ nodeDeviceUnlock();
+ virMutexDestroy(&driver->lock);
+ VIR_FREE(driver);
+ VIR_FREE(priv);
- return ret;
+ udevPCITranslateDeinit();
+ return 0;
}