X-Git-Url: https://sigrok.org/gitweb/?a=blobdiff_plain;f=src%2Fdevice.c;fp=src%2Fdevice.c;h=e5cbf4ef2868473e1c689e0752361d5f9e35c998;hb=6402c379161ec138e451901c411817a55846a75b;hp=6eff16d16573e45c78f0e836a168ff72ff15d31f;hpb=093e1cba6b7bf14cfb77fa36f59b0c16e6fca7cc;p=libsigrok.git diff --git a/src/device.c b/src/device.c index 6eff16d1..e5cbf4ef 100644 --- a/src/device.c +++ b/src/device.c @@ -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;