diff options
Diffstat (limited to 'kernel/gsp_rm_emulation.c')
| -rw-r--r-- | kernel/gsp_rm_emulation.c | 10 |
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); |
