X-Git-Url: https://sigrok.org/gitweb/?p=libsigrok.git;a=blobdiff_plain;f=src%2Fhardware%2Fftdi-la%2Fapi.c;h=5a7ac51e52801b9184126cca558534dca2322f52;hp=0927d3a274387d14d1fe1dd34a1377f72a73ee23;hb=f1ba6b4b2c9a8ecf90bb31efb218752aa7e49d1a;hpb=d9251a2c9f1ca4380c27240ccca90c9f9ed46d3f diff --git a/src/hardware/ftdi-la/api.c b/src/hardware/ftdi-la/api.c index 0927d3a2..5a7ac51e 100644 --- a/src/hardware/ftdi-la/api.c +++ b/src/hardware/ftdi-la/api.c @@ -302,13 +302,14 @@ static int dev_open(struct sr_dev_inst *sdi) } sr_dbg("FTDI chip bitbang mode entered successfully."); - sdi->status = SR_ST_ACTIVE; - return SR_OK; + err_dev_open_close_ftdic: ftdi_usb_close(devc->ftdic); + err_ftdi_free: ftdi_free(devc->ftdic); + return SR_ERR; } @@ -318,13 +319,12 @@ static int dev_close(struct sr_dev_inst *sdi) devc = sdi->priv; - if (devc->ftdic) { - ftdi_usb_close(devc->ftdic); - ftdi_free(devc->ftdic); - devc->ftdic = NULL; - } + if (!devc->ftdic) + return SR_ERR_BUG; - sdi->status = SR_ST_INACTIVE; + ftdi_usb_close(devc->ftdic); + ftdi_free(devc->ftdic); + devc->ftdic = NULL; return SR_OK; } @@ -369,9 +369,6 @@ static int config_set(uint32_t key, GVariant *data, (void)cg; - if (sdi->status != SR_ST_ACTIVE) - return SR_ERR_DEV_CLOSED; - devc = sdi->priv; ret = SR_OK; @@ -439,9 +436,6 @@ static int dev_acquisition_start(const struct sr_dev_inst *sdi) devc = sdi->priv; - if (sdi->status != SR_ST_ACTIVE) - return SR_ERR_DEV_CLOSED; - if (!devc->ftdic) return SR_ERR_BUG; @@ -462,10 +456,6 @@ static int dev_acquisition_start(const struct sr_dev_inst *sdi) static int dev_acquisition_stop(struct sr_dev_inst *sdi) { - if (sdi->status != SR_ST_ACTIVE) - return SR_ERR_DEV_CLOSED; - - sr_dbg("Stopping acquisition."); sr_session_source_remove(sdi->session, -1); std_session_send_df_end(sdi);