diff -r ebede381efe8 tools/libxl/libxl_pci.c --- a/tools/libxl/libxl_pci.c Tue Jul 27 18:09:22 2010 +0100 +++ b/tools/libxl/libxl_pci.c Fri Jul 30 15:39:41 2010 +0100 @@ -360,7 +360,7 @@ out: if (!libxl_is_stubdom(ctx, domid, NULL)) { rc = xc_assign_device(ctx->xch, domid, pcidev->value); - if (rc < 0) { + if (rc < 0 && (hvm || ENOSYS != errno)) { XL_LOG_ERRNOVAL(ctx, XL_LOG_ERROR, rc, "xc_assign_device failed"); return ERROR_FAIL; } @@ -453,7 +453,7 @@ if (!libxl_is_stubdom(ctx, domid, NULL)) { rc = xc_deassign_device(ctx->xch, domid, pcidev->value); - if (rc < 0) + if (rc < 0 && (hvm || ENOSYS != errno)) XL_LOG_ERRNOVAL(ctx, XL_LOG_ERROR, rc, "xc_deassign_device failed"); }