Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 10 Oct 2011 16:13:33 +0000 (UTC)
From:      Hans Petter Selasky <hselasky@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org
Subject:   svn commit: r226220 - head/lib/libusb
Message-ID:  <201110101613.p9AGDXEC069798@svn.freebsd.org>

next in thread | raw e-mail | index | archive | help
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
 .



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201110101613.p9AGDXEC069798>