diff mbox series

[11/14] ppc/xive: Fix error handling in vmstate_xive_tctx_*() callbacks

Message ID 159707850840.1489912.14912810818646455474.stgit@bahia.lan (mailing list archive)
State New, archived
Headers show
Series ppc/spapr: Error handling fixes and cleanups | expand

Commit Message

Greg Kurz Aug. 10, 2020, 4:55 p.m. UTC
Now that kvmppc_xive_cpu_get_state() and kvmppc_xive_cpu_set_state()
return negative errnos on failures, use that instead local_err because
it is the recommended practice. Also return that instead of -1 since
vmstate expects negative errnos.

Signed-off-by: Greg Kurz <groug@kaod.org>
---
 hw/intc/xive.c |   14 ++++++++------
 1 file changed, 8 insertions(+), 6 deletions(-)

Comments

David Gibson Aug. 13, 2020, 11:05 a.m. UTC | #1
On Mon, Aug 10, 2020 at 06:55:08PM +0200, Greg Kurz wrote:
> Now that kvmppc_xive_cpu_get_state() and kvmppc_xive_cpu_set_state()
> return negative errnos on failures, use that instead local_err because
> it is the recommended practice. Also return that instead of -1 since
> vmstate expects negative errnos.
> 
> Signed-off-by: Greg Kurz <groug@kaod.org>

Applied to ppc-for-5.2

> ---
>  hw/intc/xive.c |   14 ++++++++------
>  1 file changed, 8 insertions(+), 6 deletions(-)
> 
> diff --git a/hw/intc/xive.c b/hw/intc/xive.c
> index a453e8f4dcbe..17ca5a1916b4 100644
> --- a/hw/intc/xive.c
> +++ b/hw/intc/xive.c
> @@ -695,12 +695,13 @@ static int vmstate_xive_tctx_pre_save(void *opaque)
>  {
>      XiveTCTX *tctx = XIVE_TCTX(opaque);
>      Error *local_err = NULL;
> +    int ret;
>  
>      if (xive_in_kernel(tctx->xptr)) {
> -        kvmppc_xive_cpu_get_state(tctx, &local_err);
> -        if (local_err) {
> +        ret = kvmppc_xive_cpu_get_state(tctx, &local_err);
> +        if (ret < 0) {
>              error_report_err(local_err);
> -            return -1;
> +            return ret;
>          }
>      }
>  
> @@ -711,16 +712,17 @@ static int vmstate_xive_tctx_post_load(void *opaque, int version_id)
>  {
>      XiveTCTX *tctx = XIVE_TCTX(opaque);
>      Error *local_err = NULL;
> +    int ret;
>  
>      if (xive_in_kernel(tctx->xptr)) {
>          /*
>           * Required for hotplugged CPU, for which the state comes
>           * after all states of the machine.
>           */
> -        kvmppc_xive_cpu_set_state(tctx, &local_err);
> -        if (local_err) {
> +        ret = kvmppc_xive_cpu_set_state(tctx, &local_err);
> +        if (ret < 0) {
>              error_report_err(local_err);
> -            return -1;
> +            return ret;
>          }
>      }
>  
> 
>
diff mbox series

Patch

diff --git a/hw/intc/xive.c b/hw/intc/xive.c
index a453e8f4dcbe..17ca5a1916b4 100644
--- a/hw/intc/xive.c
+++ b/hw/intc/xive.c
@@ -695,12 +695,13 @@  static int vmstate_xive_tctx_pre_save(void *opaque)
 {
     XiveTCTX *tctx = XIVE_TCTX(opaque);
     Error *local_err = NULL;
+    int ret;
 
     if (xive_in_kernel(tctx->xptr)) {
-        kvmppc_xive_cpu_get_state(tctx, &local_err);
-        if (local_err) {
+        ret = kvmppc_xive_cpu_get_state(tctx, &local_err);
+        if (ret < 0) {
             error_report_err(local_err);
-            return -1;
+            return ret;
         }
     }
 
@@ -711,16 +712,17 @@  static int vmstate_xive_tctx_post_load(void *opaque, int version_id)
 {
     XiveTCTX *tctx = XIVE_TCTX(opaque);
     Error *local_err = NULL;
+    int ret;
 
     if (xive_in_kernel(tctx->xptr)) {
         /*
          * Required for hotplugged CPU, for which the state comes
          * after all states of the machine.
          */
-        kvmppc_xive_cpu_set_state(tctx, &local_err);
-        if (local_err) {
+        ret = kvmppc_xive_cpu_set_state(tctx, &local_err);
+        if (ret < 0) {
             error_report_err(local_err);
-            return -1;
+            return ret;
         }
     }