diff options
-rw-r--r-- | src/target/arm926ejs.c | 14 |
1 files changed, 7 insertions, 7 deletions
diff --git a/src/target/arm926ejs.c b/src/target/arm926ejs.c index efead81b..8a609b07 100644 --- a/src/target/arm926ejs.c +++ b/src/target/arm926ejs.c @@ -97,19 +97,19 @@ target_type_t arm926ejs_target = int arm926ejs_catch_broken_irscan(u8 *captured, void *priv, scan_field_t *field) { - u8 *in_value=field->in_check_value; - /* The ARM926EJ-S' instruction register is 4 bits wide */ - u8 t=*in_value & 0xf; - if ((t == 0x0f) || (t == 0x00)) + u8 t = *captured & 0xf; + u8 t2 = *field->in_check_value & 0xf; + if (t == t2) { - DEBUG("caught ARM926EJ-S invalid Capture-IR result after CP15 access"); return ERROR_OK; } - else + else if ((t == 0x0f) || (t == 0x00)) { - return ERROR_JTAG_QUEUE_FAILED; + DEBUG("caught ARM926EJ-S invalid Capture-IR result after CP15 access"); + return ERROR_OK; } + return ERROR_JTAG_QUEUE_FAILED;; } int arm926ejs_read_cp15(target_t *target, u32 address, u32 *value) |