summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorntfreak <ntfreak@b42882b7-edfa-0310-969c-e2dbd0fdcd60>2008-02-04 20:12:46 +0000
committerntfreak <ntfreak@b42882b7-edfa-0310-969c-e2dbd0fdcd60>2008-02-04 20:12:46 +0000
commit4d88f024a614f699d5ce5673520762bcfdf96ce2 (patch)
tree4bb2a52ce5caf7cfff5de7024e8c95544d0d1e50
parent33f72055b7eab0e3925625490326ab3e9ff24388 (diff)
downloadopenocd+libswd-4d88f024a614f699d5ce5673520762bcfdf96ce2.tar.gz
openocd+libswd-4d88f024a614f699d5ce5673520762bcfdf96ce2.tar.bz2
openocd+libswd-4d88f024a614f699d5ce5673520762bcfdf96ce2.tar.xz
openocd+libswd-4d88f024a614f699d5ce5673520762bcfdf96ce2.zip
- fixes issue with reset and arm926ejs core. Thanks Øyvind Harboe
git-svn-id: svn://svn.berlios.de/openocd/trunk@281 b42882b7-edfa-0310-969c-e2dbd0fdcd60
-rw-r--r--src/target/arm926ejs.c14
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)