Expect spci_rx_release() to be successful in tests.

Bug: 146208457
Change-Id: I2f146c92fb64aa7bf2ac54aa2b4f19c386f64280
diff --git a/test/hftest/service.c b/test/hftest/service.c
index 0d35aa1..afbf6f6 100644
--- a/test/hftest/service.c
+++ b/test/hftest/service.c
@@ -105,7 +105,7 @@
 	ASSERT_EQ(ret.func, SPCI_MSG_SEND_32);
 	memiter_init(&args, recv, spci_msg_send_size(ret));
 	service = find_service(&args);
-	spci_rx_release();
+	EXPECT_EQ(spci_rx_release().func, SPCI_SUCCESS_32);
 
 	/* Check the service was found. */
 	if (service == NULL) {
diff --git a/test/linux/hftest_socket.c b/test/linux/hftest_socket.c
index 6c9a244..a07e188 100644
--- a/test/linux/hftest_socket.c
+++ b/test/linux/hftest_socket.c
@@ -68,7 +68,7 @@
 	/* Set up the mailbox. */
 	spci_rxtx_map(send_addr, recv_addr);
 
-	spci_rx_release();
+	EXPECT_EQ(spci_rx_release().func, SPCI_SUCCESS_32);
 
 	/* Clean the context. */
 	ctx = hftest_get_context();
@@ -98,7 +98,7 @@
 		spci_vm_id_t dst_id = spci_msg_send_sender(ret);
 		spci_vm_id_t src_id = spci_msg_send_receiver(ret);
 
-		spci_rx_release();
+		EXPECT_EQ(spci_rx_release().func, SPCI_SUCCESS_32);
 		EXPECT_EQ(spci_msg_send(src_id, dst_id, spci_msg_send_size(ret),
 					0)
 				  .func,
diff --git a/test/vmapi/arch/aarch64/gicv3/services/busy.c b/test/vmapi/arch/aarch64/gicv3/services/busy.c
index f52eb2a..fece9f6 100644
--- a/test/vmapi/arch/aarch64/gicv3/services/busy.c
+++ b/test/vmapi/arch/aarch64/gicv3/services/busy.c
@@ -31,7 +31,7 @@
 {
 	dlog("Secondary waiting for message...\n");
 	mailbox_receive_retry();
-	spci_rx_release();
+	EXPECT_EQ(spci_rx_release().func, SPCI_SUCCESS_32);
 	dlog("Secondary received message, looping forever.\n");
 	for (;;) {
 	}
diff --git a/test/vmapi/arch/aarch64/gicv3/services/timer.c b/test/vmapi/arch/aarch64/gicv3/services/timer.c
index bb2ff17..f62aa80 100644
--- a/test/vmapi/arch/aarch64/gicv3/services/timer.c
+++ b/test/vmapi/arch/aarch64/gicv3/services/timer.c
@@ -90,7 +90,7 @@
 			(message[9] - '0') * 100 + (message[10] - '0') * 10 +
 			(message[11] - '0');
 
-		spci_rx_release();
+		EXPECT_EQ(spci_rx_release().func, SPCI_SUCCESS_32);
 
 		dlog("Starting timer for %d ticks.\n", ticks);
 
diff --git a/test/vmapi/primary_with_secondaries/memory_sharing.c b/test/vmapi/primary_with_secondaries/memory_sharing.c
index bcb0777..ad92087 100644
--- a/test/vmapi/primary_with_secondaries/memory_sharing.c
+++ b/test/vmapi/primary_with_secondaries/memory_sharing.c
@@ -224,7 +224,7 @@
 
 	run_res = spci_run(SERVICE_VM1, 0);
 	EXPECT_EQ(run_res.func, SPCI_MSG_SEND_32);
-	spci_rx_release();
+	EXPECT_EQ(spci_rx_release().func, SPCI_SUCCESS_32);
 
 	for (int i = 0; i < PAGE_SIZE; ++i) {
 		uint8_t value = i + 1;
@@ -266,7 +266,7 @@
 	for (int i = 0; i < PAGE_SIZE; ++i) {
 		ASSERT_EQ(ptr[i], 'c');
 	}
-	spci_rx_release();
+	EXPECT_EQ(spci_rx_release().func, SPCI_SUCCESS_32);
 
 	run_res = spci_run(SERVICE_VM1, 0);
 	EXPECT_EQ(exception_handler_receive_num_exceptions(&run_res, mb.recv),
@@ -327,7 +327,7 @@
 
 	/* Let the memory be returned. */
 	EXPECT_EQ(run_res.func, SPCI_MSG_SEND_32);
-	spci_rx_release();
+	EXPECT_EQ(spci_rx_release().func, SPCI_SUCCESS_32);
 
 	/* Ensure that the secondary VM accessed the region. */
 	for (int i = 0; i < PAGE_SIZE; ++i) {
@@ -409,7 +409,7 @@
 	for (int i = 0; i < PAGE_SIZE; ++i) {
 		ASSERT_EQ(ptr[i], 'c');
 	}
-	spci_rx_release();
+	EXPECT_EQ(spci_rx_release().func, SPCI_SUCCESS_32);
 
 	run_res = spci_run(SERVICE_VM1, 0);
 	EXPECT_EQ(exception_handler_receive_num_exceptions(&run_res, mb.recv),
@@ -449,7 +449,7 @@
 	for (int i = 0; i < PAGE_SIZE; ++i) {
 		ASSERT_EQ(ptr[i], 'd');
 	}
-	spci_rx_release();
+	EXPECT_EQ(spci_rx_release().func, SPCI_SUCCESS_32);
 
 	run_res = spci_run(SERVICE_VM1, 0);
 	EXPECT_EQ(exception_handler_receive_num_exceptions(&run_res, mb.recv),
@@ -483,7 +483,7 @@
 	/* Let the memory be returned. */
 	run_res = spci_run(SERVICE_VM1, 0);
 	EXPECT_EQ(run_res.func, SPCI_MSG_SEND_32);
-	spci_rx_release();
+	EXPECT_EQ(spci_rx_release().func, SPCI_SUCCESS_32);
 
 	/* Share the memory again after it has been returned. */
 	msg_size = spci_memory_region_init(
@@ -528,7 +528,7 @@
 	/* Let the memory be returned. */
 	run_res = spci_run(SERVICE_VM1, 0);
 	EXPECT_EQ(run_res.func, SPCI_MSG_SEND_32);
-	spci_rx_release();
+	EXPECT_EQ(spci_rx_release().func, SPCI_SUCCESS_32);
 
 	/* Share the memory with a different VM after it has been returned. */
 	msg_size = spci_memory_region_init(
@@ -571,7 +571,7 @@
 	for (int i = 0; i < PAGE_SIZE; ++i) {
 		ASSERT_EQ(ptr[i], 0);
 	}
-	spci_rx_release();
+	EXPECT_EQ(spci_rx_release().func, SPCI_SUCCESS_32);
 
 	run_res = spci_run(SERVICE_VM1, 0);
 	EXPECT_EQ(exception_handler_receive_num_exceptions(&run_res, mb.recv),
@@ -604,7 +604,7 @@
 	for (int i = 0; i < PAGE_SIZE; ++i) {
 		ASSERT_EQ(ptr[i], 0);
 	}
-	spci_rx_release();
+	EXPECT_EQ(spci_rx_release().func, SPCI_SUCCESS_32);
 
 	run_res = spci_run(SERVICE_VM1, 0);
 	EXPECT_EQ(exception_handler_receive_num_exceptions(&run_res, mb.recv),
@@ -777,7 +777,7 @@
 
 	/* Let the memory be returned. */
 	EXPECT_EQ(run_res.func, SPCI_MSG_SEND_32);
-	spci_rx_release();
+	EXPECT_EQ(spci_rx_release().func, SPCI_SUCCESS_32);
 
 	/* Share the memory with another VM. */
 	msg_size = spci_memory_region_init(
@@ -832,7 +832,7 @@
 	/* Let the memory be sent from VM1 to VM2. */
 	run_res = spci_run(SERVICE_VM1, 0);
 	EXPECT_EQ(run_res.func, SPCI_MSG_SEND_32);
-	spci_rx_release();
+	EXPECT_EQ(spci_rx_release().func, SPCI_SUCCESS_32);
 
 	/* Receive memory in VM2. */
 	run_res = spci_run(SERVICE_VM2, 0);
@@ -1179,7 +1179,7 @@
 	/* Let service write to and return memory. */
 	run_res = spci_run(SERVICE_VM1, 0);
 	EXPECT_EQ(run_res.func, SPCI_MSG_SEND_32);
-	spci_rx_release();
+	EXPECT_EQ(spci_rx_release().func, SPCI_SUCCESS_32);
 
 	/* Re-initialise the memory before giving it. */
 	memset_s(ptr, sizeof(pages), 'b', PAGE_SIZE);
@@ -1246,7 +1246,7 @@
 	/* Let service write to and return memory. */
 	run_res = spci_run(SERVICE_VM1, 0);
 	EXPECT_EQ(run_res.func, SPCI_MSG_SEND_32);
-	spci_rx_release();
+	EXPECT_EQ(spci_rx_release().func, SPCI_SUCCESS_32);
 
 	/* Re-initialise the memory before giving it. */
 	memset_s(ptr, sizeof(pages), 'b', PAGE_SIZE);
@@ -1318,7 +1318,7 @@
 	/* Let service write to and return memory. */
 	run_res = spci_run(SERVICE_VM1, 0);
 	EXPECT_EQ(run_res.func, SPCI_MSG_SEND_32);
-	spci_rx_release();
+	EXPECT_EQ(spci_rx_release().func, SPCI_SUCCESS_32);
 
 	/* Re-initialise the memory before giving it. */
 	memset_s(ptr, sizeof(pages), 'b', PAGE_SIZE);
@@ -1383,7 +1383,7 @@
 	/* Attempt to execute from memory. */
 	run_res = spci_run(SERVICE_VM1, 0);
 	EXPECT_EQ(run_res.func, SPCI_MSG_SEND_32);
-	spci_rx_release();
+	EXPECT_EQ(spci_rx_release().func, SPCI_SUCCESS_32);
 
 	msg_size = spci_memory_region_init(
 		mb.send, SERVICE_VM1, constituents, ARRAY_SIZE(constituents), 0,
@@ -1434,7 +1434,7 @@
 	/* Attempt to execute from memory. */
 	run_res = spci_run(SERVICE_VM1, 0);
 	EXPECT_EQ(run_res.func, SPCI_MSG_SEND_32);
-	spci_rx_release();
+	EXPECT_EQ(spci_rx_release().func, SPCI_SUCCESS_32);
 
 	msg_size = spci_memory_region_init(
 		mb.send, SERVICE_VM1, constituents, ARRAY_SIZE(constituents), 0,
diff --git a/test/vmapi/primary_with_secondaries/run_race.c b/test/vmapi/primary_with_secondaries/run_race.c
index f06f2a7..6f7c459 100644
--- a/test/vmapi/primary_with_secondaries/run_race.c
+++ b/test/vmapi/primary_with_secondaries/run_race.c
@@ -51,7 +51,7 @@
 		}
 
 		/* Clear mailbox so that next message can be received. */
-		spci_rx_release();
+		EXPECT_EQ(spci_rx_release().func, SPCI_SUCCESS_32);
 	}
 
 	/* Copies the contents of the received boolean to the return value. */
@@ -59,7 +59,7 @@
 		ok = *(bool *)mb->recv;
 	}
 
-	spci_rx_release();
+	EXPECT_EQ(spci_rx_release().func, SPCI_SUCCESS_32);
 
 	return ok;
 }
diff --git a/test/vmapi/primary_with_secondaries/services/echo.c b/test/vmapi/primary_with_secondaries/services/echo.c
index b34778e..b1c99d9 100644
--- a/test/vmapi/primary_with_secondaries/services/echo.c
+++ b/test/vmapi/primary_with_secondaries/services/echo.c
@@ -35,7 +35,7 @@
 		memcpy_s(send_buf, SPCI_MSG_PAYLOAD_MAX, recv_buf,
 			 spci_msg_send_size(ret));
 
-		spci_rx_release();
+		EXPECT_EQ(spci_rx_release().func, SPCI_SUCCESS_32);
 		spci_msg_send(target_vm_id, source_vm_id,
 			      spci_msg_send_size(ret), 0);
 	}
diff --git a/test/vmapi/primary_with_secondaries/services/echo_with_notification.c b/test/vmapi/primary_with_secondaries/services/echo_with_notification.c
index df602ef..a74391b 100644
--- a/test/vmapi/primary_with_secondaries/services/echo_with_notification.c
+++ b/test/vmapi/primary_with_secondaries/services/echo_with_notification.c
@@ -69,6 +69,6 @@
 			wait_for_vm(source_vm_id);
 		}
 
-		spci_rx_release();
+		EXPECT_EQ(spci_rx_release().func, SPCI_SUCCESS_32);
 	}
 }
diff --git a/test/vmapi/primary_with_secondaries/services/interruptible.c b/test/vmapi/primary_with_secondaries/services/interruptible.c
index ed8bb87..fc79d20 100644
--- a/test/vmapi/primary_with_secondaries/services/interruptible.c
+++ b/test/vmapi/primary_with_secondaries/services/interruptible.c
@@ -95,6 +95,6 @@
 			     spci_msg_send_size(ret));
 			FAIL("Unexpected message");
 		}
-		spci_rx_release();
+		EXPECT_EQ(spci_rx_release().func, SPCI_SUCCESS_32);
 	}
 }
diff --git a/test/vmapi/primary_with_secondaries/services/interruptible_echo.c b/test/vmapi/primary_with_secondaries/services/interruptible_echo.c
index 87463a3..8903990 100644
--- a/test/vmapi/primary_with_secondaries/services/interruptible_echo.c
+++ b/test/vmapi/primary_with_secondaries/services/interruptible_echo.c
@@ -53,7 +53,7 @@
 		memcpy_s(message, SPCI_MSG_PAYLOAD_MAX, recv_message,
 			 spci_msg_send_size(res));
 
-		spci_rx_release();
+		EXPECT_EQ(spci_rx_release().func, SPCI_SUCCESS_32);
 		spci_msg_send(SERVICE_VM1, HF_PRIMARY_VM_ID,
 			      spci_msg_send_size(res), 0);
 	}
diff --git a/test/vmapi/primary_with_secondaries/services/memory.c b/test/vmapi/primary_with_secondaries/services/memory.c
index 71a6c68..113ce2f 100644
--- a/test/vmapi/primary_with_secondaries/services/memory.c
+++ b/test/vmapi/primary_with_secondaries/services/memory.c
@@ -61,7 +61,7 @@
 		}
 
 		/* Signal completion and reset. */
-		spci_rx_release();
+		EXPECT_EQ(spci_rx_release().func, SPCI_SUCCESS_32);
 		spci_msg_send(hf_vm_get_id(), spci_msg_send_sender(ret),
 			      sizeof(ptr), 0);
 	}
