X-Git-Url: http://sigrok.org/gitweb/?a=blobdiff_plain;f=hardware%2Ffx2lafw%2Ffx2lafw.c;h=fb8bae8fb263cccf494f2323b465f20faa8aa692;hb=5b389efcfeff17b0f7466597706c898ad65eb6a9;hp=d3fd85f20782ec3f355be0d78c3d2e8806a53331;hpb=d4abb463a749cd3d614e98c7fe7f5d28ad69475d;p=libsigrok.git diff --git a/hardware/fx2lafw/fx2lafw.c b/hardware/fx2lafw/fx2lafw.c index d3fd85f2..fb8bae8f 100644 --- a/hardware/fx2lafw/fx2lafw.c +++ b/hardware/fx2lafw/fx2lafw.c @@ -216,8 +216,8 @@ static int fx2lafw_dev_open(struct sr_dev_inst *sdi) for (i = 0; i < device_count; i++) { if ((ret = libusb_get_device_descriptor(devlist[i], &des))) { - sr_err("fx2lafw: Failed to get device descriptor: %d.", - ret); + sr_err("fx2lafw: Failed to get device descriptor: %s.", + libusb_error_name(ret)); continue; } @@ -250,7 +250,8 @@ static int fx2lafw_dev_open(struct sr_dev_inst *sdi) */ devc->usb->address = libusb_get_device_address(devlist[i]); } else { - sr_err("fx2lafw: Failed to open device: %d.", ret); + sr_err("fx2lafw: Failed to open device: %s.", + libusb_error_name(ret)); break; } @@ -442,7 +443,8 @@ static GSList *hw_scan(GSList *options) if ((ret = libusb_get_device_descriptor( devlist[i], &des)) != 0) { - sr_warn("fx2lafw: Failed to get device descriptor: %d.", ret); + sr_warn("fx2lafw: Failed to get device descriptor: %s.", + libusb_error_name(ret)); continue; } @@ -540,7 +542,6 @@ static int hw_dev_open(struct sr_dev_inst *sdi) timediff_ms = timediff_us / 1000; sr_spew("fx2lafw: waited %" PRIi64 " ms", timediff_ms); } - sr_info("fx2lafw: Device came back after %d ms.", timediff_ms); } else { ret = fx2lafw_dev_open(sdi); } @@ -548,7 +549,11 @@ static int hw_dev_open(struct sr_dev_inst *sdi) if (ret != SR_OK) { sr_err("fx2lafw: Unable to open device."); return SR_ERR; + } else { + sr_info("fx2lafw: Device came back after %d ms.", + timediff_ms); } + devc = sdi->priv; ret = libusb_claim_interface(devc->usb->devhdl, USB_INTERFACE); @@ -564,7 +569,8 @@ static int hw_dev_open(struct sr_dev_inst *sdi) break; default: - sr_err("fx2lafw: Unable to claim interface: %d.", ret); + sr_err("fx2lafw: Unable to claim interface: %s.", + libusb_error_name(ret)); break; } @@ -750,12 +756,15 @@ static void free_transfer(struct libusb_transfer *transfer) static void resubmit_transfer(struct libusb_transfer *transfer) { - if (libusb_submit_transfer(transfer) != 0) { - free_transfer(transfer); - /* TODO: Stop session? */ - /* TODO: Better error message. */ - sr_err("fx2lafw: %s: libusb_submit_transfer error.", __func__); - } + int ret = libusb_submit_transfer(transfer); + + if (LIBUSB_SUCCESS == ret) + return; + + free_transfer(transfer); + /* TODO: Stop session? */ + + sr_err("fx2lafw: %s: %s", __func__, libusb_error_name(ret)); } static void receive_transfer(struct libusb_transfer *transfer) @@ -984,7 +993,9 @@ static int hw_dev_acquisition_start(const struct sr_dev_inst *sdi, libusb_fill_bulk_transfer(transfer, devc->usb->devhdl, 2 | LIBUSB_ENDPOINT_IN, buf, size, receive_transfer, devc, timeout); - if (libusb_submit_transfer(transfer) != 0) { + if ((ret = libusb_submit_transfer(transfer)) != 0) { + sr_err("fx2lafw: %s: libusb_submit_transfer: %s.", + __func__, libusb_error_name(ret)); libusb_free_transfer(transfer); g_free(buf); abort_acquisition(devc);