X-Git-Url: https://sigrok.org/gitweb/?p=libsigrok.git;a=blobdiff_plain;f=src%2Fdevice.c;h=6eff16d16573e45c78f0e836a168ff72ff15d31f;hp=aa499c8d74252ad07a37cf54afbec3b1233196ce;hb=093e1cba6b7bf14cfb77fa36f59b0c16e6fca7cc;hpb=89ab9fc39c015d541b2fdd4d9d2fb5e00f63be8a diff --git a/src/device.c b/src/device.c index aa499c8d..6eff16d1 100644 --- a/src/device.c +++ b/src/device.c @@ -581,6 +581,14 @@ SR_API int sr_dev_close(struct sr_dev_inst *sdi) if (!sdi || !sdi->driver || !sdi->driver->dev_close) return SR_ERR; + if (sdi->status != SR_ST_ACTIVE) { + sr_err("%s: Device instance not active, can't close.", + sdi->driver->name); + return SR_ERR_DEV_CLOSED; + } + + sr_dbg("%s: Closing device.", sdi->driver->name) + ret = sdi->driver->dev_close(sdi); return ret;