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:
parent
61203f2b35
commit
1118b6b727
@ -119,7 +119,8 @@ int kvmppc_xive_cpu_get_state(XiveTCTX *tctx, Error **errp)
|
||||
|
||||
typedef struct {
|
||||
XiveTCTX *tctx;
|
||||
Error *err;
|
||||
Error **errp;
|
||||
int ret;
|
||||
} XiveCpuGetState;
|
||||
|
||||
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;
|
||||
|
||||
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 = {
|
||||
.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_HOST_PTR(&s));
|
||||
|
||||
if (s.err) {
|
||||
error_propagate(errp, s.err);
|
||||
return;
|
||||
}
|
||||
return s.ret;
|
||||
}
|
||||
|
||||
int kvmppc_xive_cpu_connect(XiveTCTX *tctx, Error **errp)
|
||||
|
@ -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);
|
||||
void kvmppc_xive_source_set_irq(void *opaque, int srcno, int val);
|
||||
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_set_state(XiveTCTX *tctx, Error **errp);
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user