+static void finish_acquisition(struct sr_dev_inst *sdi)
+{
+ struct drv_context *drvc = sdi->driver->context;
+
+ std_session_send_df_end(sdi);
+ usb_source_remove(sdi->session, drvc->sr_ctx);
+}
+
+static void free_transfer(struct libusb_transfer *transfer)
+{
+ struct sr_dev_inst *sdi = transfer->user_data;
+ struct dev_context *devc = sdi->priv;
+
+ transfer->buffer = NULL;
+ libusb_free_transfer(transfer);
+ devc->usb_transfer = NULL;
+
+ finish_acquisition(sdi);
+}
+