diff options
Diffstat (limited to 'sound/pci/hda/patch_cirrus.c')
-rw-r--r-- | sound/pci/hda/patch_cirrus.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/sound/pci/hda/patch_cirrus.c b/sound/pci/hda/patch_cirrus.c index 0e99357e822c..bc5a993d1146 100644 --- a/sound/pci/hda/patch_cirrus.c +++ b/sound/pci/hda/patch_cirrus.c | |||
@@ -988,8 +988,10 @@ static void cs_automic(struct hda_codec *codec) | |||
988 | change_cur_input(codec, !spec->automic_idx, 0); | 988 | change_cur_input(codec, !spec->automic_idx, 0); |
989 | } else { | 989 | } else { |
990 | if (present) { | 990 | if (present) { |
991 | spec->last_input = spec->cur_input; | 991 | if (spec->cur_input != spec->automic_idx) { |
992 | spec->cur_input = spec->automic_idx; | 992 | spec->last_input = spec->cur_input; |
993 | spec->cur_input = spec->automic_idx; | ||
994 | } | ||
993 | } else { | 995 | } else { |
994 | spec->cur_input = spec->last_input; | 996 | spec->cur_input = spec->last_input; |
995 | } | 997 | } |