@@ -164,7 +164,7 @@
 			SPCI_MEMORY_RW_X, SPCI_MEMORY_NORMAL_MEM,
 			SPCI_MEMORY_CACHE_WRITE_BACK,
 			SPCI_MEMORY_OUTER_SHAREABLE);
-		spci_rx_release();
+		EXPECT_EQ(spci_rx_release().func, SPCI_SUCCESS_32);
 		EXPECT_EQ(spci_msg_send(spci_msg_send_receiver(ret),
 					spci_msg_send_sender(ret), msg_size,
 					SPCI_MSG_SEND_LEGACY_MEMORY_DONATE)
@@ -206,7 +206,7 @@
 		/* Choose which constituent we want to test. */
 		index = *(uint8_t *)constituents[0].address;
 		ptr = (uint8_t *)constituents[index].address;
-		spci_rx_release();
+		EXPECT_EQ(spci_rx_release().func, SPCI_SUCCESS_32);
 
 		/*
 		 * Check that one cannot access out of bounds after donated
@@ -241,7 +241,7 @@
 		/* Choose which constituent we want to test. */
 		index = *(uint8_t *)constituents[0].address;
 		ptr = (uint8_t *)constituents[index].address;
-		spci_rx_release();
+		EXPECT_EQ(spci_rx_release().func, SPCI_SUCCESS_32);
 
 		/*
 		 * Check that one cannot access out of bounds after donated
@@ -280,7 +280,7 @@
 		memory_region->constituent_count, 0, 0, SPCI_MEMORY_RW_X,
 		SPCI_MEMORY_NORMAL_MEM, SPCI_MEMORY_CACHE_WRITE_BACK,
 		SPCI_MEMORY_OUTER_SHAREABLE);
-	spci_rx_release();
+	EXPECT_EQ(spci_rx_release().func, SPCI_SUCCESS_32);
 	EXPECT_EQ(spci_msg_send(spci_msg_send_receiver(ret), SERVICE_VM2,
 				msg_size, SPCI_MSG_SEND_LEGACY_MEMORY_DONATE)
 			  .func,
@@ -309,7 +309,7 @@
 	EXPECT_EQ(ret.func, SPCI_MSG_SEND_32);
 	EXPECT_EQ(spci_msg_send_attributes(ret),
 		  SPCI_MSG_SEND_LEGACY_MEMORY_DONATE);
-	spci_rx_release();
+	EXPECT_EQ(spci_rx_release().func, SPCI_SUCCESS_32);
 
 	/* Yield to allow attempt to re donate from primary. */
 	spci_yield();
@@ -357,7 +357,7 @@
 			  SPCI_MSG_SEND_LEGACY_MEMORY_DONATE);
 
 		ptr = (uint8_t *)constituents[0].address;
