From 1cf6f5c623b16d5f3f37faf2a3e844f2f5f0fc1d Mon Sep 17 00:00:00 2001
From: Nikita Strygin <nikita6@bk.ru>
Date: Sun, 31 Jul 2022 23:17:45 +0300
Subject: [PATCH] Properly write out the command buffer when serving close
 request

---
 src/core/hle/service/service.cpp | 7 +++++--
 1 file changed, 5 insertions(+), 2 deletions(-)

diff --git a/src/core/hle/service/service.cpp b/src/core/hle/service/service.cpp
index c64291e7f8..dadaf897f1 100644
--- a/src/core/hle/service/service.cpp
+++ b/src/core/hle/service/service.cpp
@@ -194,13 +194,16 @@ Result ServiceFrameworkBase::HandleSyncRequest(Kernel::KServerSession& session,
                                                Kernel::HLERequestContext& ctx) {
     const auto guard = LockService();
 
+    Result result = ResultSuccess;
+
     switch (ctx.GetCommandType()) {
     case IPC::CommandType::Close:
     case IPC::CommandType::TIPC_Close: {
         session.Close();
         IPC::ResponseBuilder rb{ctx, 2};
         rb.Push(ResultSuccess);
-        return IPC::ERR_REMOTE_PROCESS_DEAD;
+        result = IPC::ERR_REMOTE_PROCESS_DEAD;
+        break;
     }
     case IPC::CommandType::ControlWithContext:
     case IPC::CommandType::Control: {
@@ -227,7 +230,7 @@ Result ServiceFrameworkBase::HandleSyncRequest(Kernel::KServerSession& session,
         ctx.WriteToOutgoingCommandBuffer(ctx.GetThread());
     }
 
-    return ResultSuccess;
+    return result;
 }
 
 /// Initialize Services