lkml.org 
[lkml]   [2018]   [Mar]   [13]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
SubjectRe: [alsa-devel] [PATCH v4 15/24] ASoC: qdsp6: q6core: Add q6core driver
From
Date


On 3/10/2018 7:54 AM, srinivas.kandagatla@linaro.org wrote:
> From: Srinivas Kandagatla <srinivas.kandagatla@linaro.org>
[..]
> +static int q6core_get_svc_versions(struct q6core *core)
> +{
> + struct apr_device *adev = core->adev;
> + struct apr_hdr hdr = {0};
> + int rc;
> +
> + core->get_version_supported = true;

core->get_version_supported should be set to true only after we get proper response from adsp in callback(). In case,we get wrong response from adsp, memory for g_core->svc_version
will not get allocated and there will be NULL pointer dereference in q6core_get_svc_api_info() in below statement
+ } else if (g_core->get_version_supported) {
+ for (i = 0; i < g_core->svc_version->num_services; i++) {


> + hdr.hdr_field = APR_HDR_FIELD(APR_MSG_TYPE_SEQ_CMD,
> + APR_HDR_LEN(APR_HDR_SIZE), APR_PKT_VER);
> + hdr.pkt_size = APR_HDR_SIZE;
> + hdr.opcode = AVCS_GET_VERSIONS;
> +
> + rc = apr_send_pkt(adev, &hdr);
> + if (rc < 0)
> + return rc;
> +

\
 
 \ /
  Last update: 2018-03-13 12:47    [W:0.170 / U:0.484 seconds]
©2003-2018 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site