]> sigrok.org Git - libsigrok.git/blobdiff - src/hardware/ftdi-la/api.c
sr_dev_close(): Set status to SR_ST_INACTIVE.
[libsigrok.git] / src / hardware / ftdi-la / api.c
index 9aac98aebb87b3cbd0d87d8943d54330f7e32ec4..5a7ac51e52801b9184126cca558534dca2322f52 100644 (file)
@@ -302,13 +302,14 @@ static int dev_open(struct sr_dev_inst *sdi)
        }
        sr_dbg("FTDI chip bitbang mode entered successfully.");
 
-       sdi->status = SR_ST_ACTIVE;
-
        return SR_OK;
+
 err_dev_open_close_ftdic:
        ftdi_usb_close(devc->ftdic);
+
 err_ftdi_free:
        ftdi_free(devc->ftdic);
+
        return SR_ERR;
 }
 
@@ -318,13 +319,12 @@ static int dev_close(struct sr_dev_inst *sdi)
 
        devc = sdi->priv;
 
-       if (devc->ftdic) {
-               ftdi_usb_close(devc->ftdic);
-               ftdi_free(devc->ftdic);
-               devc->ftdic = NULL;
-       }
+       if (!devc->ftdic)
+               return SR_ERR_BUG;
 
-       sdi->status = SR_ST_INACTIVE;
+       ftdi_usb_close(devc->ftdic);
+       ftdi_free(devc->ftdic);
+       devc->ftdic = NULL;
 
        return SR_OK;
 }