X-Git-Url: https://review.openocd.org/gitweb?p=openocd.git;a=blobdiff_plain;f=src%2Fjtag%2Fdrivers%2Fusb_common.c;h=1b7602d198418190038cddb826d983bcdab78faa;hp=463f1af942930622ce6d45364a316420e70e2038;hb=d46b28983dc27369e90f4dc8a0e54b5057583b38;hpb=865efd828a267992db0f2a92a731c5ce23a34236 diff --git a/src/jtag/drivers/usb_common.c b/src/jtag/drivers/usb_common.c index 463f1af942..1b7602d198 100644 --- a/src/jtag/drivers/usb_common.c +++ b/src/jtag/drivers/usb_common.c @@ -12,27 +12,23 @@ * GNU General Public License for more details. * * * * You should have received a copy of the GNU General Public License * - * along with this program; if not, write to the * - * Free Software Foundation, Inc., * - * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * + * along with this program. If not, see . * ***************************************************************************/ #ifdef HAVE_CONFIG_H #include "config.h" #endif #include "usb_common.h" +#include "log.h" static bool jtag_usb_match(struct usb_device *dev, const uint16_t vids[], const uint16_t pids[]) { - for (unsigned i = 0; vids[i] && pids[i]; i++) - { + for (unsigned i = 0; vids[i] && pids[i]; i++) { if (dev->descriptor.idVendor == vids[i] && dev->descriptor.idProduct == pids[i]) - { return true; - } } return false; } @@ -44,18 +40,18 @@ int jtag_usb_open(const uint16_t vids[], const uint16_t pids[], usb_find_devices(); struct usb_bus *busses = usb_get_busses(); - for (struct usb_bus *bus = busses; bus; bus = bus->next) - { - for (struct usb_device *dev = bus->devices; dev; dev = dev->next) - { + for (struct usb_bus *bus = busses; bus; bus = bus->next) { + for (struct usb_device *dev = bus->devices; dev; dev = dev->next) { if (!jtag_usb_match(dev, vids, pids)) continue; *out = usb_open(dev); - if (NULL == *out) - return -errno; - return 0; + if (NULL == *out) { + LOG_ERROR("usb_open() failed with %s", usb_strerror()); + return ERROR_FAIL; + } + return ERROR_OK; } } - return -ENODEV; + return ERROR_FAIL; }