diff options
author | Marc Schink <jaylink-dev@marcschink.de> | 2016-09-16 20:12:21 +0200 |
---|---|---|
committer | Marc Schink <jaylink-dev@marcschink.de> | 2016-09-18 13:49:34 +0200 |
commit | faa2a433fdd3de211728f3da5921133214af9dd3 (patch) | |
tree | 5df8869271ed4524a63ff2d8dbb168f8a926b2fd | |
parent | b705c2cce0589a592c4d999f0ad2f972c5407030 (diff) | |
download | libjaylink-faa2a433fdd3de211728f3da5921133214af9dd3.zip libjaylink-faa2a433fdd3de211728f3da5921133214af9dd3.tar.gz libjaylink-faa2a433fdd3de211728f3da5921133214af9dd3.tar.bz2 |
Read SWO trace data in any case
The device expects that the trace data is read even if the status
code indicates an error.
Signed-off-by: Marc Schink <jaylink-dev@marcschink.de>
-rw-r--r-- | libjaylink/swo.c | 14 |
1 files changed, 7 insertions, 7 deletions
diff --git a/libjaylink/swo.c b/libjaylink/swo.c index 07e5f03..32fe80f 100644 --- a/libjaylink/swo.c +++ b/libjaylink/swo.c @@ -228,6 +228,7 @@ JAYLINK_API int jaylink_swo_read(struct jaylink_device_handle *devh, int ret; struct jaylink_context *ctx; uint8_t buf[32]; + uint32_t status; uint32_t tmp; if (!devh || !buffer || !length) @@ -267,13 +268,7 @@ JAYLINK_API int jaylink_swo_read(struct jaylink_device_handle *devh, return ret; } - tmp = buffer_get_u32(buf, 0); - - if (tmp > 0) { - log_err(ctx, "Failed to read data: %u.", tmp); - return JAYLINK_ERR_DEV; - } - + status = buffer_get_u32(buf, 0); tmp = buffer_get_u32(buf, 4); if (tmp > *length) { @@ -302,6 +297,11 @@ JAYLINK_API int jaylink_swo_read(struct jaylink_device_handle *devh, } } + if (status > 0) { + log_err(ctx, "Failed to read data: %u.", status); + return JAYLINK_ERR_DEV; + } + return JAYLINK_OK; } |