lkml.org 
[lkml]   [2014]   [Jan]   [16]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH] ASoC: core: Fix possible NULL pointer dereference of pcm->config
    Date
    Since the soc generic dmaengine pcm driver allows using the defualt settings,
    so the pcm->config maybe NULL.

    Signed-off-by: Xiubo Li <Li.Xiubo@freescale.com>
    ---
    sound/soc/soc-generic-dmaengine-pcm.c | 9 ++++++---
    1 file changed, 6 insertions(+), 3 deletions(-)

    diff --git a/sound/soc/soc-generic-dmaengine-pcm.c b/sound/soc/soc-generic-dmaengine-pcm.c
    index 560a778..5bace12 100644
    --- a/sound/soc/soc-generic-dmaengine-pcm.c
    +++ b/sound/soc/soc-generic-dmaengine-pcm.c
    @@ -176,17 +176,20 @@ static struct dma_chan *dmaengine_pcm_compat_request_channel(
    {
    struct dmaengine_pcm *pcm = soc_platform_to_pcm(rtd->platform);
    struct snd_dmaengine_dai_dma_data *dma_data;
    + dma_filter_fn fn = NULL;

    dma_data = snd_soc_dai_get_dma_data(rtd->cpu_dai, substream);

    if ((pcm->flags & SND_DMAENGINE_PCM_FLAG_HALF_DUPLEX) && pcm->chan[0])
    return pcm->chan[0];

    - if (pcm->config->compat_request_channel)
    + if (pcm->config && pcm->config->compat_request_channel)
    return pcm->config->compat_request_channel(rtd, substream);

    - return snd_dmaengine_pcm_request_channel(pcm->config->compat_filter_fn,
    - dma_data->filter_data);
    + if (pcm->config)
    + fn = pcm->config->compat_filter_fn;
    +
    + return snd_dmaengine_pcm_request_channel(fn, dma_data->filter_data);
    }

    static bool dmaengine_pcm_can_report_residue(struct dma_chan *chan)
    --
    1.8.4



    \
     
     \ /
      Last update: 2014-01-16 10:41    [W:3.412 / U:0.016 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site