InputCommon/GCAdapter: Unbreak Mayflash GCAdapters by allowing libusb_control_transfer call to fail.

This commit is contained in:
Jordan Woyak 2020-07-09 17:17:44 -05:00
parent 5281efe268
commit b350d3cca3
1 changed files with 5 additions and 3 deletions

View File

@ -303,9 +303,11 @@ static bool CheckDeviceAccess(libusb_device* device)
ERROR_LOG(SERIALINTERFACE, "libusb_detach_kernel_driver failed with error: %d", ret); 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); // This call makes Nyko-brand (and perhaps other) adapters work.
if (ret < 0) // However it returns LIBUSB_ERROR_PIPE with Mayflash adapters.
ERROR_LOG(SERIALINTERFACE, "libusb_control_transfer failed with error: %d", ret); 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 // this split is needed so that we don't avoid claiming the interface when
// detaching the kernel driver is successful // detaching the kernel driver is successful