Fix: Error while reading from USB endpoint
authorPeter Horn <peter.horn@bluewin.ch>
Sat, 29 Sep 2012 16:16:46 +0000 (18:16 +0200)
committerPeter Stuge <peter@stuge.se>
Sat, 29 Sep 2012 17:08:52 +0000 (17:08 +0000)
This patch fixes the bug reported here:

http://sourceforge.net/mailarchive/message.php?msg_id=28350157

When using Rlink under Linux, openocd exits with:

"Error: Read of endpoint 2 returned -75, expected 17"

The return value of -75 translates into EOVERFLOW. The cause is a wrong output buffer size argument passed to dtc_run_download().

Change-Id: I5d056705181ab6a6d4355524df06a0ea9c605961
Signed-off-by: Peter Horn <peter.horn@bluewin.ch>
Reviewed-on: http://openocd.zylin.com/862
Tested-by: jenkins
Reviewed-by: Peter Stuge <peter@stuge.se>
src/jtag/drivers/rlink.c

index c5c2701d1d0b6b783d108198ce4ee4467f4718a8..8a8c8c1f0e773b7db09fb77d43a30d76d704624b 100644 (file)
@@ -642,7 +642,7 @@ static int dtc_queue_run(void)
 
        usb_err = dtc_run_download(pHDev,
                        dtc_queue.cmd_buffer, dtc_queue.cmd_index,
-                       reply_buffer, dtc_queue.reply_index
+                       reply_buffer, sizeof(reply_buffer)
                        );
        if (usb_err < 0) {
                LOG_ERROR("dtc_run_download: %s", usb_strerror());