1. 07 3月, 2020 1 次提交
  2. 06 3月, 2020 1 次提交
  3. 05 3月, 2020 5 次提交
  4. 04 3月, 2020 1 次提交
    • O
      ASoC: stm32: sai: manage rebind issue · 0d6defc7
      Olivier Moysan 提交于
      The commit e894efef ("ASoC: core: add support to card rebind")
      allows to rebind the sound card after a rebind of one of its component.
      With this commit, the sound card is actually rebound,
      but may be no more functional. The following problems have been seen
      with STM32 SAI driver.
      
      1) DMA channel is not requested:
      
      With the sound card rebind the simplified call sequence is:
      stm32_sai_sub_probe
      	snd_soc_register_component
      		snd_soc_try_rebind_card
      			snd_soc_instantiate_card
      	devm_snd_dmaengine_pcm_register
      
      The problem occurs because the pcm must be registered,
      before snd_soc_instantiate_card() is called.
      
      Modify SAI driver, to change the call sequence as follows:
      stm32_sai_sub_probe
      	devm_snd_dmaengine_pcm_register
      	snd_soc_register_component
      		snd_soc_try_rebind_card
      
      2) DMA channel is not released:
      
      dma_release_channel() is not called when
      devm_dmaengine_pcm_release() is executed.
      This occurs because SND_DMAENGINE_PCM_DRV_NAME component,
      has already been released through devm_component_release().
      
      devm_dmaengine_pcm_release() should be called before
      devm_component_release() to avoid this problem.
      
      Call snd_dmaengine_pcm_unregister() and snd_soc_unregister_component()
      explicitly from SAI driver, to have the right sequence.
      Signed-off-by: NOlivier Moysan <olivier.moysan@st.com>
      Message-Id: <20200304102406.8093-1-olivier.moysan@st.com>
      Signed-off-by: NMark Brown <broonie@kernel.org>
      0d6defc7
  5. 03 3月, 2020 2 次提交
  6. 02 3月, 2020 1 次提交
  7. 29 2月, 2020 2 次提交
  8. 27 2月, 2020 1 次提交
  9. 25 2月, 2020 2 次提交
  10. 21 2月, 2020 2 次提交
  11. 20 2月, 2020 3 次提交
  12. 19 2月, 2020 5 次提交
  13. 18 2月, 2020 4 次提交
  14. 17 2月, 2020 3 次提交
  15. 15 2月, 2020 2 次提交
  16. 14 2月, 2020 3 次提交
    • T
      ALSA: rawmidi: Avoid bit fields for state flags · dfa9a5ef
      Takashi Iwai 提交于
      The rawmidi state flags (opened, append, active_sensing) are stored in
      bit fields that can be potentially racy when concurrently accessed
      without any locks.  Although the current code should be fine, there is
      also no any real benefit by keeping the bitfields for this kind of
      short number of members.
      
      This patch changes those bit fields flags to the simple bool fields.
      There should be no size increase of the snd_rawmidi_substream by this
      change.
      
      Reported-by: syzbot+576cc007eb9f2c968200@syzkaller.appspotmail.com
      Link: https://lore.kernel.org/r/20200214111316.26939-4-tiwai@suse.deSigned-off-by: NTakashi Iwai <tiwai@suse.de>
      dfa9a5ef
    • T
      ALSA: seq: Fix concurrent access to queue current tick/time · dc749779
      Takashi Iwai 提交于
      snd_seq_check_queue() passes the current tick and time of the given
      queue as a pointer to snd_seq_prioq_cell_out(), but those might be
      updated concurrently by the seq timer update.
      
      Fix it by retrieving the current tick and time via the proper helper
      functions at first, and pass those values to snd_seq_prioq_cell_out()
      later in the loops.
      
      snd_seq_timer_get_cur_time() takes a new argument and adjusts with the
      current system time only when it's requested so; this update isn't
      needed for snd_seq_check_queue(), as it's called either from the
      interrupt handler or right after queuing.
      
      Also, snd_seq_timer_get_cur_tick() is changed to read the value in the
      spinlock for the concurrency, too.
      
      Reported-by: syzbot+fd5e0eaa1a32999173b2@syzkaller.appspotmail.com
      Link: https://lore.kernel.org/r/20200214111316.26939-3-tiwai@suse.deSigned-off-by: NTakashi Iwai <tiwai@suse.de>
      dc749779
    • T
      ALSA: seq: Avoid concurrent access to queue flags · bb51e669
      Takashi Iwai 提交于
      The queue flags are represented in bit fields and the concurrent
      access may result in unexpected results.  Although the current code
      should be mostly OK as it's only reading a field while writing other
      fields as KCSAN reported, it's safer to cover both with a proper
      spinlock protection.
      
      This patch fixes the possible concurrent read by protecting with
      q->owner_lock.  Also the queue owner field is protected as well since
      it's the field to be protected by the lock itself.
      
      Reported-by: syzbot+65c6c92d04304d0a8efc@syzkaller.appspotmail.com
      Reported-by: syzbot+e60ddfa48717579799dd@syzkaller.appspotmail.com
      Link: https://lore.kernel.org/r/20200214111316.26939-2-tiwai@suse.deSigned-off-by: NTakashi Iwai <tiwai@suse.de>
      bb51e669
  17. 13 2月, 2020 2 次提交