X-Git-Url: https://sigrok.org/gitweb/?a=blobdiff_plain;f=src%2Fhardware%2Fchronovu-la%2Fapi.c;h=0c94b398586629a57659310720cdfa5acc0b4e7e;hb=f1ba6b4b2c9a8ecf90bb31efb218752aa7e49d1a;hp=9f793969464261fd113e1651cec8ea572313809f;hpb=093e1cba6b7bf14cfb77fa36f59b0c16e6fca7cc;p=libsigrok.git diff --git a/src/hardware/chronovu-la/api.c b/src/hardware/chronovu-la/api.c index 9f793969..0c94b398 100644 --- a/src/hardware/chronovu-la/api.c +++ b/src/hardware/chronovu-la/api.c @@ -272,15 +272,12 @@ static int dev_open(struct sr_dev_inst *sdi) /* Wait 100ms. */ g_usleep(100 * 1000); - sdi->status = SR_ST_ACTIVE; - - if (ret == SR_OK) - return SR_OK; + return SR_OK; err_ftdi_free: ftdi_free(devc->ftdic); /* Close device (if open), free FTDI context. */ devc->ftdic = NULL; - return ret; + return SR_ERR; } static int dev_close(struct sr_dev_inst *sdi) @@ -290,13 +287,14 @@ static int dev_close(struct sr_dev_inst *sdi) devc = sdi->priv; - if (devc->ftdic && (ret = ftdi_usb_close(devc->ftdic)) < 0) + if (!devc->ftdic) + return SR_ERR_BUG; + + if ((ret = ftdi_usb_close(devc->ftdic)) < 0) sr_err("Failed to close FTDI device (%d): %s.", ret, ftdi_get_error_string(devc->ftdic)); - sdi->status = SR_ST_INACTIVE; - - return SR_OK; + return (ret == 0) ? SR_OK : SR_ERR; } static int config_get(uint32_t key, GVariant **data, const struct sr_dev_inst *sdi,