I doesn't fix any problems but I think it is nicer code. :-)
I don't think we want to call usb_detach_kernel_driver_np unless we claimed the device.

$ diff -uw libusb.c.bak libusb.c.new
--- libusb.c.bak        2010-05-11 09:35:39.000000000 -0400
+++ libusb.c.new        2010-05-11 09:32:44.000000000 -0400
@@ -206,18 +206,21 @@

upsdebugx(2, "failed to claim USB device: %s", usb_strerror());

+                               if (retries-- > 1) {
+                                       continue;
+                               }
+
+ fatalx(EXIT_FAILURE, "Can't claim USB device [%04x:%04x]: %s", curDevice->VendorID, curDevice->ProductID, usb_strerror());
+                       }
+
+                       if (retries > 1) {
if (usb_detach_kernel_driver_np(udev, 0) < 0) { upsdebugx(2, "failed to detach kernel driver from USB device: %s", usb_strerror());
                                } else {
upsdebugx(2, "detached kernel driver from USB device...");
                                }
-
-                               if (retries-- > 0) {
-                                       continue;
                                }

- fatalx(EXIT_FAILURE, "Can't claim USB device [%04x:%04x]: %s", curDevice->VendorID, curDevice->ProductID, usb_strerror());
-                       }
 #else
                        if (usb_claim_interface(udev, 0) < 0) {
fatalx(EXIT_FAILURE, "Can't claim USB device [%04x:%04x]: %s", curDevice->VendorID, curDevice->ProductID, usb_strerror());

_______________________________________________
Nut-upsdev mailing list
[email protected]
http://lists.alioth.debian.org/mailman/listinfo/nut-upsdev

Reply via email to