hw/intc: Check @errp to handle the error of IOAPICCommonClass.realize()
IOAPICCommonClass implements its own private realize(), and this private realize() allows error. Since IOAPICCommonClass.realize() returns void, to check the error, dereference @errp with ERRP_GUARD(). Signed-off-by: Zhao Liu <zhao1.liu@intel.com> Message-Id: <20240223085653.1255438-8-zhao1.liu@linux.intel.com> Reviewed-by: Michael S. Tsirkin <mst@redhat.com> Signed-off-by: Michael S. Tsirkin <mst@redhat.com> Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>
This commit is contained in:
parent
ccd1fd0c5d
commit
0f9c30350b
@ -152,6 +152,7 @@ static int ioapic_dispatch_post_load(void *opaque, int version_id)
|
||||
|
||||
static void ioapic_common_realize(DeviceState *dev, Error **errp)
|
||||
{
|
||||
ERRP_GUARD();
|
||||
IOAPICCommonState *s = IOAPIC_COMMON(dev);
|
||||
IOAPICCommonClass *info;
|
||||
|
||||
@ -162,6 +163,9 @@ static void ioapic_common_realize(DeviceState *dev, Error **errp)
|
||||
|
||||
info = IOAPIC_COMMON_GET_CLASS(s);
|
||||
info->realize(dev, errp);
|
||||
if (*errp) {
|
||||
return;
|
||||
}
|
||||
|
||||
sysbus_init_mmio(SYS_BUS_DEVICE(s), &s->io_memory);
|
||||
ioapic_no++;
|
||||
|
Loading…
Reference in New Issue
Block a user