-		spci_rx_release();
+		EXPECT_EQ(spci_rx_release().func, SPCI_SUCCESS_32);
 		ptr[0] = 'd';
 		spci_yield();
 
@@ -402,7 +402,7 @@
 		memory_region->constituent_count, 0, 0, SPCI_MEMORY_RW_X,
 		SPCI_MEMORY_NORMAL_MEM, SPCI_MEMORY_CACHE_WRITE_BACK,
 		SPCI_MEMORY_OUTER_SHAREABLE);
-	spci_rx_release();
+	EXPECT_EQ(spci_rx_release().func, SPCI_SUCCESS_32);
 	EXPECT_SPCI_ERROR(spci_msg_send(HF_PRIMARY_VM_ID, SERVICE_VM2, msg_size,
 					SPCI_MSG_SEND_LEGACY_MEMORY_DONATE),
 			  SPCI_INVALID_PARAMETERS);
@@ -464,7 +464,7 @@
 			SPCI_MEMORY_CACHE_WRITE_BACK,
 			SPCI_MEMORY_OUTER_SHAREABLE);
 		/* Relevant information read, mailbox can be cleared. */
-		spci_rx_release();
+		EXPECT_EQ(spci_rx_release().func, SPCI_SUCCESS_32);
 		EXPECT_EQ(spci_msg_send(spci_msg_send_receiver(ret),
 					spci_msg_send_sender(ret), msg_size,
 					SPCI_MSG_SEND_LEGACY_MEMORY_RELINQUISH)
@@ -514,7 +514,7 @@
 			SPCI_MEMORY_RW_X, SPCI_MEMORY_NORMAL_MEM,
 			SPCI_MEMORY_CACHE_WRITE_BACK,
 			SPCI_MEMORY_OUTER_SHAREABLE);
