Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 251322bc authored by Jaesung Chung's avatar Jaesung Chung Committed by Android (Google) Code Review
Browse files

Merge "Retry usb_device_claim_interface when it's connected to the kernel driver"

parents 2e5408ac 33d58162
Loading
Loading
Loading
Loading
+7 −1
Original line number Diff line number Diff line
@@ -181,7 +181,13 @@ MtpDevice* MtpDevice::open(const char* deviceName, int fd) {
                return NULL;
            }

            if (usb_device_claim_interface(device, interface->bInterfaceNumber)) {
            int ret = usb_device_claim_interface(device, interface->bInterfaceNumber);
            if (ret && errno == EBUSY) {
                // disconnect kernel driver and try again
                usb_device_connect_kernel_driver(device, interface->bInterfaceNumber, false);
                ret = usb_device_claim_interface(device, interface->bInterfaceNumber);
            }
            if (ret) {
                ALOGE("usb_device_claim_interface failed errno: %d\n", errno);
                usb_device_close(device);
                return NULL;