lkml.org 
[lkml]   [2022]   [May]   [10]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 4.14 68/78] ASoC: dmaengine: Restore NULL prepare_slave_config() callback
    Date
    From: Codrin Ciubotariu <codrin.ciubotariu@microchip.com>

    commit 660564fc9a92a893a14f255be434f7ea0b967901 upstream.

    As pointed out by Sascha Hauer, this patch changes:
    if (pmc->config && !pcm->config->prepare_slave_config)
    <do nothing>
    to:
    if (pmc->config && !pcm->config->prepare_slave_config)
    snd_dmaengine_pcm_prepare_slave_config()

    This breaks the drivers that do not need a call to
    dmaengine_slave_config(). Drivers that still need to call
    snd_dmaengine_pcm_prepare_slave_config(), but have a NULL
    pcm->config->prepare_slave_config should use
    snd_dmaengine_pcm_prepare_slave_config() as their prepare_slave_config
    callback.

    Fixes: 9a1e13440a4f ("ASoC: dmaengine: do not use a NULL prepare_slave_config() callback")
    Reported-by: Sascha Hauer <sha@pengutronix.de>
    Signed-off-by: Codrin Ciubotariu <codrin.ciubotariu@microchip.com>
    Link: https://lore.kernel.org/r/20220421125403.2180824-1-codrin.ciubotariu@microchip.com
    Signed-off-by: Mark Brown <broonie@kernel.org>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
    ---
    sound/soc/soc-generic-dmaengine-pcm.c | 6 +++---
    1 file changed, 3 insertions(+), 3 deletions(-)

    --- a/sound/soc/soc-generic-dmaengine-pcm.c
    +++ b/sound/soc/soc-generic-dmaengine-pcm.c
    @@ -98,10 +98,10 @@ static int dmaengine_pcm_hw_params(struc

    memset(&slave_config, 0, sizeof(slave_config));

    - if (pcm->config && pcm->config->prepare_slave_config)
    - prepare_slave_config = pcm->config->prepare_slave_config;
    - else
    + if (!pcm->config)
    prepare_slave_config = snd_dmaengine_pcm_prepare_slave_config;
    + else
    + prepare_slave_config = pcm->config->prepare_slave_config;

    if (prepare_slave_config) {
    ret = prepare_slave_config(substream, params, &slave_config);

    \
     
     \ /
      Last update: 2022-05-10 15:27    [W:4.024 / U:0.200 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site