core: only increment devices_released when a device is destroyed
Fix a typo in the last commit to ensure the loop does exit when there is
a dangling reference.
Signed-off-by: Nathan Hjelm <hjelmn@google.com>
diff --git a/libusb/hotplug.c b/libusb/hotplug.c
index deb138d..b6f896a 100644
--- a/libusb/hotplug.c
+++ b/libusb/hotplug.c
@@ -198,10 +198,11 @@
/* remove the device from the usb_devs list only if there are no
* references held, otherwise leave it on the list so that a
* warning message will be shown */
- if (usbi_atomic_load(&dev->refcnt) == 1)
+ if (usbi_atomic_load(&dev->refcnt) == 1) {
+ ++devices_released;
list_del(&dev->list);
+ }
libusb_unref_device(dev);
- ++devices_released;
}
} while (devices_released > 0);
diff --git a/libusb/version_nano.h b/libusb/version_nano.h
index 21591b9..3924959 100644
--- a/libusb/version_nano.h
+++ b/libusb/version_nano.h
@@ -1 +1 @@
-#define LIBUSB_NANO 11624
+#define LIBUSB_NANO 11625