diff --git a/src/qemu/qemu_conf.c b/src/qemu/qemu_conf.c index 9df4ae1230..c24c99d129 100644 --- a/src/qemu/qemu_conf.c +++ b/src/qemu/qemu_conf.c @@ -1318,13 +1318,14 @@ virCapsPtr virQEMUDriverGetCapabilities(virQEMUDriverPtr driver, driver->caps = caps; } else { qemuDriverLock(driver); - } - if (driver->caps->nguests == 0 && !refresh) { - VIR_DEBUG("Capabilities didn't detect any guests. Forcing a " - "refresh."); - qemuDriverUnlock(driver); - return virQEMUDriverGetCapabilities(driver, true); + if (driver->caps == NULL || + driver->caps->nguests == 0) { + VIR_DEBUG("Capabilities didn't detect any guests. Forcing a " + "refresh."); + qemuDriverUnlock(driver); + return virQEMUDriverGetCapabilities(driver, true); + } } ret = virObjectRef(driver->caps); diff --git a/src/qemu/qemu_driver.c b/src/qemu/qemu_driver.c index a30a27dbab..e17e9ca86d 100644 --- a/src/qemu/qemu_driver.c +++ b/src/qemu/qemu_driver.c @@ -907,9 +907,6 @@ qemuStateInitialize(bool privileged, if (!qemu_driver->qemuCapsCache) goto error; - if ((qemu_driver->caps = virQEMUDriverCreateCapabilities(qemu_driver)) == NULL) - goto error; - if (!(sec_managers = qemuSecurityGetNested(qemu_driver->securityManager))) goto error;