Message ID | 159707845245.1489912.9151822670764690034.stgit@bahia.lan (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | ppc/spapr: Error handling fixes and cleanups | expand |
On Mon, Aug 10, 2020 at 06:54:12PM +0200, Greg Kurz wrote: > Since kvmppc_xive_source_reset_one() has a return value, convert > kvmppc_xive_source_reset() to use it for error checking. This > allows to get rid of the local_err boiler plate. > > Propagate the return value so that callers may use it as well to check > failures. > > Signed-off-by: Greg Kurz <groug@kaod.org> Applied to ppc-for-5.2. > --- > hw/intc/spapr_xive_kvm.c | 13 +++++++------ > 1 file changed, 7 insertions(+), 6 deletions(-) > > diff --git a/hw/intc/spapr_xive_kvm.c b/hw/intc/spapr_xive_kvm.c > index aa1a2f915363..d801bf5cd11c 100644 > --- a/hw/intc/spapr_xive_kvm.c > +++ b/hw/intc/spapr_xive_kvm.c > @@ -248,24 +248,25 @@ int kvmppc_xive_source_reset_one(XiveSource *xsrc, int srcno, Error **errp) > true, errp); > } > > -static void kvmppc_xive_source_reset(XiveSource *xsrc, Error **errp) > +static int kvmppc_xive_source_reset(XiveSource *xsrc, Error **errp) > { > SpaprXive *xive = SPAPR_XIVE(xsrc->xive); > int i; > > for (i = 0; i < xsrc->nr_irqs; i++) { > - Error *local_err = NULL; > + int ret; > > if (!xive_eas_is_valid(&xive->eat[i])) { > continue; > } > > - kvmppc_xive_source_reset_one(xsrc, i, &local_err); > - if (local_err) { > - error_propagate(errp, local_err); > - return; > + ret = kvmppc_xive_source_reset_one(xsrc, i, errp); > + if (ret < 0) { > + return ret; > } > } > + > + return 0; > } > > /* > >
diff --git a/hw/intc/spapr_xive_kvm.c b/hw/intc/spapr_xive_kvm.c index aa1a2f915363..d801bf5cd11c 100644 --- a/hw/intc/spapr_xive_kvm.c +++ b/hw/intc/spapr_xive_kvm.c @@ -248,24 +248,25 @@ int kvmppc_xive_source_reset_one(XiveSource *xsrc, int srcno, Error **errp) true, errp); } -static void kvmppc_xive_source_reset(XiveSource *xsrc, Error **errp) +static int kvmppc_xive_source_reset(XiveSource *xsrc, Error **errp) { SpaprXive *xive = SPAPR_XIVE(xsrc->xive); int i; for (i = 0; i < xsrc->nr_irqs; i++) { - Error *local_err = NULL; + int ret; if (!xive_eas_is_valid(&xive->eat[i])) { continue; } - kvmppc_xive_source_reset_one(xsrc, i, &local_err); - if (local_err) { - error_propagate(errp, local_err); - return; + ret = kvmppc_xive_source_reset_one(xsrc, i, errp); + if (ret < 0) { + return ret; } } + + return 0; } /*
Since kvmppc_xive_source_reset_one() has a return value, convert kvmppc_xive_source_reset() to use it for error checking. This allows to get rid of the local_err boiler plate. Propagate the return value so that callers may use it as well to check failures. Signed-off-by: Greg Kurz <groug@kaod.org> --- hw/intc/spapr_xive_kvm.c | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-)