X-Git-Url: https://sigrok.org/gitweb/?a=blobdiff_plain;f=src%2Fhardware%2Fsaleae-logic-pro%2Fapi.c;h=7b8582d2bc614588587ffd1d805d56c80b4a9532;hb=755793e991c4d429f99254f23008bfddb89d8e00;hp=1131a43d05b87540ef713b12ad95c4467f02d3f4;hpb=53012da658ae94b245240c8a3e115723eede4c7d;p=libsigrok.git diff --git a/src/hardware/saleae-logic-pro/api.c b/src/hardware/saleae-logic-pro/api.c index 1131a43d..7b8582d2 100644 --- a/src/hardware/saleae-logic-pro/api.c +++ b/src/hardware/saleae-logic-pro/api.c @@ -200,10 +200,12 @@ static GSList *scan(struct sr_dev_driver *di, GSList *options) continue; if (!scan_firmware(devlist[i])) { + const char *fwname; sr_info("Found a Logic Pro 16 device (no firmware loaded)."); + fwname = "saleae-logicpro16-fx3.fw"; if (upload_firmware(drvc->sr_ctx, devlist[i], - "saleae-logicpro16-fx3.fw") != SR_OK) { - sr_err("Firmware upload failed."); + fwname) != SR_OK) { + sr_err("Firmware upload failed, name %s.", fwname); continue; }; fw_loaded = TRUE; @@ -240,7 +242,8 @@ static GSList *scan(struct sr_dev_driver *di, GSList *options) if (des.idVendor != 0x21a9 || des.idProduct != 0x1006) continue; - usb_get_port_path(devlist[i], connection_id, sizeof(connection_id)); + if (usb_get_port_path(devlist[i], connection_id, sizeof(connection_id)) < 0) + continue; sdi = g_malloc0(sizeof(struct sr_dev_inst)); sdi->status = SR_ST_INITIALIZING; @@ -300,7 +303,7 @@ static int dev_close(struct sr_dev_inst *sdi) } static int config_get(uint32_t key, GVariant **data, - const struct sr_dev_inst *sdi, const struct sr_channel_group *cg) + const struct sr_dev_inst *sdi, const struct sr_channel_group *cg) { struct sr_usb_dev_inst *usb; struct dev_context *devc; @@ -328,7 +331,7 @@ static int config_get(uint32_t key, GVariant **data, } static int config_set(uint32_t key, GVariant *data, - const struct sr_dev_inst *sdi, const struct sr_channel_group *cg) + const struct sr_dev_inst *sdi, const struct sr_channel_group *cg) { struct dev_context *devc; @@ -348,7 +351,7 @@ static int config_set(uint32_t key, GVariant *data, } static int config_list(uint32_t key, GVariant **data, - const struct sr_dev_inst *sdi, const struct sr_channel_group *cg) + const struct sr_dev_inst *sdi, const struct sr_channel_group *cg) { switch (key) { case SR_CONF_SCAN_OPTIONS: