1. 07 Nov, 2019 1 commit
  2. 06 Nov, 2019 2 commits
  3. 05 Nov, 2019 4 commits
  4. 04 Nov, 2019 2 commits
  5. 30 Oct, 2019 2 commits
    • Takashi Iwai's avatar
      ALSA: timer: Fix mutex deadlock at releasing card · a3933186
      Takashi Iwai authored
      When a card is disconnected while in use, the system waits until all
      opened files are closed then releases the card.  This is done via
      put_device() of the card device in each device release code.
      
      The recently reported mutex deadlock bug happens in this code path;
      snd_timer_close() for the timer device deals with the global
      register_mutex and it calls put_device() there.  When this timer
      device is the last one, the card gets freed and it eventually calls
      snd_timer_free(), which has again the protection with the global
      register_mutex -- boom.
      
      Basically put_device() call itself is race-free, so a relative simple
      workaround is to move this put_device() call out of the mutex.  For
      achieving that, in this patch, snd_timer_close_locked() got a new
      argument to store the card device pointer in return, and each caller
      invokes put_device() with the returned object after the mutex unlock.
      Reported-and-tested-by: default avatarKirill A. Shutemov <kirill.shutemov@linux.intel.com>
      Cc: <stable@vger.kernel.org>
      Signed-off-by: default avatarTakashi Iwai <tiwai@suse.de>
      a3933186
    • Takashi Iwai's avatar
      ALSA: hda - Fix mutex deadlock in HDMI codec driver · 302d5a80
      Takashi Iwai authored
      The commit ade49db3 ("ALSA: hda/hdmi - Allow audio component for
      AMD/ATI and Nvidia HDMI") introduced the spec->pcm_lock mutex lock to
      the whole generic_hdmi_init() function for avoiding the race with the
      audio component registration.  However, this caused a dead lock when
      the unsolicited event is handled without the audio component, as the
      codec gets runtime-resumed in hdmi_present_sense() which is already
      inside the spec->pcm_lock in its caller.
      
      For avoiding this deadlock, add a new mutex only for the audio
      component binding that is used in both generic_hdmi_init() and the
      audio notifier registration where the jack callbacks are handled /
      re-registered.
      
      Fixes: ade49db3 ("ALSA: hda/hdmi - Allow audio component for AMD/ATI and Nvidia HDMI")
      Reported-and-tested-by: default avatarVille Syrjälä <ville.syrjala@linux.intel.com>
      Link: https://lore.kernel.org/r/s5himo7i89i.wl-tiwai@suse.deSigned-off-by: default avatarTakashi Iwai <tiwai@suse.de>
      302d5a80
  6. 28 Oct, 2019 6 commits
  7. 26 Oct, 2019 1 commit
  8. 24 Oct, 2019 3 commits
  9. 23 Oct, 2019 5 commits
  10. 22 Oct, 2019 1 commit
  11. 21 Oct, 2019 4 commits
  12. 18 Oct, 2019 4 commits
  13. 17 Oct, 2019 3 commits
  14. 09 Oct, 2019 2 commits