summaryrefslogtreecommitdiff
path: root/Source/Core/InputCommon/GCAdapter.cpp
diff options
context:
space:
mode:
authorJordan Woyak <jordan.woyak@gmail.com>2020-07-09 17:17:44 -0500
committerJordan Woyak <jordan.woyak@gmail.com>2020-07-09 17:17:44 -0500
commitb350d3cca3c9cdf922d141d75ce259b63564e24e (patch)
tree859152e672e27ac62668cc15537adcb36fbf0510 /Source/Core/InputCommon/GCAdapter.cpp
parent5281efe2686f947195f7044b56eca00c7b7527a1 (diff)
InputCommon/GCAdapter: Unbreak Mayflash GCAdapters by allowing libusb_control_transfer call to fail.
Diffstat (limited to 'Source/Core/InputCommon/GCAdapter.cpp')
-rw-r--r--Source/Core/InputCommon/GCAdapter.cpp8
1 files changed, 5 insertions, 3 deletions
diff --git a/Source/Core/InputCommon/GCAdapter.cpp b/Source/Core/InputCommon/GCAdapter.cpp
index 3b8e823b24..ab9618efdf 100644
--- a/Source/Core/InputCommon/GCAdapter.cpp
+++ b/Source/Core/InputCommon/GCAdapter.cpp
@@ -303,9 +303,11 @@ static bool CheckDeviceAccess(libusb_device* device)
ERROR_LOG(SERIALINTERFACE, "libusb_detach_kernel_driver failed with error: %d", ret);
}
- ret = libusb_control_transfer(s_handle, 0x21, 11, 0x0001, 0, nullptr, 0, 10000);
- if (ret < 0)
- ERROR_LOG(SERIALINTERFACE, "libusb_control_transfer failed with error: %d", ret);
+ // This call makes Nyko-brand (and perhaps other) adapters work.
+ // However it returns LIBUSB_ERROR_PIPE with Mayflash adapters.
+ const int transfer = libusb_control_transfer(s_handle, 0x21, 11, 0x0001, 0, nullptr, 0, 1000);
+ if (transfer < 0)
+ WARN_LOG(SERIALINTERFACE, "libusb_control_transfer failed with error: %d", transfer);
// this split is needed so that we don't avoid claiming the interface when
// detaching the kernel driver is successful