From: Øyvind Harboe Date: Fri, 5 Aug 2011 07:57:46 +0000 (+0200) Subject: arm11: disable broken optimization for setting current scan chain X-Git-Tag: v0.5.0~1 X-Git-Url: https://git.sur5r.net/?a=commitdiff_plain;h=bbd84417f63837008f56e791df9005e26457ff60;p=openocd arm11: disable broken optimization for setting current scan chain --- diff --git a/src/target/arm11_dbgtap.c b/src/target/arm11_dbgtap.c index 5c671cc5..a5dc3768 100644 --- a/src/target/arm11_dbgtap.c +++ b/src/target/arm11_dbgtap.c @@ -199,11 +199,17 @@ int arm11_add_debug_SCAN_N(struct arm11_common *arm11, * NOTE: the ITRSEL instruction fakes SCREG changing; * but leaves its actual value unchanged. */ +#if 0 + // FIX!!! the optimization below is broken because we do not + // invalidate the cur_scan_chain upon a TRST/TMS. See arm_jtag.c + // for example on how to invalidate cur_scan_chain. Tested patches gladly + // accepted! if (arm11->jtag_info.cur_scan_chain == chain) { JTAG_DEBUG("SCREG <= %d SKIPPED", chain); return jtag_add_statemove((state == ARM11_TAP_DEFAULT) ? TAP_DRPAUSE : state); } +#endif JTAG_DEBUG("SCREG <= %d", chain); arm11_add_IR(arm11, ARM11_SCAN_N, ARM11_TAP_DEFAULT);