Skip to content
Permalink
Browse files

IOS/VEN: Read cancel endpoint correctly

Fixes an embarrassing bug that made the implementation utterly useless.

This fixes Your Shape hanging on shutdown. The game was waiting for an
interrupt transfer to be cancelled, and Dolphin wasn't cancelling
transfers on the correct endpoint.
  • Loading branch information...
leoetlino committed May 2, 2019
1 parent d7e23d7 commit b274a054a919b5edbe8ca2d8391023e2b99ac0c4
Showing with 1 addition and 1 deletion.
  1. +1 −1 Source/Core/Core/IOS/USB/USB_VEN/VEN.cpp
@@ -104,7 +104,7 @@ s32 USB_VEN::SubmitTransfer(USB::Device& device, const IOCtlVRequest& ioctlv)

IPCCommandResult USB_VEN::CancelEndpoint(USBV5Device& device, const IOCtlRequest& request)
{
const u8 endpoint = static_cast<u8>(Memory::Read_U32(request.buffer_in + 8));
const u8 endpoint = Memory::Read_U8(request.buffer_in + 8);
// IPC_EINVAL (-4) is returned when no transfer was cancelled.
if (GetDeviceById(device.host_id)->CancelTransfer(endpoint) < 0)
return GetDefaultReply(IPC_EINVAL);

0 comments on commit b274a05

Please sign in to comment.
You can’t perform that action at this time.