aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTarek BOCHKATI <tarek.bouchkati@gmail.com>2020-03-30 13:06:18 +0200
committerAntonio Borneo <borneo.antonio@gmail.com>2020-04-12 22:06:02 +0100
commit68e200c660aefe960e351452748f299c4a334474 (patch)
treefbcfc31310b48815750adea8b76955517829c1ee
parent263296e549455afa1484cf9dec75fc3014a83954 (diff)
downloadriscv-openocd-68e200c660aefe960e351452748f299c4a334474.zip
riscv-openocd-68e200c660aefe960e351452748f299c4a334474.tar.gz
riscv-openocd-68e200c660aefe960e351452748f299c4a334474.tar.bz2
stlink: always use a valid endpoint
In order to extend the driver to support stlink-server over TCP, we should always use a valid endpoint, as stlink-server is not permissive and do not accept the invalid STLINK_NULL_EP. STLINK_NULL_EP value was used for commands without an expected reply, this value could be replaced with a valid endpoint without any impact when the size is set to zero. Change-Id: I003ad364e03d3a10bc036772db86310d996cbe81 Signed-off-by: Tarek BOCHKATI <tarek.bouchkati@gmail.com> Reviewed-on: http://openocd.zylin.com/5455 Tested-by: jenkins Reviewed-by: Antonio Borneo <borneo.antonio@gmail.com>
-rw-r--r--src/jtag/drivers/stlink_usb.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/src/jtag/drivers/stlink_usb.c b/src/jtag/drivers/stlink_usb.c
index f4992da..45bb501 100644
--- a/src/jtag/drivers/stlink_usb.c
+++ b/src/jtag/drivers/stlink_usb.c
@@ -55,7 +55,6 @@
#define STLINK_WRITE_TIMEOUT 1000
#define STLINK_READ_TIMEOUT 1000
-#define STLINK_NULL_EP 0
#define STLINK_RX_EP (1|ENDPOINT_IN)
#define STLINK_TX_EP (2|ENDPOINT_OUT)
#define STLINK_TRACE_EP (3|ENDPOINT_IN)
@@ -1251,7 +1250,8 @@ static int stlink_usb_mode_leave(void *handle, enum stlink_mode type)
assert(handle != NULL);
- stlink_usb_init_buffer(handle, STLINK_NULL_EP, 0);
+ /* command with no reply, use a valid endpoint but zero size */
+ stlink_usb_init_buffer(handle, h->rx_ep, 0);
switch (type) {
case STLINK_MODE_DEBUG_JTAG:
@@ -1272,7 +1272,7 @@ static int stlink_usb_mode_leave(void *handle, enum stlink_mode type)
return ERROR_FAIL;
}
- res = stlink_usb_xfer_noerrcheck(handle, 0, 0);
+ res = stlink_usb_xfer_noerrcheck(handle, h->databuf, 0);
if (res != ERROR_OK)
return res;