diff options
Diffstat (limited to 'fastboot/usb_osx.cpp')
-rw-r--r-- | fastboot/usb_osx.cpp | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/fastboot/usb_osx.cpp b/fastboot/usb_osx.cpp index 7ae2aa5f5..45ae833e5 100644 --- a/fastboot/usb_osx.cpp +++ b/fastboot/usb_osx.cpp @@ -293,6 +293,13 @@ static int try_device(io_service_t device, usb_handle *handle) { // So, we have a device, finally. Grab its vitals. + + kr = (*dev)->USBDeviceOpen(dev); + if (kr != 0) { + WARN("USBDeviceOpen"); + goto out; + } + kr = (*dev)->GetDeviceVendor(dev, &handle->info.dev_vendor); if (kr != 0) { ERR("GetDeviceVendor"); @@ -365,12 +372,16 @@ static int try_device(io_service_t device, usb_handle *handle) { goto error; } + out: + + (*dev)->USBDeviceClose(dev); (*dev)->Release(dev); return 0; error: if (dev != NULL) { + (*dev)->USBDeviceClose(dev); (*dev)->Release(dev); } |