[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PULL 08/20] spapr: Simplify error handling in spapr_vio_busdev_realize(
From: |
David Gibson |
Subject: |
[PULL 08/20] spapr: Simplify error handling in spapr_vio_busdev_realize() |
Date: |
Fri, 9 Oct 2020 21:19:39 +1100 |
From: Greg Kurz <groug@kaod.org>
Use the return value of spapr_irq_findone() and spapr_irq_claim()
to detect failures. This allows to reduce the error propagation
overhead.
Signed-off-by: Greg Kurz <groug@kaod.org>
Message-Id: <20200914123505.612812-8-groug@kaod.org>
Reviewed-by: Vladimir Sementsov-Ogievskiy <vsementsov@virtuozzo.com>
Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
---
hw/ppc/spapr_vio.c | 12 +++++-------
1 file changed, 5 insertions(+), 7 deletions(-)
diff --git a/hw/ppc/spapr_vio.c b/hw/ppc/spapr_vio.c
index 731080d989..44fdd64b88 100644
--- a/hw/ppc/spapr_vio.c
+++ b/hw/ppc/spapr_vio.c
@@ -474,7 +474,6 @@ static void spapr_vio_busdev_realize(DeviceState *qdev,
Error **errp)
SpaprVioDevice *dev = (SpaprVioDevice *)qdev;
SpaprVioDeviceClass *pc = VIO_SPAPR_DEVICE_GET_CLASS(dev);
char *id;
- Error *local_err = NULL;
if (dev->reg != -1) {
/*
@@ -510,16 +509,15 @@ static void spapr_vio_busdev_realize(DeviceState *qdev,
Error **errp)
dev->irq = spapr_vio_reg_to_irq(dev->reg);
if (SPAPR_MACHINE_GET_CLASS(spapr)->legacy_irq_allocation) {
- dev->irq = spapr_irq_findone(spapr, &local_err);
- if (local_err) {
- error_propagate(errp, local_err);
+ int irq = spapr_irq_findone(spapr, errp);
+
+ if (irq < 0) {
return;
}
+ dev->irq = irq;
}
- spapr_irq_claim(spapr, dev->irq, false, &local_err);
- if (local_err) {
- error_propagate(errp, local_err);
+ if (spapr_irq_claim(spapr, dev->irq, false, errp) < 0) {
return;
}
--
2.26.2
- [PULL 00/20] ppc-for-5.2 queue 20201009, David Gibson, 2020/10/09
- [PULL 01/20] spapr: Handle HPT allocation failure in nested guest, David Gibson, 2020/10/09
- [PULL 04/20] ppc: Fix return value in cpu_post_load() error path, David Gibson, 2020/10/09
- [PULL 03/20] ppc: Add a return value to ppc_set_compat() and ppc_set_compat_all(), David Gibson, 2020/10/09
- [PULL 02/20] spapr: Fix error leak in spapr_realize_vcpu(), David Gibson, 2020/10/09
- [PULL 05/20] spapr: Simplify error handling in callers of ppc_set_compat(), David Gibson, 2020/10/09
- [PULL 06/20] spapr: Get rid of cas_check_pvr() error reporting, David Gibson, 2020/10/09
- [PULL 08/20] spapr: Simplify error handling in spapr_vio_busdev_realize(),
David Gibson <=
- [PULL 10/20] spapr: Simplify error handling in prop_get_fdt(), David Gibson, 2020/10/09
- [PULL 20/20] specs/ppc-spapr-numa: update with new NUMA support, David Gibson, 2020/10/09
- [PULL 18/20] spapr_numa: change reference-points and maxdomain settings, David Gibson, 2020/10/09
- [PULL 07/20] spapr: Simplify error handling in do_client_architecture_support(), David Gibson, 2020/10/09
- [PULL 09/20] spapr: Add a return value to spapr_drc_attach(), David Gibson, 2020/10/09
- [PULL 13/20] spapr: Add a return value to spapr_nvdimm_validate(), David Gibson, 2020/10/09
- [PULL 11/20] spapr: Add a return value to spapr_set_vcpu_id(), David Gibson, 2020/10/09
- [PULL 16/20] spapr: add spapr_machine_using_legacy_numa() helper, David Gibson, 2020/10/09
- [PULL 17/20] spapr_numa: forbid asymmetrical NUMA setups, David Gibson, 2020/10/09
- [PULL 12/20] spapr: Simplify error handling in spapr_cpu_core_realize(), David Gibson, 2020/10/09