From 66d058150d9844a8556c37de6b5603c9e18a0330 Mon Sep 17 00:00:00 2001 From: Nathan Hjelm Date: Thu, 10 Jun 2021 21:02:05 -0600 Subject: 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 --- libusb/hotplug.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) (limited to 'libusb/hotplug.c') 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 @@ void usbi_hotplug_exit(struct libusb_context *ctx) /* 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); -- cgit v1.2.1