From 5c1c67d4d8685ec5e1b6d86c1c515efe54d036c0 Mon Sep 17 00:00:00 2001 From: Greg V Date: Tue, 26 Dec 2017 20:22:46 +0300 Subject: [PATCH] passthrough: do not detach kernel driver on FreeBSD libusb_detach_kernel_driver() always fails as a regular non-root user: https://lists.freebsd.org/pipermail/freebsd-usb/2016-March/014161.html --- Source/Core/Core/IOS/USB/Bluetooth/BTReal.cpp | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/Source/Core/Core/IOS/USB/Bluetooth/BTReal.cpp b/Source/Core/Core/IOS/USB/Bluetooth/BTReal.cpp index 0e861de0ee..1d0db91200 100644 --- a/Source/Core/Core/IOS/USB/Bluetooth/BTReal.cpp +++ b/Source/Core/Core/IOS/USB/Bluetooth/BTReal.cpp @@ -568,12 +568,16 @@ bool BluetoothReal::OpenDevice(libusb_device* device) return false; } +// Detaching always fails as a regular user on FreeBSD +// https://lists.freebsd.org/pipermail/freebsd-usb/2016-March/014161.html +#ifndef __FreeBSD__ const int result = libusb_detach_kernel_driver(m_handle, INTERFACE); if (result < 0 && result != LIBUSB_ERROR_NOT_FOUND && result != LIBUSB_ERROR_NOT_SUPPORTED) { PanicAlertT("Failed to detach kernel driver for BT passthrough: %s", libusb_error_name(result)); return false; } +#endif if (libusb_claim_interface(m_handle, INTERFACE) < 0) { PanicAlertT("Failed to claim interface for BT passthrough");