From: Nick Kraus Date: Mon, 21 Nov 2022 14:55:11 +0000 (-0500) Subject: jtag/drivers/cmsis_dap.c: Fix Length of SWO Baudrate Command X-Git-Tag: v0.12.0-rc3~18 X-Git-Url: https://review.openocd.org/gitweb?p=openocd.git;a=commitdiff_plain;h=e345cefabdda4e14c64b2206105e99b2fa0b9b6b jtag/drivers/cmsis_dap.c: Fix Length of SWO Baudrate Command The command should now send the full 5 byte command length, which includes the command tag (0x19) and the 4-byte baudrate word, instead of only the last 3 bytes of the baudrate. Signed-off-by: Nick Kraus Change-Id: Idd6e084efd7492489aa900cdbf08f540944041cb Reviewed-on: https://review.openocd.org/c/openocd/+/7370 Tested-by: jenkins Reviewed-by: Tomas Vanek Reviewed-by: Antonio Borneo --- diff --git a/src/jtag/drivers/cmsis_dap.c b/src/jtag/drivers/cmsis_dap.c index 2f5f9c907b..44a7dd8cb6 100644 --- a/src/jtag/drivers/cmsis_dap.c +++ b/src/jtag/drivers/cmsis_dap.c @@ -660,7 +660,7 @@ static int cmsis_dap_cmd_dap_swo_baudrate( command[0] = CMD_DAP_SWO_BAUDRATE; h_u32_to_le(&command[1], in_baudrate); - int retval = cmsis_dap_xfer(cmsis_dap_handle, 4); + int retval = cmsis_dap_xfer(cmsis_dap_handle, 5); uint32_t rvbr = le_to_h_u32(&cmsis_dap_handle->response[1]); if (retval != ERROR_OK || rvbr == 0) { LOG_ERROR("CMSIS-DAP: command CMD_SWO_Baudrate(%u) -> %u failed.", in_baudrate, rvbr);