spapr_drc: Change value of property "fdt" from null back to {}
authorMarkus Armbruster <armbru@redhat.com>
Thu, 3 Dec 2015 16:37:39 +0000 (17:37 +0100)
committerDavid Gibson <david@gibson.dropbear.id.au>
Fri, 4 Dec 2015 05:50:59 +0000 (16:50 +1100)
prop_get_fdt() misuses the visitor API: when fdt is null, it doesn't
visit anything.  object_property_get_qobject() happily
object_property_get_qobject().  Amazingly, the latter survives the
misuse.  Turns out we've papered over it long before prop_get_fdt()
existed, in commit 1d10b44.

However, commit 6c2f9a1 changed how we paper over it, and as a side
effect changed qom-get's value from {} to null.  Change it right back
by fixing the visitor misuse.

Signed-off-by: Markus Armbruster <armbru@redhat.com>
Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
hw/ppc/spapr_drc.c

index 404fb3c2b6c7f558a6af040eed3c49859d2e6824..8be62c349bc9121081b60ab7e22f90c234d1995a 100644 (file)
@@ -259,6 +259,11 @@ static void prop_get_fdt(Object *obj, Visitor *v, void *opaque,
     void *fdt;
 
     if (!drc->fdt) {
+        visit_start_struct(v, NULL, NULL, name, 0, &err);
+        if (!err) {
+            visit_end_struct(v, &err);
+        }
+        error_propagate(errp, err);
         return;
     }