Using new-style return values for spci_yield.

Bug: 132395846
Change-Id: I6af4343c3f84e90e1fee608988585e9eaf2ee6d4
diff --git a/src/arch/aarch64/hypervisor/handler.c b/src/arch/aarch64/hypervisor/handler.c
index 154610a..440cd66 100644
--- a/src/arch/aarch64/hypervisor/handler.c
+++ b/src/arch/aarch64/hypervisor/handler.c
@@ -310,7 +310,11 @@
 		*args = api_spci_version();
 		return true;
 	case SPCI_YIELD_32:
-		args->func = api_spci_yield(current(), next);
+		api_yield(current(), next);
+
+		/* SPCI_YIELD always returns SPCI_SUCCESS. */
+		*args = (struct spci_value){.func = SPCI_SUCCESS_32};
+
 		return true;
 	case SPCI_MSG_SEND_32:
 		args->func = api_spci_msg_send(args->arg1, current(), next);
@@ -552,7 +556,7 @@
 			 * TODO: consider giving the scheduler more context,
 			 * somehow.
 			 */
-			api_spci_yield(vcpu, &new_vcpu);
+			api_yield(vcpu, &new_vcpu);
 			return new_vcpu;
 		}
 		/* WFI */