Darwin: Don't retry or unsuspend Apple devices during enum
authorNathan Hjelm <hjelmn@me.com>
Sat, 29 Sep 2012 03:18:36 +0000 (21:18 -0600)
committerPete Batard <pete@akeo.ie>
Wed, 31 Oct 2012 22:59:00 +0000 (22:59 +0000)
libusb/os/darwin_usb.c
libusb/version_nano.h

index bfe1b68..65b889f 100644 (file)
@@ -633,6 +633,11 @@ static int darwin_cache_device_descriptor (struct libusb_context *ctx, struct li
       /* received an overrun error but we still received a device descriptor */
       ret = kIOReturnSuccess;
 
+    if (kAppleVendorID == idVendor) {
+      /* NTH: don't bother retrying or unsuspending Apple devices */
+      break;
+    }
+
     if (kIOReturnSuccess == ret && (0 == priv->dev_descriptor.bNumConfigurations ||
                                    0 == priv->dev_descriptor.bcdUSB)) {
       /* work around for incorrectly configured devices */
index eec903c..6f53f83 100644 (file)
@@ -1 +1 @@
-#define LIBUSB_NANO 10581
+#define LIBUSB_NANO 10582