diff --git a/src/libxl/libxl_capabilities.c b/src/libxl/libxl_capabilities.c index 111fb462e4..cc42dc6987 100644 --- a/src/libxl/libxl_capabilities.c +++ b/src/libxl/libxl_capabilities.c @@ -671,6 +671,15 @@ libxlMakeDomainDeviceVideoCaps(virDomainCapsDeviceVideoPtr dev) return 0; } +bool libxlCapsHasPVUSB(void) +{ +#ifdef LIBXL_HAVE_PVUSB + return true; +#else + return false; +#endif +} + static int libxlMakeDomainDeviceHostdevCaps(virDomainCapsDeviceHostdevPtr dev) { @@ -688,10 +697,9 @@ libxlMakeDomainDeviceHostdevCaps(virDomainCapsDeviceHostdevPtr dev) VIR_DOMAIN_CAPS_ENUM_SET(dev->subsysType, VIR_DOMAIN_HOSTDEV_SUBSYS_TYPE_PCI); -#ifdef LIBXL_HAVE_PVUSB - VIR_DOMAIN_CAPS_ENUM_SET(dev->subsysType, - VIR_DOMAIN_HOSTDEV_SUBSYS_TYPE_USB); -#endif + if (libxlCapsHasPVUSB()) + VIR_DOMAIN_CAPS_ENUM_SET(dev->subsysType, + VIR_DOMAIN_HOSTDEV_SUBSYS_TYPE_USB); /* No virDomainHostdevCapsType for libxl */ virDomainCapsEnumClear(&dev->capsType); diff --git a/src/libxl/libxl_capabilities.h b/src/libxl/libxl_capabilities.h index be41682206..a0b9c10653 100644 --- a/src/libxl/libxl_capabilities.h +++ b/src/libxl/libxl_capabilities.h @@ -40,6 +40,7 @@ * by libvirt for Xen, and cannot be used for a persistent network name. */ # define LIBXL_GENERATED_PREFIX_XEN "vif" +bool libxlCapsHasPVUSB(void); virCapsPtr libxlMakeCapabilities(libxl_ctx *ctx);