spapr/xive: Simplify error handling of kvmppc_xive_cpu_synchronize_state()

Now that kvmppc_xive_cpu_get_state() returns negative on error, use that
and get rid of the temporary Error object and error_propagate().

Signed-off-by: Greg Kurz <groug@kaod.org>
Message-Id: <159707852916.1489912.8376334685349668124.stgit@bahia.lan>
Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
This commit is contained in:
Greg Kurz 2020-08-10 18:55:29 +02:00 committed by David Gibson
parent 61203f2b35
commit 1118b6b727
2 changed files with 7 additions and 9 deletions

View file

@ -119,7 +119,8 @@ int kvmppc_xive_cpu_get_state(XiveTCTX *tctx, Error **errp)
typedef struct { typedef struct {
XiveTCTX *tctx; XiveTCTX *tctx;
Error *err; Error **errp;
int ret;
} XiveCpuGetState; } XiveCpuGetState;
static void kvmppc_xive_cpu_do_synchronize_state(CPUState *cpu, static void kvmppc_xive_cpu_do_synchronize_state(CPUState *cpu,
@ -127,14 +128,14 @@ static void kvmppc_xive_cpu_do_synchronize_state(CPUState *cpu,
{ {
XiveCpuGetState *s = arg.host_ptr; XiveCpuGetState *s = arg.host_ptr;
kvmppc_xive_cpu_get_state(s->tctx, &s->err); s->ret = kvmppc_xive_cpu_get_state(s->tctx, s->errp);
} }
void kvmppc_xive_cpu_synchronize_state(XiveTCTX *tctx, Error **errp) int kvmppc_xive_cpu_synchronize_state(XiveTCTX *tctx, Error **errp)
{ {
XiveCpuGetState s = { XiveCpuGetState s = {
.tctx = tctx, .tctx = tctx,
.err = NULL, .errp = errp,
}; };
/* /*
@ -143,10 +144,7 @@ void kvmppc_xive_cpu_synchronize_state(XiveTCTX *tctx, Error **errp)
run_on_cpu(tctx->cs, kvmppc_xive_cpu_do_synchronize_state, run_on_cpu(tctx->cs, kvmppc_xive_cpu_do_synchronize_state,
RUN_ON_CPU_HOST_PTR(&s)); RUN_ON_CPU_HOST_PTR(&s));
if (s.err) { return s.ret;
error_propagate(errp, s.err);
return;
}
} }
int kvmppc_xive_cpu_connect(XiveTCTX *tctx, Error **errp) int kvmppc_xive_cpu_connect(XiveTCTX *tctx, Error **errp)

View file

@ -488,7 +488,7 @@ void xive_tctx_ipb_update(XiveTCTX *tctx, uint8_t ring, uint8_t ipb);
int kvmppc_xive_source_reset_one(XiveSource *xsrc, int srcno, Error **errp); int kvmppc_xive_source_reset_one(XiveSource *xsrc, int srcno, Error **errp);
void kvmppc_xive_source_set_irq(void *opaque, int srcno, int val); void kvmppc_xive_source_set_irq(void *opaque, int srcno, int val);
int kvmppc_xive_cpu_connect(XiveTCTX *tctx, Error **errp); int kvmppc_xive_cpu_connect(XiveTCTX *tctx, Error **errp);
void kvmppc_xive_cpu_synchronize_state(XiveTCTX *tctx, Error **errp); int kvmppc_xive_cpu_synchronize_state(XiveTCTX *tctx, Error **errp);
int kvmppc_xive_cpu_get_state(XiveTCTX *tctx, Error **errp); int kvmppc_xive_cpu_get_state(XiveTCTX *tctx, Error **errp);
int kvmppc_xive_cpu_set_state(XiveTCTX *tctx, Error **errp); int kvmppc_xive_cpu_set_state(XiveTCTX *tctx, Error **errp);