Skip to content
  • Daniel Mack's avatar
    ALSA: snd-usb: Fix URB cancellation at stream start · 015618b9
    Daniel Mack authored
    Commit e9ba389c
    
     ("ALSA: usb-audio: Fix scheduling-while-atomic bug in
    PCM capture stream") fixed a scheduling-while-atomic bug that happened
    when snd_usb_endpoint_start was called from the trigger callback, which
    is an atmic context. However, the patch breaks the idea of the endpoints
    reference counting, which is the reason why the driver has been
    refactored lately.
    
    Revert that commit and let snd_usb_endpoint_start() take care of the URB
    cancellation again. As this function is called from both atomic and
    non-atomic context, add a flag to denote whether the function may sleep.
    
    Signed-off-by: default avatarDaniel Mack <zonque@gmail.com>
    Cc: stable@kernel.org [3.5+]
    Signed-off-by: default avatarTakashi Iwai <tiwai@suse.de>
    015618b9