Merge branch 'asoc-4.19' into asoc-linus
authorMark Brown <broonie@kernel.org>
Sun, 21 Oct 2018 15:59:19 +0000 (16:59 +0100)
committerMark Brown <broonie@kernel.org>
Sun, 21 Oct 2018 15:59:19 +0000 (16:59 +0100)
1  2 
sound/soc/codecs/rt5514-spi.c

index 6478d10c4f4af3e055666ce1095b22086033d847,13809821e1f8547c3b012fd53a6e3a3ea9f588f5..4d46f4567c3a8c69cab55ca45ab1bbbc686b8945
@@@ -91,6 -91,14 +91,14 @@@ static void rt5514_spi_copy_work(struc
  
        runtime = rt5514_dsp->substream->runtime;
        period_bytes = snd_pcm_lib_period_bytes(rt5514_dsp->substream);
+       if (!period_bytes) {
+               schedule_delayed_work(&rt5514_dsp->copy_work, 5);
+               goto done;
+       }
+       if (rt5514_dsp->buf_size % period_bytes)
+               rt5514_dsp->buf_size = (rt5514_dsp->buf_size / period_bytes) *
+                       period_bytes;
  
        if (rt5514_dsp->get_size >= rt5514_dsp->buf_size) {
                rt5514_spi_burst_read(RT5514_BUFFER_VOICE_WP, (u8 *)&buf,
@@@ -149,13 -157,11 +157,11 @@@ done
  
  static void rt5514_schedule_copy(struct rt5514_dsp *rt5514_dsp)
  {
-       size_t period_bytes;
        u8 buf[8];
  
        if (!rt5514_dsp->substream)
                return;
  
-       period_bytes = snd_pcm_lib_period_bytes(rt5514_dsp->substream);
        rt5514_dsp->get_size = 0;
  
        /**
  
        rt5514_dsp->buf_size = rt5514_dsp->buf_limit - rt5514_dsp->buf_base;
  
-       if (rt5514_dsp->buf_size % period_bytes)
-               rt5514_dsp->buf_size = (rt5514_dsp->buf_size / period_bytes) *
-                       period_bytes;
        if (rt5514_dsp->buf_base && rt5514_dsp->buf_limit &&
                rt5514_dsp->buf_rp && rt5514_dsp->buf_size)
                schedule_delayed_work(&rt5514_dsp->copy_work, 0);
@@@ -268,6 -270,7 +270,6 @@@ static const struct snd_pcm_ops rt5514_
        .hw_params      = rt5514_spi_hw_params,
        .hw_free        = rt5514_spi_hw_free,
        .pointer        = rt5514_spi_pcm_pointer,
 -      .mmap           = snd_pcm_lib_mmap_vmalloc,
        .page           = snd_pcm_lib_get_vmalloc_page,
  };