• Daniel Mack's avatar
    ALSA: snd-usb: mixer: ignore -EINVAL in snd_usb_mixer_controls() · 83ea5d18
    Daniel Mack authored
    Creation of individual mixer controls may fail, but that shouldn't cause
    the entire mixer creation to fail. Even worse, if the mixer creation
    fails, that will error out the entire device probing.
    
    All the functions called by parse_audio_unit() should return -EINVAL if
    they find descriptors that are unsupported or believed to be malformed,
    so we can safely handle this error code as a non-fatal condition in
    snd_usb_mixer_controls().
    
    That fixes a long standing bug which is commonly worked around by
    adding quirks which make the driver ignore entire interfaces. Some of
    them might now be unnecessary.
    Signed-off-by: default avatarDaniel Mack <zonque@gmail.com>
    Reported-and-tested-by: default avatarRodolfo Thomazelli <pe.soberbo@gmail.com>
    Cc: <stable@vger.kernel.org>
    Signed-off-by: default avatarTakashi Iwai <tiwai@suse.de>
    83ea5d18
mixer.c 65.1 KB