devc = sdi->priv;
- /* Make sure it's an ASIX SIGMA. */
if ((ret = ftdi_usb_open_desc(&devc->ftdic,
- USB_VENDOR, USB_PRODUCT, USB_DESCRIPTION, NULL)) < 0) {
-
- sr_err("ftdi_usb_open failed: %s",
- ftdi_get_error_string(&devc->ftdic));
-
- return 0;
+ USB_VENDOR, USB_PRODUCT, USB_DESCRIPTION, NULL)) < 0) {
+ sr_err("Failed to open device (%d): %s.",
+ ret, ftdi_get_error_string(&devc->ftdic));
+ return SR_ERR;
}
- sdi->status = SR_ST_ACTIVE;
-
return SR_OK;
}
devc = sdi->priv;
- /* TODO */
- if (sdi->status == SR_ST_ACTIVE)
- ftdi_usb_close(&devc->ftdic);
-
- sdi->status = SR_ST_INACTIVE;
-
- return SR_OK;
+ return (ftdi_usb_close(&devc->ftdic) == 0) ? SR_OK : SR_ERR;
}
static int config_get(uint32_t key, GVariant **data, const struct sr_dev_inst *sdi,