diff options
author | Park Ju Hyung <qkrwngud825@gmail.com> | 2019-04-13 19:00:11 +0900 |
---|---|---|
committer | Davide Garberi <dade.garberi@gmail.com> | 2022-07-27 18:59:06 +0200 |
commit | e02f38507901f7163509d26ea9206551a52af679 (patch) | |
tree | 5690de56e9d01c63630b191a06437b52c12ef51d | |
parent | e8849fe80cb2239f726d55018c4a57cc2f74a642 (diff) |
dsp: asm: improve misleading logs
On case ASM_STREAM_CMD_OPEN_WRITE_COMPRESSED, payload size error log
might be shown when it's actually correct due to (payload[1] != 0)
check failing. Fix this.
Also, add missing new line and change size error logs to debug type
if checks are done solely to print debug messages.
Commit 979f3d57b439 ("dsp: asm: validate payload size before access")
introduced these payload size check logs.
Signed-off-by: Park Ju Hyung <qkrwngud825@gmail.com>
-rw-r--r-- | sound/soc/msm/qdsp6v2/q6asm.c | 23 |
1 files changed, 11 insertions, 12 deletions
diff --git a/sound/soc/msm/qdsp6v2/q6asm.c b/sound/soc/msm/qdsp6v2/q6asm.c index eb3b42f47974..2f8c1e80ce32 100644 --- a/sound/soc/msm/qdsp6v2/q6asm.c +++ b/sound/soc/msm/qdsp6v2/q6asm.c @@ -2020,9 +2020,11 @@ static int32_t q6asm_callback(struct apr_client_data *data, void *priv) case ASM_DATA_CMD_REMOVE_TRAILING_SILENCE: case ASM_SESSION_CMD_REGISTER_FOR_RX_UNDERFLOW_EVENTS: case ASM_STREAM_CMD_OPEN_WRITE_COMPRESSED: - if (data->payload_size >= - 2 * sizeof(uint32_t) && - payload[1] != 0) { + if (data->payload_size < + 2 * sizeof(uint32_t)) { + pr_err("%s: payload size of %x is less than expected.\n", + __func__, data->payload_size); + } else if (payload[1] != 0) { pr_debug("%s: session %d opcode 0x%x token 0x%x Payload = [0x%x] stat 0x%x src %d dest %d\n", __func__, ac->session, data->opcode, data->token, @@ -2051,9 +2053,6 @@ static int32_t q6asm_callback(struct apr_client_data *data, void *priv) &(session[session_id].session_lock), flags); return 0; - } else { - pr_err("%s: payload size of %x is less than expected.\n", - __func__, data->payload_size); } if ((is_adsp_reg_event(payload[0]) >= 0) || (payload[0] == ASM_STREAM_CMD_SET_PP_PARAMS_V2) || @@ -2104,7 +2103,7 @@ static int32_t q6asm_callback(struct apr_client_data *data, void *priv) pr_debug("%s: Watermark opcode[0x%x] status[0x%x]", __func__, payload[0], payload[1]); else - pr_err("%s: payload size of %x is less than expected.\n", + pr_debug("%s: payload size of %x is less than expected.\n", __func__, data->payload_size); break; } @@ -2165,7 +2164,7 @@ static int32_t q6asm_callback(struct apr_client_data *data, void *priv) __func__, payload[0], payload[1], data->token); else - dev_err(ac->dev, "%s: payload size of %x is less than expected.\n", + dev_vdbg(ac->dev, "%s: payload size of %x is less than expected.\n", __func__, data->payload_size); if (ac->io_mode & SYNC_IO_MODE) { if (port->buf == NULL) { @@ -2236,7 +2235,7 @@ static int32_t q6asm_callback(struct apr_client_data *data, void *priv) payload[2], payload[3]); else - pr_err("%s: payload size of %x is less than expected.\n", + pr_debug("%s: payload size of %u is less than expected.\n", __func__, data->payload_size); @@ -2359,7 +2358,7 @@ static int32_t q6asm_callback(struct apr_client_data *data, void *priv) (uint64_t)(((uint64_t)payload[2] << 32) | payload[1]); } else { - dev_err(ac->dev, "%s: payload size of %x is less than expected.n", + dev_err(ac->dev, "%s: payload size of %x is less than expected.\n", __func__, data->payload_size); } if (atomic_cmpxchg(&ac->time_flag, 1, 0)) @@ -2438,7 +2437,7 @@ static int32_t q6asm_callback(struct apr_client_data *data, void *priv) payload[2], payload[1]); else - pr_err("%s: payload size of %x is less than expected.\n", + pr_debug("%s: payload size of %x is less than expected.\n", __func__, data->payload_size); wake_up(&ac->cmd_wait); break; @@ -2449,7 +2448,7 @@ static int32_t q6asm_callback(struct apr_client_data *data, void *priv) payload[0], payload[2], payload[1]); else - pr_err("%s: payload size of %x is less than expected.\n", + pr_debug("%s: payload size of %x is less than expected.\n", __func__, data->payload_size); if (payload[0] == 0 && data->payload_size >= |