diff --git a/sound/pci/hda/hda_generic.c b/sound/pci/hda/hda_generic.c index 8e7ce7d2c138..b488c62ed97d 100644 --- a/sound/pci/hda/hda_generic.c +++ b/sound/pci/hda/hda_generic.c @@ -3034,6 +3034,9 @@ static int check_auto_mic_availability(struct hda_codec *codec) unsigned int types; int i, num_pins; + if (spec->suppress_auto_mic) + return 0; + types = 0; num_pins = 0; for (i = 0; i < cfg->num_inputs; i++) { diff --git a/sound/pci/hda/hda_generic.h b/sound/pci/hda/hda_generic.h index 343195c827e4..1763e33b90ef 100644 --- a/sound/pci/hda/hda_generic.h +++ b/sound/pci/hda/hda_generic.h @@ -175,6 +175,7 @@ struct hda_gen_spec { unsigned int automute_speaker_possible:1; /* there are speakers and either LO or HP */ unsigned int automute_lo_possible:1; /* there are line outs and HP */ unsigned int keep_vref_in_automute:1; /* Don't clear VREF in automute */ + unsigned int suppress_auto_mic:1; /* suppress input jack auto switch */ unsigned int line_in_auto_switch:1; /* allow line-in auto switch */ /* other flags */