---
src/target/arm11_dbgtap.c | 14 +++++++++-----
1 files changed, 9 insertions(+), 5 deletions(-)
diff --git a/src/target/arm11_dbgtap.c b/src/target/arm11_dbgtap.c
index 5c671cc..c6c5a50 100644
--- a/src/target/arm11_dbgtap.c
+++ b/src/target/arm11_dbgtap.c
@@ -199,11 +199,15 @@ int arm11_add_debug_SCAN_N(struct arm11_common *arm11,
* NOTE: the ITRSEL instruction fakes SCREG changing;
* but leaves its actual value unchanged.
*/
- 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);
- }
+ // 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 invlidate 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);
+// }
JTAG_DEBUG("SCREG <= %d", chain);
arm11_add_IR(arm11, ARM11_SCAN_N, ARM11_TAP_DEFAULT);
--
1.7.2.3
_______________________________________________
Openocd-development mailing list
[email protected]
https://lists.berlios.de/mailman/listinfo/openocd-development