• Takashi Iwai's avatar
    ALSA: hda - Fix aamix activation with loopback control on VIA codecs · 65033cc8
    Takashi Iwai authored
    When we have a loopback mixer control, this should manage the state
    whether the output paths include the aamix or not.  But the current
    code blindly initializes the output paths with aamix = true, thus the
    aamix is enabled unless the loopback mixer control is changed.
    Also, update_aamix_paths() called by the loopback mixer control put
    callback invokes snd_hda_activate_path() with aamix = true even for
    disabling the mixing.  This leaves the aamix path even though the
    loopback control is turned off.
    This patch fixes these issues:
    - Introduced aamix_default() helper to indicate whether with_aamix is
      true or false as default
    - Fix the argument in update_aamix_paths() for disabling loopback
    Reported-by: default avatarLydia Wang <LydiaWang@viatech.com.cn>
    Cc: <stable@vger.kernel.org> [v3.9+]
    Signed-off-by: default avatarTakashi Iwai <tiwai@suse.de>