1. 23 2月, 2011 1 次提交
    • T
      ALSA: usb-audio: fix oops due to cleanup race when disconnecting · 382225e6
      Takashi Iwai 提交于
      When a USB audio device is disconnected, snd_usb_audio_disconnect()
      kills all audio URBs.  At the same time, the application, after being
      notified of the disconnection, might close the device, in which case
      ALSA calls the .hw_free callback, which should free the URBs too.
      
      Commit de1b8b93 "[ALSA] Fix hang-up at disconnection of usb-audio"
      prevented snd_usb_hw_free() from freeing the URBs to avoid a hang that
      resulted from this race, but this introduced another race because the
      URB callbacks could now be executed after snd_usb_hw_free() has
      returned, and try to access already freed data.
      
      Fix the first race by introducing a mutex to serialize the disconnect
      callback and all PCM callbacks that manage URBs (hw_free and hw_params).
      Reported-and-tested-by: NPierre-Louis Bossart <pierre-louis.bossart@intel.com>
      Cc: <stable@kernel.org>
      [CL: also serialize hw_params callback]
      Signed-off-by: NClemens Ladisch <clemens@ladisch.de>
      Signed-off-by: NTakashi Iwai <tiwai@suse.de>
      382225e6
  2. 22 2月, 2011 1 次提交
  3. 21 2月, 2011 1 次提交
  4. 19 2月, 2011 2 次提交
  5. 15 2月, 2011 3 次提交
  6. 13 2月, 2011 1 次提交
  7. 11 2月, 2011 5 次提交
  8. 09 2月, 2011 1 次提交
  9. 08 2月, 2011 1 次提交
  10. 07 2月, 2011 1 次提交
  11. 05 2月, 2011 1 次提交
  12. 04 2月, 2011 3 次提交
  13. 03 2月, 2011 3 次提交
  14. 01 2月, 2011 2 次提交
  15. 31 1月, 2011 3 次提交
  16. 28 1月, 2011 4 次提交
  17. 27 1月, 2011 1 次提交
  18. 26 1月, 2011 3 次提交
  19. 25 1月, 2011 3 次提交