diff options
author | 2019-09-15 10:31:44 +0100 | |
---|---|---|
committer | 2019-09-15 10:31:44 +0100 | |
commit | a54f8485727e6e85b5dfe1d9708b80d13fe8bf5f (patch) | |
tree | 9d38878259b080ffa01e1e398094906ee4e988fe /sound/soc/sh/rcar/core.c | |
parent | Merge branch 'asoc-5.3' into asoc-linus (diff) | |
parent | ASoC: sdm845: remove unneeded semicolon (diff) | |
download | linux-a54f8485727e6e85b5dfe1d9708b80d13fe8bf5f.tar.gz linux-a54f8485727e6e85b5dfe1d9708b80d13fe8bf5f.tar.bz2 linux-a54f8485727e6e85b5dfe1d9708b80d13fe8bf5f.zip |
Merge branch 'asoc-5.4' into asoc-next
Diffstat (limited to 'sound/soc/sh/rcar/core.c')
-rw-r--r-- | sound/soc/sh/rcar/core.c | 16 |
1 files changed, 15 insertions, 1 deletions
diff --git a/sound/soc/sh/rcar/core.c b/sound/soc/sh/rcar/core.c index 56e8dae9a15c..bda5b958d0dc 100644 --- a/sound/soc/sh/rcar/core.c +++ b/sound/soc/sh/rcar/core.c @@ -1421,6 +1421,20 @@ static int rsnd_hw_params(struct snd_pcm_substream *substream, params_buffer_bytes(hw_params)); } +static int rsnd_hw_free(struct snd_pcm_substream *substream) +{ + struct snd_soc_dai *dai = rsnd_substream_to_dai(substream); + struct rsnd_dai *rdai = rsnd_dai_to_rdai(dai); + struct rsnd_dai_stream *io = rsnd_rdai_to_io(rdai, substream); + int ret; + + ret = rsnd_dai_call(hw_free, io, substream); + if (ret) + return ret; + + return snd_pcm_lib_free_pages(substream); +} + static snd_pcm_uframes_t rsnd_pointer(struct snd_pcm_substream *substream) { struct snd_soc_dai *dai = rsnd_substream_to_dai(substream); @@ -1436,7 +1450,7 @@ static snd_pcm_uframes_t rsnd_pointer(struct snd_pcm_substream *substream) static const struct snd_pcm_ops rsnd_pcm_ops = { .ioctl = snd_pcm_lib_ioctl, .hw_params = rsnd_hw_params, - .hw_free = snd_pcm_lib_free_pages, + .hw_free = rsnd_hw_free, .pointer = rsnd_pointer, }; |