• Dylan Reid's avatar
    ALSA: hda - Fix calling cs_automic twice for Cirrus codecs. · f70eecde
    Dylan Reid authored
    If cs_automic is called twice (like it is during init) while the mic
    is present, it will over-write the last_input with the new one,
    causing it to switch back to the automic input when the mic is
    unplugged. This leaves the driver in a state (cur_input, last_input,
    and automix_idx the same) where the internal mic can not be selected
    until it is rebooted without the mic attached.
    
    Check that the mic hasn't already been switched to before setting
    last_input.
    Signed-off-by: default avatarDylan Reid <dgreid@chromium.org>
    Cc: <stable@kernel.org>
    Signed-off-by: default avatarTakashi Iwai <tiwai@suse.de>
    f70eecde
patch_cirrus.c 51.7 KB