X-Git-Url: https://git.gag.com/?a=blobdiff_plain;f=src%2Fstlink-usb.c;h=d8b6c4673318a889147e6c8d76fcdac5de701f98;hb=dceade1c279f2efb2607365d67cd841e5e100437;hp=f6004d68c51fe7eb6d447c7112d4f21fdddafc8d;hpb=9db0119b9e6faf93c32cb8d5a44a6c6118f5eb36;p=fw%2Fstlink diff --git a/src/stlink-usb.c b/src/stlink-usb.c index f6004d6..d8b6c46 100644 --- a/src/stlink-usb.c +++ b/src/stlink-usb.c @@ -5,6 +5,7 @@ #include #include #include +#include #include "stlink-common.h" #include "stlink-usb.h" @@ -770,8 +771,7 @@ stlink_t* stlink_open_usb(const int verbose, int reset) { devAddr=atoi(c); ILOG("bus %03d dev %03d\n",devBus, devAddr); } - while (cnt){ - cnt--; + while (cnt--){ libusb_get_device_descriptor( list[cnt], &desc ); if (desc.idVendor!=USB_ST_VID) continue; if (devBus && devAddr) @@ -789,7 +789,8 @@ stlink_t* stlink_open_usb(const int verbose, int reset) { } else { int error = libusb_open(list[cnt], &slu->usb_handle); if( error !=0 ) { - WLOG("Error %d opening ST-Link/V2 device %03d:%03d\n", error, libusb_get_bus_number(list[cnt]), libusb_get_device_address(list[cnt])); + WLOG("Error %d (%s) opening ST-Link/V2 device %03d:%03d\n", + error, strerror (errno), libusb_get_bus_number(list[cnt]), libusb_get_device_address(list[cnt])); goto on_error; } } @@ -865,10 +866,8 @@ stlink_t* stlink_open_usb(const int verbose, int reset) { if (reset) { stlink_reset(sl); } - stlink_load_device_params(sl); stlink_version(sl); - - error = 0; + error = stlink_load_device_params(sl); on_libusb_error: if (devs != NULL) { @@ -888,6 +887,6 @@ on_error: libusb_exit(slu->libusb_ctx); if (sl != NULL) free(sl); if (slu != NULL) free(slu); - return 0; + return NULL; }