switch source package format to 3.0 quilt
[debian/gnuradio] / usrp / host / lib / usrp_prims_libusb1.cc
index 49d1a7282e80495fd5d222cf2bcc630d112358a1..5dfe416e148231a3770781180b9f635fa823fd9c 100644 (file)
@@ -59,7 +59,7 @@ _get_usb_error_str (int usb_err)
   case LIBUSB_ERROR_INVALID_PARAM:
     return "Invalid parameter";
   case LIBUSB_ERROR_ACCESS:
-    return "Access denied (insufficient permissions";
+    return "Access denied (insufficient permissions)";
   case LIBUSB_ERROR_NO_DEVICE:
     return "No such device (it may have been disconnected)";
   case LIBUSB_ERROR_NOT_FOUND:
@@ -135,6 +135,7 @@ _usb_control_transfer (struct libusb_device_handle *udh, int request_type,
   return ret;
 }
 
+
 // ----------------------------------------------------------------
 
 
@@ -154,13 +155,21 @@ usrp_one_time_init (libusb_context **ctx)
     libusb_set_debug(*ctx, 3);
 }
 
+void
+usrp_deinit (struct libusb_context *ctx)
+{
+  // Each object _should_ be running in its own context. If running in default
+  // context then leave the instance open as it may be shared.
+  if (ctx != NULL)
+    libusb_exit (ctx);
+}
+
 void
 usrp_rescan ()
 {
   // nop
 }
 
-
 struct libusb_device *
 usrp_find_device (int nth, bool fx2_ok_p, libusb_context *ctx)
 {