summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPark Ju Hyung <qkrwngud825@gmail.com>2019-04-13 19:00:11 +0900
committerDavide Garberi <dade.garberi@gmail.com>2022-07-27 18:59:06 +0200
commite02f38507901f7163509d26ea9206551a52af679 (patch)
tree5690de56e9d01c63630b191a06437b52c12ef51d
parente8849fe80cb2239f726d55018c4a57cc2f74a642 (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.c23
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 >=