summary refs log tree commit diff stats
path: root/hw/usb/bus.c
diff options
context:
space:
mode:
authorMarkus Armbruster <armbru@redhat.com>2015-12-18 16:35:15 +0100
committerMarkus Armbruster <armbru@redhat.com>2016-01-13 15:16:17 +0100
commite43bfd9c876676e884b561eca009a571992a4b76 (patch)
tree10fb32df04ffc41e124b1c1807017788168722ad /hw/usb/bus.c
parentc29b77f955ff2f7b57c1e71e9dc26243eefd0b28 (diff)
downloadfocaccia-qemu-e43bfd9c876676e884b561eca009a571992a4b76.tar.gz
focaccia-qemu-e43bfd9c876676e884b561eca009a571992a4b76.zip
error: Use error_prepend() where it makes obvious sense
Done with this Coccinelle semantic patch

    @@
    expression FMT, E1, E2;
    expression list ARGS;
    @@
    -    error_setg(E1, FMT, ARGS, error_get_pretty(E2));
    +    error_propagate(E1, E2);/*###*/
    +    error_prepend(E1, FMT/*@@@*/, ARGS);

followed by manual cleanup, first because I can't figure out how to
make Coccinelle transform strings, and second to get rid of now
superfluous error_propagate().

We now use or propagate the original error whole instead of just its
message obtained with error_get_pretty().  This avoids suppressing its
hint (see commit 50b7b00), but I can't see how the errors touched in
this commit could come with hints.  It also improves the message
printed with &error_abort when we screw up (see commit 1e9b65b).

Signed-off-by: Markus Armbruster <armbru@redhat.com>
Reviewed-by: Eric Blake <eblake@redhat.com>
Diffstat (limited to 'hw/usb/bus.c')
-rw-r--r--hw/usb/bus.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/hw/usb/bus.c b/hw/usb/bus.c
index 26ab67fc2a..1bbe9302f9 100644
--- a/hw/usb/bus.c
+++ b/hw/usb/bus.c
@@ -329,9 +329,9 @@ static USBDevice *usb_try_create_simple(USBBus *bus, const char *name,
     }
     object_property_set_bool(OBJECT(dev), true, "realized", &err);
     if (err) {
-        error_setg(errp, "Failed to initialize USB device '%s': %s",
-                   name, error_get_pretty(err));
-        error_free(err);
+        error_propagate(errp, err);
+        error_prepend(errp, "Failed to initialize USB device '%s': ",
+                      name);
         object_unparent(OBJECT(dev));
         return NULL;
     }