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.
This commit is contained in:
magumagu 2016-05-04 17:45:46 -07:00
parent b7795044bb
commit cfce7a2aab
1 changed files with 4 additions and 2 deletions

View File

@ -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) IPCCommandResult CWII_IPC_HLE_Device_usb_oh1_57e_305::IOCtl(u32 _CommandAddress)
{ {
//ERROR_LOG(WII_IPC_WIIMOTE, "Passing ioctl to ioctlv"); // NeoGamma (homebrew) is known to use this path.
return IOCtlV(_CommandAddress); // FIXME: Hack 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) IPCCommandResult CWII_IPC_HLE_Device_usb_oh1_57e_305::IOCtlV(u32 _CommandAddress)