From e36a16701d091286709c26d4808cc4510abdca49 Mon Sep 17 00:00:00 2001 From: Tim Newsome Date: Thu, 28 Dec 2017 15:59:55 -0800 Subject: [PATCH] In dmi_read(), ignore stale data. Fixes Issue #39. Reduces performance about 1%. Change-Id: I3bfc71cb8e632ecce35c6adeb744177300d54b98 --- src/target/riscv/riscv-011.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/target/riscv/riscv-011.c b/src/target/riscv/riscv-011.c index 18e31c730..5f902f4ab 100644 --- a/src/target/riscv/riscv-011.c +++ b/src/target/riscv/riscv-011.c @@ -455,6 +455,9 @@ static uint64_t dbus_read(struct target *target, uint16_t address) dbus_status_t status; uint16_t address_in; + // First, discard stale data + dbus_scan(target, &address_in, &value, DBUS_OP_READ, address, 0); + unsigned i = 0; do { status = dbus_scan(target, &address_in, &value, DBUS_OP_READ, address, 0);