diff --git a/drivers/coresight/coresight-stm.c b/drivers/coresight/coresight-stm.c index 085f7211669..81672ea576f 100644 --- a/drivers/coresight/coresight-stm.c +++ b/drivers/coresight/coresight-stm.c @@ -450,6 +450,8 @@ static int stm_trace_ost_tail_64bit(unsigned long ch_addr, uint32_t options) static int stm_send(void *addr, const void *data, uint32_t size) { + uint32_t len = size; + if (((unsigned long)data & 0x1) && (size >= 1)) { stm_data_writeb(*(uint8_t *)data, addr); data++; @@ -479,7 +481,7 @@ static int stm_send(void *addr, const void *data, uint32_t size) size--; } - return size; + return len; } static int stm_trace_ost_header(unsigned long ch_addr, uint32_t options,