X-Git-Url: http://sigrok.org/gitweb/?a=blobdiff_plain;f=src%2Fhardware%2Fftdi-la%2Fapi.c;h=144279851e29567dc0a9edd485b3fab7069cd250;hb=7b6072d3546ebec08f4bc7861d985c667c55e02f;hp=c9ab6f6a2165262a16d9c0b57acd00928bf1f67e;hpb=3be42bc22f8b36599a448273c12a76d3e0f7a940;p=libsigrok.git diff --git a/src/hardware/ftdi-la/api.c b/src/hardware/ftdi-la/api.c index c9ab6f6a..14427985 100644 --- a/src/hardware/ftdi-la/api.c +++ b/src/hardware/ftdi-la/api.c @@ -172,6 +172,7 @@ err_free_strings: g_free(vendor); g_free(model); g_free(serial_num); + ftdi_free(devc->ftdic); err_free_data_buf: g_free(devc->data_buf); g_free(devc); @@ -211,6 +212,9 @@ static GSList *scan_all(struct sr_dev_driver *di, GSList *options) curdev = curdev->next; } + ftdi_list_free(&devlist); + ftdi_free(ftdic); + return devices; err_free_ftdic: @@ -457,12 +461,10 @@ static int config_list(uint32_t key, GVariant **data, return ret; } -static int dev_acquisition_start(const struct sr_dev_inst *sdi, void *cb_data) +static int dev_acquisition_start(const struct sr_dev_inst *sdi) { struct dev_context *devc; - (void)cb_data; - devc = sdi->priv; if (sdi->status != SR_ST_ACTIVE) @@ -473,13 +475,10 @@ static int dev_acquisition_start(const struct sr_dev_inst *sdi, void *cb_data) ftdi_set_bitmode(devc->ftdic, 0, BITMODE_BITBANG); - devc->cb_data = cb_data; - /* Properly reset internal variables before every new acquisition. */ devc->samples_sent = 0; devc->bytes_received = 0; - /* Send header packet to the session bus. */ std_session_send_df_header(sdi, LOG_PREFIX); /* Hook up a dummy handler to receive data from the device. */ @@ -489,10 +488,8 @@ static int dev_acquisition_start(const struct sr_dev_inst *sdi, void *cb_data) return SR_OK; } -static int dev_acquisition_stop(struct sr_dev_inst *sdi, void *cb_data) +static int dev_acquisition_stop(struct sr_dev_inst *sdi) { - (void)cb_data; - if (sdi->status != SR_ST_ACTIVE) return SR_ERR_DEV_CLOSED;