diff --git a/src/jtag/drivers/libusb0_common.c b/src/jtag/drivers/libusb0_common.c index 4b3bde1ec..16dd4ecba 100644 --- a/src/jtag/drivers/libusb0_common.c +++ b/src/jtag/drivers/libusb0_common.c @@ -125,13 +125,9 @@ int jtag_libusb_get_endpoints(struct jtag_libusb_device *udev, int jtag_libusb_get_pid(struct jtag_libusb_device *dev, uint16_t *pid) { - struct libusb_device_descriptor dev_desc; + if (!dev) + return ERROR_FAIL; - if (libusb_get_device_descriptor(dev, &dev_desc) == 0) { - *pid = dev_desc.idProduct; - - return 0; - } - - return -ENODEV; + *pid = dev->descriptor.idProduct; + return ERROR_OK; } diff --git a/src/jtag/drivers/libusb1_common.c b/src/jtag/drivers/libusb1_common.c index 81e8ca888..99e0d4826 100644 --- a/src/jtag/drivers/libusb1_common.c +++ b/src/jtag/drivers/libusb1_common.c @@ -174,8 +174,8 @@ int jtag_libusb_get_pid(struct jtag_libusb_device *dev, uint16_t *pid) if (libusb_get_device_descriptor(dev, &dev_desc) == 0) { *pid = dev_desc.idProduct; - return 0; + return ERROR_OK; } - return -ENODEV; + return ERROR_FAIL; }