diff options
Diffstat (limited to 'src/core/hle')
| -rw-r--r-- | src/core/hle/kernel/session.h | 4 | ||||
| -rw-r--r-- | src/core/hle/service/srv.cpp | 4 | 
2 files changed, 6 insertions, 2 deletions
| diff --git a/src/core/hle/kernel/session.h b/src/core/hle/kernel/session.h index 6ddaf970e..26b086f87 100644 --- a/src/core/hle/kernel/session.h +++ b/src/core/hle/kernel/session.h @@ -32,6 +32,10 @@ constexpr u32 CallingPidDesc() {      return 0x20;  } +constexpr u32 TransferHandleDesc() { +    return 0x20; +} +  constexpr u32 StaticBufferDesc(u32 size, unsigned int buffer_id) {      return 0x2 | (size << 14) | ((buffer_id & 0xF) << 10);  } diff --git a/src/core/hle/service/srv.cpp b/src/core/hle/service/srv.cpp index 2afc04d27..8bd36d5ea 100644 --- a/src/core/hle/service/srv.cpp +++ b/src/core/hle/service/srv.cpp @@ -27,7 +27,7 @@ static Kernel::SharedPtr<Kernel::Event> event_handle;  static void RegisterClient(Service::Interface* self) {      u32* cmd_buff = Kernel::GetCommandBuffer(); -    if (cmd_buff[1] != 0x20) { +    if (cmd_buff[1] != IPC::CallingPidDesc()) {          cmd_buff[0] = IPC::MakeHeader(0x0, 0x1, 0); //0x40          cmd_buff[1] = ResultCode(ErrorDescription::OS_InvalidBufferDescriptor, ErrorModule::OS,                                   ErrorSummary::WrongArgument, ErrorLevel::Permanent).raw; @@ -57,7 +57,7 @@ static void EnableNotification(Service::Interface* self) {      cmd_buff[0] = IPC::MakeHeader(0x2, 0x1, 0x2); // 0x20042      cmd_buff[1] = RESULT_SUCCESS.raw; // No error -    cmd_buff[2] = IPC::CallingPidDesc(); +    cmd_buff[2] = IPC::TransferHandleDesc();      cmd_buff[3] = Kernel::g_handle_table.Create(event_handle).MoveFrom();      LOG_WARNING(Service_SRV, "(STUBBED) called");  } | 
