diff options
| author | Hector Martin <marcan@marcan.st> | 2016-12-01 06:35:12 +0900 |
|---|---|---|
| committer | Hector Martin <marcan@marcan.st> | 2016-12-01 06:38:51 +0900 |
| commit | 288e75f672ae6bc795210f2b3c67be5cf1c2e01c (patch) | |
| tree | f28aa5ef9b09c6510eb14cefdae4ffcdbe638ac4 /Source/Core | |
| parent | 2b906e3fc45a908704863db847d995a4b9b63374 (diff) | |
Wii IPC HLE: Fix IPC missing reply fail
Diffstat (limited to 'Source/Core')
| -rw-r--r-- | Source/Core/Core/IPC_HLE/WII_IPC_HLE.cpp | 10 | ||||
| -rw-r--r-- | Source/Core/Core/IPC_HLE/WII_IPC_HLE_Device_usb_ven.cpp | 2 |
2 files changed, 11 insertions, 1 deletions
diff --git a/Source/Core/Core/IPC_HLE/WII_IPC_HLE.cpp b/Source/Core/Core/IPC_HLE/WII_IPC_HLE.cpp index 83d8397331..b59bb7f552 100644 --- a/Source/Core/Core/IPC_HLE/WII_IPC_HLE.cpp +++ b/Source/Core/Core/IPC_HLE/WII_IPC_HLE.cpp @@ -533,6 +533,11 @@ void ExecuteCommand(u32 address) { result = device->IOCtl(address); } + else + { + Memory::Write_U32(FS_EINVAL, address + 4); + result = IWII_IPC_HLE_Device::GetDefaultReply(); + } break; } case IPC_CMD_IOCTLV: @@ -541,6 +546,11 @@ void ExecuteCommand(u32 address) { result = device->IOCtlV(address); } + else + { + Memory::Write_U32(FS_EINVAL, address + 4); + result = IWII_IPC_HLE_Device::GetDefaultReply(); + } break; } default: diff --git a/Source/Core/Core/IPC_HLE/WII_IPC_HLE_Device_usb_ven.cpp b/Source/Core/Core/IPC_HLE/WII_IPC_HLE_Device_usb_ven.cpp index c1d7670847..87f9cecedd 100644 --- a/Source/Core/Core/IPC_HLE/WII_IPC_HLE_Device_usb_ven.cpp +++ b/Source/Core/Core/IPC_HLE/WII_IPC_HLE_Device_usb_ven.cpp @@ -50,7 +50,7 @@ IPCCommandResult CWII_IPC_HLE_Device_usb_ven::IOCtlV(u32 command_address) IPCCommandResult CWII_IPC_HLE_Device_usb_ven::IOCtl(u32 command_address) { - IPCCommandResult reply = GetNoReply(); + IPCCommandResult reply = GetDefaultReply(); u32 command = Memory::Read_U32(command_address + 0x0c); u32 buffer_in = Memory::Read_U32(command_address + 0x10); u32 buffer_in_size = Memory::Read_U32(command_address + 0x14); |
