- /* read the response */
-
- libusb_fill_bulk_transfer(handle->rep_trans, handle->usb_handle,
- handle->ep_rep, rxbuf, rxsize, NULL, NULL, 0);
-
- printf("submit_wait(rep)\n");
-
- if (submit_wait(handle, handle->rep_trans)) return -1;
+ /* read the response */
+
+ libusb_fill_bulk_transfer(handle->rep_trans, handle->usb_handle,
+ handle->ep_rep, rxbuf, rxsize, NULL, NULL, 0);
+
+ if (submit_wait(handle, handle->rep_trans)) return -1;
+ res = handle->rep_trans->actual_length;
+ }
+
+ if ((handle->protocoll == 1) && terminate) {
+ fprintf(stderr, "This is never used....\n");
+ exit(EXIT_FAILURE);
+ /* Read the SG reply */
+ unsigned char sg_buf[13];
+ libusb_fill_bulk_transfer
+ (handle->rep_trans, handle->usb_handle,
+ handle->ep_rep, sg_buf, 13, NULL, NULL, 0);
+ res = submit_wait(handle, handle->rep_trans);
+ /* The STLink doesn't seem to evaluate the sequence number */
+ handle->sg_transfer_idx++;
+ if (res ) return -1;
+ }