usrp: Cleanup of usrp_basic
[debian/gnuradio] / usrp / host / lib / usrp_prims_libusb1.cc
index fdd497abc6405703c70f2e034e3d35e93b08ad8f..5dfe416e148231a3770781180b9f635fa823fd9c 100644 (file)
@@ -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)
 {