-		spci_rx_release();
+		EXPECT_EQ(spci_rx_release().func, SPCI_SUCCESS_32);
 		EXPECT_SPCI_ERROR(
 			spci_msg_send(spci_msg_send_receiver(ret),
 				      HF_PRIMARY_VM_ID, msg_size,
@@ -586,7 +586,7 @@
 		memory_region->constituent_count, 0, 0, SPCI_MEMORY_RW_X,
 		SPCI_MEMORY_NORMAL_MEM, SPCI_MEMORY_CACHE_WRITE_BACK,
 		SPCI_MEMORY_OUTER_SHAREABLE);
-	spci_rx_release();
+	EXPECT_EQ(spci_rx_release().func, SPCI_SUCCESS_32);
 	EXPECT_SPCI_ERROR(spci_msg_send(HF_PRIMARY_VM_ID, SERVICE_VM2, msg_size,
 					SPCI_MSG_SEND_LEGACY_MEMORY_SHARE),
 			  SPCI_INVALID_PARAMETERS);
@@ -633,7 +633,7 @@
 			SPCI_MEMORY_RW_X, SPCI_MEMORY_NORMAL_MEM,
 			SPCI_MEMORY_CACHE_WRITE_BACK,
 			SPCI_MEMORY_OUTER_SHAREABLE);
