spapr/xive: Rework error handling in kvmppc_xive_get_queues()
Since kvmppc_xive_get_queue_config() has a return value, convert kvmppc_xive_get_queues() 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> Message-Id: <159707848069.1489912.14879208798696134531.stgit@bahia.lan> Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
This commit is contained in:
parent
f9a548edf2
commit
d53482a73b
@ -467,23 +467,24 @@ void kvmppc_xive_reset(SpaprXive *xive, Error **errp)
|
||||
NULL, true, errp);
|
||||
}
|
||||
|
||||
static void kvmppc_xive_get_queues(SpaprXive *xive, Error **errp)
|
||||
static int kvmppc_xive_get_queues(SpaprXive *xive, Error **errp)
|
||||
{
|
||||
Error *local_err = NULL;
|
||||
int i;
|
||||
int ret;
|
||||
|
||||
for (i = 0; i < xive->nr_ends; i++) {
|
||||
if (!xive_end_is_valid(&xive->endt[i])) {
|
||||
continue;
|
||||
}
|
||||
|
||||
kvmppc_xive_get_queue_config(xive, SPAPR_XIVE_BLOCK_ID, i,
|
||||
&xive->endt[i], &local_err);
|
||||
if (local_err) {
|
||||
error_propagate(errp, local_err);
|
||||
return;
|
||||
ret = kvmppc_xive_get_queue_config(xive, SPAPR_XIVE_BLOCK_ID, i,
|
||||
&xive->endt[i], errp);
|
||||
if (ret < 0) {
|
||||
return ret;
|
||||
}
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
/*
|
||||
|
Loading…
Reference in New Issue
Block a user