1. 23 10月, 2017 1 次提交
    • K
      ASoC: snd_soc_component_driver has snd_compr_ops · 9e7e3738
      Kuninori Morimoto 提交于
      Platform will be replaced into Component in the future.
      snd_soc_platform_driver has snd_compr_ops, but snd_soc_component_driver
      doesn't have. To prepare for replacing, this patch adds snd_compr_ops on
      component driver.
      
      platform will be replaced into component, and its code will be removed.
      But during replacing, both platform and component process code exists.
      To keep compatibility, to avoid platform NULL access and to avoid
      platform/component duplicate operation during replacing process, this
      patch has such code. Some of this code will be removed when platform was
      removed.
      Signed-off-by: NKuninori Morimoto <kuninori.morimoto.gx@renesas.com>
      Signed-off-by: NMark Brown <broonie@kernel.org>
      9e7e3738
  2. 16 8月, 2017 1 次提交
  3. 10 8月, 2017 1 次提交
  4. 20 6月, 2017 1 次提交
  5. 13 11月, 2016 1 次提交
  6. 16 8月, 2016 1 次提交
  7. 22 6月, 2016 1 次提交
  8. 08 1月, 2016 1 次提交
  9. 30 11月, 2015 1 次提交
  10. 22 10月, 2015 1 次提交
  11. 15 1月, 2015 1 次提交
    • Q
      ASoC: soc-compress.c: fix NULL dereference · d3268a40
      Qais Yousef 提交于
      In soc_new_compress() when rtd->dai_link->dynamic is set, we create the pcm
      substreams with this call:
      
         ret = snd_pcm_new_internal(rtd->card->snd_card, new_name, num,
                                         1, 0, &be_pcm);
      
      which passes 0 as capture_count leading to
      
         be_pcm->streams[SNDRV_PCM_STREAM_CAPTURE].substream
      
      being NULL, hence when trying to set rtd a few lines below we get an oops.
      
      Fix by using rtd->dai_link->dpcm_playback and rtd->dai_link->dpcm_capture as
      playback_count and capture_count to snd_pcm_new_internal().
      Signed-off-by: NQais Yousef <qais.yousef@imgtec.com>
      Signed-off-by: NMark Brown <broonie@kernel.org>
      Cc: stable@vger.kernel.org
      d3268a40
  12. 22 10月, 2014 1 次提交
  13. 24 9月, 2014 1 次提交
  14. 10 9月, 2014 1 次提交
  15. 17 7月, 2014 1 次提交
  16. 22 6月, 2014 1 次提交
  17. 14 5月, 2014 1 次提交
  18. 13 5月, 2014 1 次提交
  19. 06 3月, 2014 2 次提交
  20. 18 1月, 2014 1 次提交
  21. 12 8月, 2013 1 次提交
  22. 29 7月, 2013 1 次提交
  23. 20 5月, 2013 1 次提交
  24. 21 4月, 2013 2 次提交
  25. 28 3月, 2013 1 次提交
  26. 27 3月, 2013 1 次提交
  27. 08 2月, 2013 2 次提交
  28. 05 2月, 2013 1 次提交
  29. 24 1月, 2013 3 次提交
  30. 15 12月, 2012 1 次提交
    • M
      ASoC: Prevent pop_wait overwrite · 9bffb1fb
      Misael Lopez Cruz 提交于
      pop_wait is used to determine if a deferred playback close
      needs to be cancelled when the a PCM is open or if after
      the power-down delay expires it needs to run. pop_wait is
      associated with the CODEC DAI, so the CODEC DAI must be
      unique. This holds true for most CODECs, except for the
      dummy CODEC and its DAI.
      
      In DAI links with non-unique dummy CODECs (e.g. front-ends),
      pop_wait can be overwritten by another DAI link using also a
      dummy CODEC. Failure to cancel a deferred close can cause
      mute due to the DAPM STOP event sent in the deferred work.
      
      One scenario where pop_wait is overwritten and causing mute
      is below (where hw:0,0 and hw:0,1 are two front-ends with
      default pmdown_time = 5 secs):
      
      aplay /dev/urandom -D hw:0,0 -c 2 -r 48000 -f S16_LE -d 1
      sleep 1
      aplay /dev/urandom -D hw:0,1 -c 2 -r 48000 -f S16_LE -d 3 &
      aplay /dev/urandom -D hw:0,0 -c 2 -r 48000 -f S16_LE
      
      Since CODECs may not be unique, pop_wait is moved to the PCM
      runtime structure. Creating separate dummy CODECs for each
      DAI link can also solve the problem, but at this point it's
      only pop_wait variable in the CODEC DAI that has negative
      effects by not being unique.
      Signed-off-by: NMisael Lopez Cruz <misael.lopez@ti.com>
      Signed-off-by: NMark Brown <broonie@opensource.wolfsonmicro.com>
      9bffb1fb
  31. 21 8月, 2012 3 次提交