]> sigrok.org Git - libsigrok.git/blobdiff - hardware/common/ezusb.c
GPL headers: Use correct project name.
[libsigrok.git] / hardware / common / ezusb.c
index 77817a71bc36c1bc0f9307087ad5232ff11054ed..1359a3daf96d9a6472f86838ec7dc70f93acbc12 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * This file is part of the sigrok project.
+ * This file is part of the libsigrok project.
  *
  * Copyright (C) 2010-2012 Bert Vermeulen <bert@biot.com>
  *
@@ -108,9 +108,12 @@ SR_PRIV int ezusb_upload_firmware(libusb_device *dev, int configuration,
                return SR_ERR;
        }
 
-/* Neither Windows/MinGW nor Darwin/Mac support these libusb-1.0 calls. */
-#if !defined(_WIN32) && !defined(__APPLE__)
-       if (libusb_kernel_driver_active(hdl, 0)) {
+/*
+ * The libusbx darwin backend is broken: it can report a kernel driver being
+ * active, but detaching it always returns an error.
+ */
+#if !defined(__APPLE__)
+       if (libusb_kernel_driver_active(hdl, 0) == 1) {
                if ((ret = libusb_detach_kernel_driver(hdl, 0)) < 0) {
                        sr_err("failed to detach kernel driver: %s",
                                        libusb_error_name(ret));