X-Git-Url: http://sigrok.org/gitweb/?a=blobdiff_plain;f=hardware%2Fcommon%2Fusb.c;h=3da583218ca6ff02921831b80607a6b2af5e8ec2;hb=4f9bf9a202d331b0f2ec088d73d72808e1a934b4;hp=4c0c5b031069a0e10af1de091ffba7dc9488a4ad;hpb=7ae6a75826be6d7ddd885947630ecb26ba9fa1a5;p=libsigrok.git diff --git a/hardware/common/usb.c b/hardware/common/usb.c index 4c0c5b03..3da58321 100644 --- a/hardware/common/usb.c +++ b/hardware/common/usb.c @@ -63,18 +63,12 @@ SR_PRIV GSList *sr_usb_find(libusb_context *usb_ctx, const char *conn) vid = pid = bus = addr = 0; reg = g_regex_new(CONN_USB_VIDPID, 0, 0, NULL); if (g_regex_match(reg, conn, 0, &match)) { - /* Extract VID. */ - if ((mstr = g_match_info_fetch(match, 1))) { + if ((mstr = g_match_info_fetch(match, 1))) vid = strtoul(mstr, NULL, 16); - sr_spew("Extracted VID 0x%04x.", vid); - } g_free(mstr); - /* Extract PID. */ - if ((mstr = g_match_info_fetch(match, 2))) { + if ((mstr = g_match_info_fetch(match, 2))) pid = strtoul(mstr, NULL, 16); - sr_spew("Extracted PID 0x%04x.", pid); - } g_free(mstr); sr_dbg("Trying to find USB device with VID:PID = %04x:%04x.", vid, pid); @@ -83,18 +77,12 @@ SR_PRIV GSList *sr_usb_find(libusb_context *usb_ctx, const char *conn) g_regex_unref(reg); reg = g_regex_new(CONN_USB_BUSADDR, 0, 0, NULL); if (g_regex_match(reg, conn, 0, &match)) { - /* Extract bus. */ - if ((mstr = g_match_info_fetch(match, 1))) { + if ((mstr = g_match_info_fetch(match, 1))) bus = strtoul(mstr, NULL, 16); - sr_spew("Extracted bus %d.", bus); - } g_free(mstr); - /* Extract address. */ - if ((mstr = g_match_info_fetch(match, 2))) { + if ((mstr = g_match_info_fetch(match, 2))) addr = strtoul(mstr, NULL, 16); - sr_spew("Extracted address %d.", addr); - } g_free(mstr); sr_dbg("Trying to find USB device with bus.address = " "%d.%d.", bus, addr); @@ -104,7 +92,7 @@ SR_PRIV GSList *sr_usb_find(libusb_context *usb_ctx, const char *conn) g_regex_unref(reg); if (vid + pid + bus + addr == 0) { - sr_err("Neither VID:PID nor bus.address was found."); + sr_err("Neither VID:PID nor bus.address was specified."); return NULL; } @@ -123,7 +111,8 @@ SR_PRIV GSList *sr_usb_find(libusb_context *usb_ctx, const char *conn) libusb_get_device_list(usb_ctx, &devlist); for (i = 0; devlist[i]; i++) { if ((ret = libusb_get_device_descriptor(devlist[i], &des))) { - sr_err("Failed to get device descriptor: %d.", ret); + sr_err("Failed to get device descriptor: %s.", + libusb_error_name(ret)); continue; } @@ -155,7 +144,7 @@ SR_PRIV int sr_usb_open(libusb_context *usb_ctx, struct sr_usb_dev_inst *usb) struct libusb_device_descriptor des; int ret, r, cnt, i, a, b; - sr_dbg("Trying to open USB device."); + sr_dbg("Trying to open USB device %d.%d.", usb->bus, usb->address); if ((cnt = libusb_get_device_list(usb_ctx, &devlist)) < 0) { sr_err("Failed to retrieve device list: %s.", @@ -173,11 +162,8 @@ SR_PRIV int sr_usb_open(libusb_context *usb_ctx, struct sr_usb_dev_inst *usb) b = libusb_get_bus_number(devlist[i]); a = libusb_get_device_address(devlist[i]); - - if (b != usb->bus || a != usb->address) { - sr_spew("bus.address = %d.%d does not match.", b, a); + if (b != usb->bus || a != usb->address) continue; - } if ((r = libusb_open(devlist[i], &usb->devhdl)) < 0) { sr_err("Failed to open device: %s.",