X-Git-Url: https://sigrok.org/gitweb/?a=blobdiff_plain;f=src%2Fhardware%2Fchronovu-la%2Fapi.c;h=d65dabb6661b731efa703c4047ea8f7452eddb41;hb=65c8d48f1418700dae72c8b6e39eb0d77b1ea17d;hp=4edeedfc93cc6592a77b2c68a91ea48bd204eb64;hpb=5827f61b641cfd326a9cf2ea534eb4f9481a8187;p=libsigrok.git diff --git a/src/hardware/chronovu-la/api.c b/src/hardware/chronovu-la/api.c index 4edeedfc..d65dabb6 100644 --- a/src/hardware/chronovu-la/api.c +++ b/src/hardware/chronovu-la/api.c @@ -120,7 +120,7 @@ static int add_device(int idx, int model, GSList **devices) devc->cur_samplerate = devc->prof->max_samplerate; /* Register the device with libsigrok. */ - sdi = sr_dev_inst_new(0, SR_ST_INITIALIZING, + sdi = sr_dev_inst_new(SR_ST_INITIALIZING, "ChronoVu", devc->prof->modelname, NULL); if (!sdi) { sr_err("Failed to create device instance."); @@ -142,7 +142,8 @@ static int add_device(int idx, int model, GSList **devices) *devices = g_slist_append(*devices, sdi); drvc->instances = g_slist_append(drvc->instances, sdi); - return SR_OK; + if (ret == SR_OK) + return SR_OK; err_free_dev_inst: sr_dev_inst_free(sdi); @@ -210,8 +211,6 @@ static int dev_open(struct sr_dev_inst *sdi) struct dev_context *devc; int ret; - ret = SR_ERR; - if (!(devc = sdi->priv)) return SR_ERR_BUG; @@ -254,7 +253,8 @@ static int dev_open(struct sr_dev_inst *sdi) sdi->status = SR_ST_ACTIVE; - return SR_OK; + if (ret == SR_OK) + return SR_OK; err_ftdi_free: ftdi_free(devc->ftdic); /* Close device (if open), free FTDI context. */ @@ -379,7 +379,7 @@ static int config_list(uint32_t key, GVariant **data, const struct sr_dev_inst * case SR_CONF_TRIGGER_MATCH: if (!sdi || !sdi->priv || !(devc = sdi->priv) || !devc->prof) return SR_ERR_BUG; - *data = g_variant_new_fixed_array(G_VARIANT_TYPE_UINT32, + *data = g_variant_new_fixed_array(G_VARIANT_TYPE_INT32, trigger_matches, devc->prof->num_trigger_matches, sizeof(int32_t)); break;