-		spci_rx_release();
+		EXPECT_EQ(spci_rx_release().func, SPCI_SUCCESS_32);
 		EXPECT_EQ(spci_msg_send(spci_msg_send_receiver(ret),
 					HF_PRIMARY_VM_ID, msg_size,
 					SPCI_MSG_SEND_LEGACY_MEMORY_RELINQUISH)
@@ -677,7 +677,7 @@
 				  ~SPCI_MSG_SEND_LEGACY_MEMORY_MASK,
 			  0);
 
-		spci_rx_release();
+		EXPECT_EQ(spci_rx_release().func, SPCI_SUCCESS_32);
 
 		ptr = (uint8_t *)constituent_copy.address;
 
@@ -731,7 +731,7 @@
 	/* Choose which constituent we want to test. */
 	index = *(uint8_t *)constituents[0].address;
 	ptr = (uint8_t *)constituents[index].address;
-	spci_rx_release();
+	EXPECT_EQ(spci_rx_release().func, SPCI_SUCCESS_32);
 
 	/* Check that one cannot access after lent region. */
 	ASSERT_EQ(ptr[PAGE_SIZE], 0);
@@ -763,7 +763,7 @@
 	/* Choose which constituent we want to test. */
 	index = *(uint8_t *)constituents[0].address;
 	ptr = (uint8_t *)constituents[index].address;
