devc = priv;
g_slist_free(devc->enabled_channels);
+ g_free(devc);
}
static int dev_clear(const struct sr_dev_driver *di)
devc = sdi->priv;
if (devc->dev_state == FLUSH) {
+ g_free(transfer->buffer);
+ libusb_free_transfer(transfer);
devc->dev_state = CAPTURE;
devc->aq_started = g_get_monotonic_time();
read_channel(sdi, data_amount(sdi));
static int handle_event(int fd, int revents, void *cb_data)
{
const struct sr_dev_inst *sdi;
- struct sr_datafeed_packet packet;
struct timeval tv;
struct sr_dev_driver *di;
struct dev_context *devc;
*/
usb_source_remove(sdi->session, drvc->sr_ctx);
- packet.type = SR_DF_END;
- packet.payload = NULL;
- sr_session_send(sdi, &packet);
+ std_session_send_df_end(sdi, LOG_PREFIX);
devc->dev_state = IDLE;