diff --git a/driver/linux b/driver/linux
index cafe017..b040b30 160000
--- a/driver/linux
+++ b/driver/linux
@@ -1 +1 @@
-Subproject commit cafe017d8863e5326c3f1c660ce71d5a82da7b19
+Subproject commit b040b30d6fd98ae62be4cff7950551f0ac98ff53
diff --git a/inc/hf/spci_internal.h b/inc/hf/spci_internal.h
index e046233..c7c0d2e 100644
--- a/inc/hf/spci_internal.h
+++ b/inc/hf/spci_internal.h
@@ -65,7 +65,7 @@
 
 static inline struct spci_value spci_error(uint64_t error_code)
 {
-	return (struct spci_value){.func = SPCI_ERROR_32, .arg1 = error_code};
+	return (struct spci_value){.func = SPCI_ERROR_32, .arg2 = error_code};
 }
 
 struct spci_value spci_msg_handle_architected_message(
diff --git a/test/vmapi/arch/aarch64/gicv3/services/common.c b/test/vmapi/arch/aarch64/gicv3/services/common.c
index 1a10fbd..8bcbfd9 100644
--- a/test/vmapi/arch/aarch64/gicv3/services/common.c
+++ b/test/vmapi/arch/aarch64/gicv3/services/common.c
@@ -31,7 +31,7 @@
 	do {
 		received = spci_msg_wait();
 	} while (received.func == SPCI_ERROR_32 &&
-		 received.arg1 == SPCI_INTERRUPTED);
+		 received.arg2 == SPCI_INTERRUPTED);
 
 	return received;
 }
diff --git a/test/vmapi/arch/aarch64/gicv3/services/timer.c b/test/vmapi/arch/aarch64/gicv3/services/timer.c
index fc52ab1..063422a 100644
--- a/test/vmapi/arch/aarch64/gicv3/services/timer.c
+++ b/test/vmapi/arch/aarch64/gicv3/services/timer.c
@@ -110,7 +110,7 @@
 			struct spci_value res = spci_msg_wait();
 
 			EXPECT_EQ(res.func, SPCI_ERROR_32);
-			EXPECT_EQ(res.arg1, SPCI_INTERRUPTED);
+			EXPECT_EQ(res.arg2, SPCI_INTERRUPTED);
 		} else {
 			/* Busy wait until the timer fires. */
 			while (!timer_fired) {
diff --git a/test/vmapi/primary_with_secondaries/inc/util.h b/test/vmapi/primary_with_secondaries/inc/util.h
index 845a4b4..3ecebf6 100644
--- a/test/vmapi/primary_with_secondaries/inc/util.h
+++ b/test/vmapi/primary_with_secondaries/inc/util.h
@@ -21,7 +21,7 @@
 #define EXPECT_SPCI_ERROR(value, spci_error)          \
 	do {                                          \
 		EXPECT_EQ(value.func, SPCI_ERROR_32); \
-		EXPECT_EQ(value.arg1, spci_error);    \
+		EXPECT_EQ(value.arg2, spci_error);    \
 	} while (0)
 
 struct mailbox_buffers {
diff --git a/test/vmapi/primary_with_secondaries/mailbox.c b/test/vmapi/primary_with_secondaries/mailbox.c
index d83beaf..7dd47fe 100644
--- a/test/vmapi/primary_with_secondaries/mailbox.c
+++ b/test/vmapi/primary_with_secondaries/mailbox.c
@@ -329,10 +329,9 @@
 		spci_msg_send(HF_PRIMARY_VM_ID, SERVICE_VM0, sizeof(message), 0)
 			.func,
 		SPCI_SUCCESS_32);
-	EXPECT_EQ(spci_msg_send(HF_PRIMARY_VM_ID, SERVICE_VM0, sizeof(message),
-				SPCI_MSG_SEND_NOTIFY)
-			  .arg1,
-		  SPCI_BUSY);
+	EXPECT_SPCI_ERROR(spci_msg_send(HF_PRIMARY_VM_ID, SERVICE_VM0,
+					sizeof(message), SPCI_MSG_SEND_NOTIFY),
+			  SPCI_BUSY);
 
 	/* Receive a reply for the first message. */
 	run_res = hf_vcpu_run(SERVICE_VM0, 0);
diff --git a/test/vmapi/primary_with_secondaries/services/interruptible.c b/test/vmapi/primary_with_secondaries/services/interruptible.c
index 04ea783..3b86122 100644
--- a/test/vmapi/primary_with_secondaries/services/interruptible.c
+++ b/test/vmapi/primary_with_secondaries/services/interruptible.c
@@ -55,7 +55,7 @@
 	do {
 		received = spci_msg_wait();
 	} while (received.func == SPCI_ERROR_32 &&
-		 received.arg1 == SPCI_INTERRUPTED);
+		 received.arg2 == SPCI_INTERRUPTED);
 
 	return received;
 }
diff --git a/test/vmapi/primary_with_secondaries/services/interruptible_echo.c b/test/vmapi/primary_with_secondaries/services/interruptible_echo.c
index 814cce1..e370aea 100644
--- a/test/vmapi/primary_with_secondaries/services/interruptible_echo.c
+++ b/test/vmapi/primary_with_secondaries/services/interruptible_echo.c
@@ -44,7 +44,7 @@
 
 		/* Retry if interrupted but made visible with the yield. */
 		while (res.func == SPCI_ERROR_32 &&
-		       res.arg1 == SPCI_INTERRUPTED) {
+		       res.arg2 == SPCI_INTERRUPTED) {
 			spci_yield();
 			res = spci_msg_wait();
 		}
