lkml.org 
[lkml]   [2013]   [Aug]   [2]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    Date
    From
    Subject[PATCH v2] ASoC: core: init delayed_work for codec-codec links
    We must init the delayed_work for codec-codec links
    otherwise shutting down the DAI chain will fault when
    calling flush_delayed_work_sync() on the linked DAI.

    Signed-off-by: Richard Fitzgerald <rf@opensource.wolfsonmicro.com>
    ---
    sound/soc/soc-core.c | 11 +++++++++++
    1 files changed, 11 insertions(+), 0 deletions(-)

    diff --git a/sound/soc/soc-core.c b/sound/soc/soc-core.c
    index 4489c5b..e649efe 100644
    --- a/sound/soc/soc-core.c
    +++ b/sound/soc/soc-core.c
    @@ -199,6 +199,14 @@ static ssize_t pmdown_time_set(struct device *dev,
    return count;
    }

    +static void codec2codec_close_delayed_work(struct work_struct *work)
    +{
    + /* No action required.
    + * C2C links only represent a hardware connection and currently
    + * we assume that we don't have to explicitly start or stop them
    + */
    +}
    +
    static DEVICE_ATTR(pmdown_time, 0644, pmdown_time_show, pmdown_time_set);

    #ifdef CONFIG_DEBUG_FS
    @@ -1428,6 +1436,9 @@ static int soc_probe_link_dais(struct snd_soc_card *card, int num, int order)
    return ret;
    }
    } else {
    + INIT_DELAYED_WORK(&rtd->delayed_work,
    + codec2codec_close_delayed_work);
    +
    /* link the DAI widgets */
    play_w = codec_dai->playback_widget;
    capture_w = cpu_dai->capture_widget;
    --
    1.7.2.5

    \
     
     \ /
      Last update: 2013-08-02 12:21    [W:9.251 / U:0.020 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site