]> sigrok.org Git - libsigrok.git/blobdiff - src/device.c
sr_dev_open(): Factor out SR_ST_ACTIVE check.
[libsigrok.git] / src / device.c
index 6eff16d16573e45c78f0e836a168ff72ff15d31f..e5cbf4ef2868473e1c689e0752361d5f9e35c998 100644 (file)
@@ -560,6 +560,14 @@ SR_API int sr_dev_open(struct sr_dev_inst *sdi)
        if (!sdi || !sdi->driver || !sdi->driver->dev_open)
                return SR_ERR;
 
+       if (sdi->status == SR_ST_ACTIVE) {
+               sr_err("%s: Device instance already active, can't re-open.",
+                       sdi->driver->name);
+               return SR_ERR;
+       }
+
+       sr_dbg("%s: Opening device.", sdi->driver->name)
+
        ret = sdi->driver->dev_open(sdi);
 
        return ret;