]> sigrok.org Git - libsigrok.git/blobdiff - hardware/victor-dmm/api.c
Don't automatically clear known instances from USB drivers on scan
[libsigrok.git] / hardware / victor-dmm / api.c
index 3a3278c75c353726810b1f0169fb11ed941a1b65..aa33e1f1420168d882232b9591fc8a87169c407d 100644 (file)
@@ -95,9 +95,6 @@ static GSList *hw_scan(GSList *options)
 
        drvc = di->priv;
 
-       /* USB scan is always authoritative. */
-       clear_instances();
-
        devices = NULL;
        libusb_get_device_list(drvc->sr_ctx->libusb_ctx, &devlist);
        for (i = 0; devlist[i]; i++) {
@@ -257,16 +254,14 @@ static int config_set(int id, GVariant *data, const struct sr_dev_inst *sdi)
        gint64 now;
        int ret;
 
+       if (sdi->status != SR_ST_ACTIVE)
+               return SR_ERR_DEV_CLOSED;
+
        if (!di->priv) {
                sr_err("Driver was not initialized.");
                return SR_ERR;
        }
 
-       if (sdi->status != SR_ST_ACTIVE) {
-               sr_err("Device inactive, can't set config options.");
-               return SR_ERR;
-       }
-
        devc = sdi->priv;
        ret = SR_OK;
        switch (id) {
@@ -401,6 +396,9 @@ static int hw_dev_acquisition_start(const struct sr_dev_inst *sdi,
        int ret, i;
        unsigned char *buf;
 
+       if (sdi->status != SR_ST_ACTIVE)
+               return SR_ERR_DEV_CLOSED;
+
        if (!di->priv) {
                sr_err("Driver was not initialized.");
                return SR_ERR;