In the master/apprentice setup the response byte of 1 is returned by
write_fn. However when tracing it will happily report 0 as it
successfully writes the last bytes. To avoid running of the end when
tracing we just always return 1 at this point.
Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
---
reginfo.c | 5 ++++-
1 file changed, 4 insertions(+), 1 deletion(-)
diff --git a/reginfo.c b/reginfo.c
index d9d37b3..76f24f9 100644
--- a/reginfo.c
+++ b/reginfo.c
@@ -39,7 +39,10 @@ int send_register_info(write_fn write_fn, void *uc)
switch (op) {
case OP_TESTEND:
- return write_fn(&ri, sizeof(ri));
+ write_fn(&ri, sizeof(ri));
+ /* if we are tracing write_fn will return 0 unlike a remote
+ end, hence we force return of 1 here */
+ return 1;
case OP_SETMEMBLOCK:
memblock = (void *)(uintptr_t)get_reginfo_paramreg(&ri);
break;
--
2.13.0