diff options
-rw-r--r-- | src/node_device/node_device_driver.c | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/src/node_device/node_device_driver.c b/src/node_device/node_device_driver.c index 93ca28c22..c902e7d94 100644 --- a/src/node_device/node_device_driver.c +++ b/src/node_device/node_device_driver.c @@ -153,10 +153,15 @@ static int nodeNumOfDevices(virConnectPtr conn, int ndevs = 0; unsigned int i; - for (i = 0; i < driver->devs.count; i++) + nodeDeviceLock(driver); + for (i = 0; i < driver->devs.count; i++) { + virNodeDeviceObjLock(driver->devs.objs[i]); if ((cap == NULL) || dev_has_cap(driver->devs.objs[i], cap)) ++ndevs; + virNodeDeviceObjUnlock(driver->devs.objs[i]); + } + nodeDeviceUnlock(driver); return ndevs; } |