summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--kernel/gsp_rm_emulation.c10
1 files changed, 9 insertions, 1 deletions
diff --git a/kernel/gsp_rm_emulation.c b/kernel/gsp_rm_emulation.c
index eaa2ff5..a1c653e 100644
--- a/kernel/gsp_rm_emulation.c
+++ b/kernel/gsp_rm_emulation.c
@@ -2866,8 +2866,16 @@ static void gsp_rm_handle_element(struct gsp_emu_context *ctx, const u8 *elem)
switch (function) {
case GSPRM_RPC_FUNC_GSP_SET_SYSTEM_INFO:
case GSPRM_RPC_FUNC_SET_REGISTRY:
+ /* Async init RPCs - fire and forget, no reply expected.
+ * Guest was treating SUCCESS replies as "unexpected events". */
+ nv_vgpu_info(ctx->vgpu, "GSPRM: async RPC %s(%u) seq=%u len=%u -> NO REPLY (fire-and-forget)",
+ gsp_rm_rpc_name(function), function, sequence,
+ hdr->length);
+ rm->rpcs_replied++;
+ return;
+
case GSPRM_RPC_FUNC_CONTINUATION_RECORD:
- /* Async init RPCs - but driver expects a reply. Send SUCCESS. */
+ /* CONTINUATION_RECORD: driver expects a reply. Send SUCCESS. */
nv_vgpu_info(ctx->vgpu, "GSPRM: async RPC %s(%u) seq=%u len=%u -> SUCCESS reply",
gsp_rm_rpc_name(function), function, sequence,
hdr->length);