summaryrefslogtreecommitdiff
path: root/src/target/arm_adi_v5.c
diff options
context:
space:
mode:
authorSpencer Oliver <ntfreak@users.sourceforge.net>2010-05-21 11:43:17 +0100
committerSpencer Oliver <ntfreak@users.sourceforge.net>2010-05-21 11:43:17 +0100
commitc0cdb7c63189edf0d96a1b0242d80c94532b30e7 (patch)
tree507b98040ef5942806560f88471c5e9356fdbb30 /src/target/arm_adi_v5.c
parent72ba8ec90e42a3fc4470e7e0d1c0f8b1d060529a (diff)
downloadopenocd+libswd-c0cdb7c63189edf0d96a1b0242d80c94532b30e7.tar.gz
openocd+libswd-c0cdb7c63189edf0d96a1b0242d80c94532b30e7.tar.bz2
openocd+libswd-c0cdb7c63189edf0d96a1b0242d80c94532b30e7.tar.xz
openocd+libswd-c0cdb7c63189edf0d96a1b0242d80c94532b30e7.zip
arm_adi_v5: correct ahbap_debugport_init mem-ap id (bug #23)
We request a id register read at the end of ahbap_debugport_init but we never actually run the queue. In some cases this causes a segfault. Signed-off-by: Spencer Oliver <ntfreak@users.sourceforge.net>
Diffstat (limited to 'src/target/arm_adi_v5.c')
-rw-r--r--src/target/arm_adi_v5.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/src/target/arm_adi_v5.c b/src/target/arm_adi_v5.c
index 8b18fa3c..8f43f78a 100644
--- a/src/target/arm_adi_v5.c
+++ b/src/target/arm_adi_v5.c
@@ -967,6 +967,9 @@ int ahbap_debugport_init(struct adiv5_dap *dap)
retval = dap_queue_ap_read(dap, AP_REG_IDR, &idreg);
retval = dap_queue_ap_read(dap, AP_REG_BASE, &romaddr);
+ if ((retval = dap_run(dap)) != ERROR_OK)
+ return retval;
+
LOG_DEBUG("MEM-AP #%" PRId32 " ID Register 0x%" PRIx32
", Debug ROM Address 0x%" PRIx32,
dap->apsel, idreg, romaddr);