mirror of https://github.com/xemu-project/xemu.git
acpi/pcihp.c: Rewrite acpi_pcihp_get_bsel using object_property_get_int
acpi_pcihp_get_bsel implements functionality of object_property_get_int for specific property named ACPI_PCIHP_PROP_BSEL, but fails to decrement object's reference counter properly. Rewriting it using generic object_property_get_int serves two purposes: reducing code duplication and fixing memory leak. Signed-off-by: Kirill Batuzov <batuzovk@ispras.ru> Reviewed-by: Michael S. Tsirkin <mst@redhat.com> Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
This commit is contained in:
parent
9898370497
commit
7c38ecd097
|
@ -63,16 +63,18 @@ typedef struct AcpiPciHpFind {
|
|||
|
||||
static int acpi_pcihp_get_bsel(PCIBus *bus)
|
||||
{
|
||||
QObject *o = object_property_get_qobject(OBJECT(bus),
|
||||
ACPI_PCIHP_PROP_BSEL, NULL);
|
||||
int64_t bsel = -1;
|
||||
if (o) {
|
||||
bsel = qint_get_int(qobject_to_qint(o));
|
||||
}
|
||||
if (bsel < 0) {
|
||||
Error *local_err = NULL;
|
||||
int64_t bsel = object_property_get_int(OBJECT(bus), ACPI_PCIHP_PROP_BSEL,
|
||||
&local_err);
|
||||
|
||||
if (local_err || bsel < 0 || bsel >= ACPI_PCIHP_MAX_HOTPLUG_BUS) {
|
||||
if (local_err) {
|
||||
error_free(local_err);
|
||||
}
|
||||
return -1;
|
||||
} else {
|
||||
return bsel;
|
||||
}
|
||||
return bsel;
|
||||
}
|
||||
|
||||
static void acpi_pcihp_test_hotplug_bus(PCIBus *bus, void *opaque)
|
||||
|
|
Loading…
Reference in New Issue