]> git.ipfire.org Git - thirdparty/libvirt.git/commitdiff
conf: Always parse firmware features
authorAndrea Bolognani <abologna@redhat.com>
Mon, 20 Jun 2022 15:44:17 +0000 (17:44 +0200)
committerAndrea Bolognani <abologna@redhat.com>
Fri, 1 Jul 2022 13:10:35 +0000 (15:10 +0200)
Regardless of whether firmware autoselection is in use, we
still want to parse the list of requested features. Doing this
will allow us to produce better error messages.

Signed-off-by: Andrea Bolognani <abologna@redhat.com>
Reviewed-by: Michal Privoznik <mprivozn@redhat.com>
src/conf/domain_conf.c

index 7947b1f5e67912a00a2ded48423683aed2ac98f8..fb8bf4cfec6aa97de21fb1ff329408f972d40159 100644 (file)
@@ -18439,20 +18439,6 @@ virDomainDefParseBootFirmwareOptions(virDomainDef *def,
     int n = 0;
     size_t i;
 
-    if (!firmware)
-        return 0;
-
-    fw = virDomainOsDefFirmwareTypeFromString(firmware);
-
-    if (fw <= 0) {
-        virReportError(VIR_ERR_XML_ERROR,
-                       _("unknown firmware value %s"),
-                       firmware);
-        return -1;
-    }
-
-    def->os.firmware = fw;
-
     if ((n = virXPathNodeSet("./os/firmware/feature", ctxt, &nodes)) < 0)
         return -1;
 
@@ -18479,6 +18465,20 @@ virDomainDefParseBootFirmwareOptions(virDomainDef *def,
 
     def->os.firmwareFeatures = g_steal_pointer(&features);
 
+    if (!firmware)
+        return 0;
+
+    fw = virDomainOsDefFirmwareTypeFromString(firmware);
+
+    if (fw <= 0) {
+        virReportError(VIR_ERR_XML_ERROR,
+                       _("unknown firmware value %s"),
+                       firmware);
+        return -1;
+    }
+
+    def->os.firmware = fw;
+
     return 0;
 }