-	spci_rx_release();
+	EXPECT_EQ(spci_rx_release().func, SPCI_SUCCESS_32);
 
 	/* Check that one cannot access after lent region. */
 	ptr[-1]++;
@@ -799,7 +799,7 @@
 			  ~SPCI_MSG_SEND_LEGACY_MEMORY_MASK,
 		  0);
 
-	spci_rx_release();
+	EXPECT_EQ(spci_rx_release().func, SPCI_SUCCESS_32);
 
 	ptr = (uint8_t *)constituent_copy.address;
 
diff --git a/test/vmapi/primary_with_secondaries/services/relay.c b/test/vmapi/primary_with_secondaries/services/relay.c
index 681b944..7917251 100644
--- a/test/vmapi/primary_with_secondaries/services/relay.c
+++ b/test/vmapi/primary_with_secondaries/services/relay.c
@@ -54,7 +54,7 @@
 		memcpy_s(send_buf, SPCI_MSG_PAYLOAD_MAX, next_message,
 			 next_message_size);
 
-		spci_rx_release();
+		EXPECT_EQ(spci_rx_release().func, SPCI_SUCCESS_32);
 		spci_msg_send(hf_vm_get_id(), next_vm_id, next_message_size, 0);
 	}
 }
diff --git a/test/vmapi/primary_with_secondaries/unmapped.c b/test/vmapi/primary_with_secondaries/unmapped.c
index 39682f2..8b5af23 100644
--- a/test/vmapi/primary_with_secondaries/unmapped.c
+++ b/test/vmapi/primary_with_secondaries/unmapped.c
@@ -52,7 +52,7 @@
 	 */
 	run_res = spci_run(SERVICE_VM1, 0);
 	EXPECT_EQ(run_res.func, SPCI_MSG_SEND_32);
-	spci_rx_release();
+	EXPECT_EQ(spci_rx_release().func, SPCI_SUCCESS_32);
 
 	run_res = spci_run(SERVICE_VM1, 0);
 	EXPECT_EQ(exception_handler_receive_num_exceptions(&run_res, mb.recv),
@@ -90,7 +90,7 @@
 	 */
 	run_res = spci_run(SERVICE_VM1, 0);
 	EXPECT_EQ(run_res.func, SPCI_MSG_SEND_32);
-	spci_rx_release();
+	EXPECT_EQ(spci_rx_release().func, SPCI_SUCCESS_32);
 
 	run_res = spci_run(SERVICE_VM1, 0);
 	EXPECT_EQ(exception_handler_receive_num_exceptions(&run_res, mb.recv),