diff options
| author | magumagu <magumagu9@gmail.com> | 2016-05-04 17:45:46 -0700 |
|---|---|---|
| committer | magumagu <magumagu9@gmail.com> | 2016-05-07 11:37:21 -0700 |
| commit | cfce7a2aab8ee8062bc4c54d096703edee5f5e6f (patch) | |
| tree | 01d668132a76ad665bb976c266e1b36c1b0d963b /Source/Core | |
| parent | b7795044bbfc71bf57370ab02ff1346434484ffc (diff) | |
Fix IPCHLE to make NeoGamma work.
NeoGamma is explicitly sending a nonsense command to the Bluetooth module;
make sure to respond with something sane.
Fixes issue 9470, a regression from PR #1856.
Diffstat (limited to 'Source/Core')
| -rw-r--r-- | Source/Core/Core/IPC_HLE/WII_IPC_HLE_Device_usb.cpp | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/Source/Core/Core/IPC_HLE/WII_IPC_HLE_Device_usb.cpp b/Source/Core/Core/IPC_HLE/WII_IPC_HLE_Device_usb.cpp index a30c34d8a0..f5666badf4 100644 --- a/Source/Core/Core/IPC_HLE/WII_IPC_HLE_Device_usb.cpp +++ b/Source/Core/Core/IPC_HLE/WII_IPC_HLE_Device_usb.cpp @@ -178,8 +178,10 @@ IPCCommandResult CWII_IPC_HLE_Device_usb_oh1_57e_305::Close(u32 _CommandAddress, IPCCommandResult CWII_IPC_HLE_Device_usb_oh1_57e_305::IOCtl(u32 _CommandAddress) { - //ERROR_LOG(WII_IPC_WIIMOTE, "Passing ioctl to ioctlv"); - return IOCtlV(_CommandAddress); // FIXME: Hack + // NeoGamma (homebrew) is known to use this path. + ERROR_LOG(WII_IPC_WIIMOTE, "Bad IOCtl in CWII_IPC_HLE_Device_usb_oh1_57e_305"); + Memory::Write_U32(FS_EINVAL, _CommandAddress + 4); + return GetDefaultReply(); } IPCCommandResult CWII_IPC_HLE_Device_usb_oh1_57e_305::IOCtlV(u32 _CommandAddress) |
