SoC: msm: q6dspv2: add null check for payload

In debug message, payload could be NULL and cause panic. Remove
payload from debug message.
Add null check for payload to avoid panic.

CRs-Fixed: 1087543
Change-Id: I3e2fffdddfb7822a4eb3e142738363f1e80522d8
Signed-off-by: Meng Wang <mwang@codeaurora.org>
This commit is contained in:
Meng Wang 2016-11-15 17:37:27 +08:00
parent e2787f510d
commit 5814025340

View file

@ -1639,7 +1639,7 @@ static int32_t q6asm_callback(struct apr_client_data *data, void *priv)
asm_token.token = data->token; asm_token.token = data->token;
if (q6asm_get_flag_from_token(&asm_token, ASM_CMD_NO_WAIT_OFFSET)) { if (q6asm_get_flag_from_token(&asm_token, ASM_CMD_NO_WAIT_OFFSET)) {
pr_debug("%s: No wait command opcode[0x%x] cmd_opcode:%x\n", pr_debug("%s: No wait command opcode[0x%x] cmd_opcode:%x\n",
__func__, data->opcode, payload[0]); __func__, data->opcode, payload ? payload[0] : 0);
wakeup_flag = 0; wakeup_flag = 0;
} }
@ -1673,9 +1673,14 @@ static int32_t q6asm_callback(struct apr_client_data *data, void *priv)
data->dest_port); data->dest_port);
if ((data->opcode != ASM_DATA_EVENT_RENDERED_EOS) && if ((data->opcode != ASM_DATA_EVENT_RENDERED_EOS) &&
(data->opcode != ASM_DATA_EVENT_EOS) && (data->opcode != ASM_DATA_EVENT_EOS) &&
(data->opcode != ASM_SESSION_EVENT_RX_UNDERFLOW)) (data->opcode != ASM_SESSION_EVENT_RX_UNDERFLOW)) {
if (payload == NULL) {
pr_err("%s: payload is null\n", __func__);
return -EINVAL;
}
dev_vdbg(ac->dev, "%s: Payload = [0x%x] status[0x%x] opcode 0x%x\n", dev_vdbg(ac->dev, "%s: Payload = [0x%x] status[0x%x] opcode 0x%x\n",
__func__, payload[0], payload[1], data->opcode); __func__, payload[0], payload[1], data->opcode);
}
if (data->opcode == APR_BASIC_RSP_RESULT) { if (data->opcode == APR_BASIC_RSP_RESULT) {
switch (payload[0]) { switch (payload[0]) {
case ASM_STREAM_CMD_SET_PP_PARAMS_V2: case ASM_STREAM_CMD_SET_PP_PARAMS_V2: