From 68e200c660aefe960e351452748f299c4a334474 Mon Sep 17 00:00:00 2001 From: Tarek BOCHKATI Date: Mon, 30 Mar 2020 13:06:18 +0200 Subject: [PATCH] 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 Reviewed-on: http://openocd.zylin.com/5455 Tested-by: jenkins Reviewed-by: Antonio Borneo --- src/jtag/drivers/stlink_usb.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/jtag/drivers/stlink_usb.c b/src/jtag/drivers/stlink_usb.c index f4992daa65..45bb5019f9 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; -- 2.30.2