Skip to content
Snippets Groups Projects
Commit 230f0e9d authored by Øyvind Harboe's avatar Øyvind Harboe Committed by Øyvind Harboe
Browse files

zy1000: fix crash in JTAG over TCP/IP


disable asynchronous callbacks and reads as minidriver requires
reads and callbacks to be synchronous.

Could possibly be fixed by some design work.

Change-Id: I7ca79a551085b2e8ba6928e1762d1baed6e95d4b
Signed-off-by: default avatarØyvind Harboe <oyvind.harboe@zylin.com>
Reviewed-on: http://openocd.zylin.com/260


Tested-by: jenkins
Reviewed-by: default avatarØyvind Harboe <oyvindharboe@gmail.com>
Tested-by: default avatarØyvind Harboe <oyvindharboe@gmail.com>
parent e8d1da15
No related branches found
No related tags found
No related merge requests found
......@@ -1296,6 +1296,15 @@ void zy1000_jtag_add_callback4(jtag_callback_t callback, jtag_callback_data_t da
callbackqueue[callbackqueue_pos].data2 = data2;
callbackqueue[callbackqueue_pos].data3 = data3;
callbackqueue_pos++;
/* KLUDGE!
* make callbacks synchronous for now as minidriver requires callback
* to be synchronous.
*
* We can get away with making read and writes asynchronous so we
* don't completely kill performance.
*/
zy1000_flush_callbackqueue();
}
static int zy1000_jtag_convert_to_callback4(jtag_callback_data_t data0, jtag_callback_data_t data1, jtag_callback_data_t data2, jtag_callback_data_t data3)
......@@ -1342,6 +1351,9 @@ static void writeShiftValue(uint8_t *data, int bits)
readqueue[readqueue_pos].dest = data;
readqueue[readqueue_pos].bits = bits;
readqueue_pos++;
/* KLUDGE!!! minidriver requires readqueue to be synchronous */
zy1000_flush_readqueue();
}
#else
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment