]> sigrok.org Git - libsigrok.git/blobdiff - hardware/brymen-dmm/api.c
Enforce open device before config_set()/dev_acquisition_start()
[libsigrok.git] / hardware / brymen-dmm / api.c
index 23a59dc9836710734d8790149866fcb1edf16cfb..678f67b8a92cce2f8814cdc0e6cc7b1277b49372 100644 (file)
@@ -216,10 +216,8 @@ static int config_set(int id, GVariant *data, const struct sr_dev_inst *sdi)
        struct dev_context *devc;
        int ret;
 
-       if (sdi->status != SR_ST_ACTIVE) {
-               sr_err("Device inactive, can't set config options.");
-               return SR_ERR;
-       }
+       if (sdi->status != SR_ST_ACTIVE)
+               return SR_ERR_DEV_CLOSED;
 
        if (!(devc = sdi->priv)) {
                sr_err("sdi->priv was NULL.");
@@ -235,8 +233,7 @@ static int config_set(int id, GVariant *data, const struct sr_dev_inst *sdi)
                devc->limit_msec = g_variant_get_uint64(data);
                break;
        default:
-               sr_err("Unknown hardware capability: %d.", id);
-               ret = SR_ERR_ARG;
+               ret = SR_ERR_NA;
        }
 
        return ret;
@@ -256,8 +253,7 @@ static int config_list(int key, GVariant **data, const struct sr_dev_inst *sdi)
                                hwcaps, ARRAY_SIZE(hwcaps), sizeof(int32_t));
                break;
        default:
-               sr_err("Unknown config key: %d.", key);
-               return SR_ERR_ARG;
+               return SR_ERR_NA;
        }
 
        return SR_OK;
@@ -268,6 +264,9 @@ static int hw_dev_acquisition_start(const struct sr_dev_inst *sdi,
 {
        struct dev_context *devc;
 
+       if (sdi->status != SR_ST_ACTIVE)
+               return SR_ERR_DEV_CLOSED;
+
        if (!(devc = sdi->priv)) {
                sr_err("sdi->priv was NULL.");
                return SR_ERR_BUG;