Author: hselasky
Date: Mon Oct 10 16:13:33 2011
New Revision: 226220
URL: http://svn.freebsd.org/changeset/base/226220

Log:
  Fix how libusb20_dev_kernel_driver_active() and
  libusb_dev_kernel_driver_active() works. In case of
  libusb20 the manpage was wrong and in case of
  libusb10 the implementation was wrong.
  
  Submitted by: Kai Wang
  MFC after:    3 days

Modified:
  head/lib/libusb/libusb.3
  head/lib/libusb/libusb10.c
  head/lib/libusb/libusb20.3

Modified: head/lib/libusb/libusb.3
==============================================================================
--- head/lib/libusb/libusb.3    Mon Oct 10 15:54:44 2011        (r226219)
+++ head/lib/libusb/libusb.3    Mon Oct 10 16:13:33 2011        (r226220)
@@ -223,8 +223,8 @@ code on failure.
 .Ft int
 .Fn libusb_kernel_driver_active "libusb_device_handle *devh" "int interface"
 Determine if a driver is active on a interface.
-Returns 0 if no kernel driver
-is active, 1 if a kernel driver is active, LIBUSB_ERROR_NO_DEVICE
+Returns 0 if no kernel driver is active
+and 1 if a kernel driver is active, LIBUSB_ERROR_NO_DEVICE
 if the device has been disconnected and a LIBUSB_ERROR code on failure.
 .Pp
 .Ft int

Modified: head/lib/libusb/libusb10.c
==============================================================================
--- head/lib/libusb/libusb10.c  Mon Oct 10 15:54:44 2011        (r226219)
+++ head/lib/libusb/libusb10.c  Mon Oct 10 16:13:33 2011        (r226220)
@@ -216,7 +216,6 @@ libusb_get_device_list(libusb_context *c
                        libusb20_be_free(usb_backend);
                        return (LIBUSB_ERROR_NO_MEM);
                }
-
                /* get device into libUSB v1.0 list */
                libusb20_be_dequeue_device(usb_backend, pdev);
 
@@ -718,8 +717,10 @@ libusb_kernel_driver_active(struct libus
        if (pdev == NULL)
                return (LIBUSB_ERROR_INVALID_PARAM);
 
-       return (libusb20_dev_kernel_driver_active(
-           pdev, interface));
+       if (libusb20_dev_kernel_driver_active(pdev, interface))
+               return (0);             /* no kernel driver is active */
+       else
+               return (1);             /* kernel driver is active */
 }
 
 int

Modified: head/lib/libusb/libusb20.3
==============================================================================
--- head/lib/libusb/libusb20.3  Mon Oct 10 15:54:44 2011        (r226219)
+++ head/lib/libusb/libusb20.3  Mon Oct 10 16:13:33 2011        (r226220)
@@ -614,10 +614,9 @@ The file descriptor can be used for poll
 .Pp
 .
 .Fn libusb20_dev_kernel_driver_active
-returns a non-zero value if a kernel driver is active on
-the given USB interface.
+returns zero if a kernel driver is active on the given USB interface.
 .
-Else zero is returned.
+Else a LIBUSB20_ERROR value is returned.
 .
 .Pp
 .
_______________________________________________
svn-src-all@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"

Reply via email to