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: Øyvind Harboe <oyvind.harboe@zylin.com> Reviewed-on: http://openocd.zylin.com/260 Tested-by: jenkins Reviewed-by: Øyvind Harboe <oyvindharboe@gmail.com> Tested-by: Øyvind Harboe <oyvindharboe@gmail.com>__archive__
parent
e8d1da15c2
commit
230f0e9dc6
|
@ -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
|
||||
|
|
Loading…
Reference in New Issue