diff mbox series

[23/31] vl: Clean up error reporting in device_init_func()

Message ID 20181008173125.19678-24-armbru@redhat.com
State New
Headers show
Series None | expand

Commit Message

Markus Armbruster Oct. 8, 2018, 5:31 p.m. UTC
Calling error_report() in a function that takes an Error ** argument
is suspicious.  device_init_func() does that, and then fails without
setting an error.  Its caller main(), via qemu_opts_foreach(), is fine
with it, but clean it up anyway.

Signed-off-by: Markus Armbruster <armbru@redhat.com>
---
 vl.c | 10 +++-------
 1 file changed, 3 insertions(+), 7 deletions(-)

Comments

Philippe Mathieu-Daudé Oct. 9, 2018, 6:05 a.m. UTC | #1
On 08/10/2018 19:31, Markus Armbruster wrote:
> Calling error_report() in a function that takes an Error ** argument
> is suspicious.  device_init_func() does that, and then fails without
> setting an error.  Its caller main(), via qemu_opts_foreach(), is fine
> with it, but clean it up anyway.
> 
> Signed-off-by: Markus Armbruster <armbru@redhat.com>

Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com>

> ---
>  vl.c | 10 +++-------
>  1 file changed, 3 insertions(+), 7 deletions(-)
> 
> diff --git a/vl.c b/vl.c
> index a3a39ec06b..86eee4c798 100644
> --- a/vl.c
> +++ b/vl.c
> @@ -2222,12 +2222,10 @@ static int device_help_func(void *opaque, QemuOpts *opts, Error **errp)
>  
>  static int device_init_func(void *opaque, QemuOpts *opts, Error **errp)
>  {
> -    Error *err = NULL;
>      DeviceState *dev;
>  
> -    dev = qdev_device_add(opts, &err);
> +    dev = qdev_device_add(opts, errp);
>      if (!dev) {
> -        error_report_err(err);
>          return -1;
>      }
>      object_unref(OBJECT(dev));
> @@ -4444,10 +4442,8 @@ int main(int argc, char **argv, char **envp)
>  
>      /* init generic devices */
>      rom_set_order_override(FW_CFG_ORDER_OVERRIDE_DEVICE);
> -    if (qemu_opts_foreach(qemu_find_opts("device"),
> -                          device_init_func, NULL, NULL)) {
> -        exit(1);
> -    }
> +    qemu_opts_foreach(qemu_find_opts("device"),
> +                      device_init_func, NULL, &error_fatal);
>  
>      cpu_synchronize_all_post_init();
>  
>
diff mbox series

Patch

diff --git a/vl.c b/vl.c
index a3a39ec06b..86eee4c798 100644
--- a/vl.c
+++ b/vl.c
@@ -2222,12 +2222,10 @@  static int device_help_func(void *opaque, QemuOpts *opts, Error **errp)
 
 static int device_init_func(void *opaque, QemuOpts *opts, Error **errp)
 {
-    Error *err = NULL;
     DeviceState *dev;
 
-    dev = qdev_device_add(opts, &err);
+    dev = qdev_device_add(opts, errp);
     if (!dev) {
-        error_report_err(err);
         return -1;
     }
     object_unref(OBJECT(dev));
@@ -4444,10 +4442,8 @@  int main(int argc, char **argv, char **envp)
 
     /* init generic devices */
     rom_set_order_override(FW_CFG_ORDER_OVERRIDE_DEVICE);
-    if (qemu_opts_foreach(qemu_find_opts("device"),
-                          device_init_func, NULL, NULL)) {
-        exit(1);
-    }
+    qemu_opts_foreach(qemu_find_opts("device"),
+                      device_init_func, NULL, &error_fatal);
 
     cpu_synchronize_all_post_init();