Message ID | 20231020171509.87839-4-philmd@linaro.org |
---|---|
State | New |
Headers | show |
Series | hw/audio/pcspk: Inline pcspk_init() | expand |
On 10/20/23 10:15, Philippe Mathieu-Daudé wrote: > In commit 40f8214fcd ("hw/audio/pcspk: Inline pcspk_init()") > we neglected to give a change to the caller to handle failed > device creation cleanly. Here this can not happen because > pc_basic_device_init() uses &error_fatal. Anyhow, do the > proper error reporting to avoid bad code example spreading. > > Reported-by: Bernhard Beschow <shentey@gmail.com> > Suggested-by: Markus Armbruster <armbru@redhat.com> > Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org> > --- > hw/i386/pc.c | 4 +++- > 1 file changed, 3 insertions(+), 1 deletion(-) Reviewed-by: Richard Henderson <richard.henderson@linaro.org> r~
diff --git a/hw/i386/pc.c b/hw/i386/pc.c index 6750ed427a..3937d88355 100644 --- a/hw/i386/pc.c +++ b/hw/i386/pc.c @@ -1288,7 +1288,9 @@ bool pc_basic_device_init(struct PCMachineState *pcms, } object_property_set_link(OBJECT(pcms->pcspk), "pit", OBJECT(pit), &error_fatal); - isa_realize_and_unref(pcms->pcspk, isa_bus, &error_fatal); + if (!isa_realize_and_unref(pcms->pcspk, isa_bus, errp)) { + return false; + } } /* Super I/O */
In commit 40f8214fcd ("hw/audio/pcspk: Inline pcspk_init()") we neglected to give a change to the caller to handle failed device creation cleanly. Here this can not happen because pc_basic_device_init() uses &error_fatal. Anyhow, do the proper error reporting to avoid bad code example spreading. Reported-by: Bernhard Beschow <shentey@gmail.com> Suggested-by: Markus Armbruster <armbru@redhat.com> Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org> --- hw/i386/pc.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-)