Call ftdi_usb_close_internal and not usb_close when descriptor doesn't match
authorUwe Bonnes <bon@elektron.ikp.physik.tu-darmstadt.de>
Tue, 1 Feb 2011 10:27:09 +0000 (11:27 +0100)
committerThomas Jarosch <thomas.jarosch@intra2net.com>
Tue, 1 Feb 2011 12:25:03 +0000 (13:25 +0100)
src/ftdi.c

index f2853d3..c7856a4 100644 (file)
@@ -669,12 +669,12 @@ int ftdi_usb_open_desc_index(struct ftdi_context *ftdi, int vendor, int product,
             {
                 if (libusb_get_string_descriptor_ascii(ftdi->usb_dev, desc.iProduct, (unsigned char *)string, sizeof(string)) < 0)
                 {
-                    libusb_close (ftdi->usb_dev);
+                    ftdi_usb_close_internal (ftdi);
                     ftdi_error_return_free_device_list(-8, "unable to fetch product description", devs);
                 }
                 if (strncmp(string, description, sizeof(string)) != 0)
                 {
-                    libusb_close (ftdi->usb_dev);
+                    ftdi_usb_close_internal (ftdi);
                     continue;
                 }
             }