On Sun, Oct 14, 2012 at 03:37:21PM +0100, Ben Hutchings wrote: > 3.2-stable review patch. If anyone has any objections, please let me know. > > ------------------ > > From: David Henningsson <david.hennings...@canonical.com> > > commit 18dcd3044e4c4b3ab6341c98e8d0e81e0d58d5e3 upstream. > > The internal mic input is phase inverted on one channel. > To avoid people in userspace summing the channels together > and get zero result, use a separate mixer control for the > inverted channel. > > BugLink: https://bugs.launchpad.net/bugs/903853 > Signed-off-by: David Henningsson <david.hennings...@canonical.com> > Signed-off-by: Takashi Iwai <ti...@suse.de> > [bwh: Backported to 3.2: > - Adjust context > - Change both invocations of apply_pin_fixup()] > Signed-off-by: Ben Hutchings <b...@decadent.org.uk>
I noted today that a follow up fix for this is needed to avoid an oops in apply_fixup, please consider adding to the next 3.2 stable this: commit 83b0c6ba999643ee8ad6329f26e1cdc870e1a920 ALSA: hda - Fix oops caused by recent commit "Fix internal mic for Lenovo Ideapad U300s" [...] > +static void apply_fixup(struct hda_codec *codec, > const struct snd_pci_quirk *quirk, > const struct cxt_pincfg **table) > { > + struct conexant_spec *spec = codec->spec; > + > quirk = snd_pci_quirk_lookup(codec->bus->pci, quirk); > - if (quirk) { > + if (quirk && table[quirk->value]) { > snd_printdd(KERN_INFO "hda_codec: applying pincfg for %s\n", > quirk->name); > apply_pincfg(codec, table[quirk->value]); > } > + if (quirk->value == CXT_FIXUP_STEREO_DMIC) { > + snd_printdd(KERN_INFO "hda_codec: applying internal mic > workaround for %s\n", > + quirk->name); > + spec->fixup_stereo_dmic = 1; > + } > } [...] -- []'s Herton -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/