[precise][SRU][PATCH] [Lenovo IdeaPad U300s, Conexant CX20590, Mic, Internal] Background noise or low volume (phase inversion)

Herton Ronaldo Krzesinski herton.krzesinski at canonical.com
Thu Oct 18 18:39:46 UTC 2012


On Wed, Jul 11, 2012 at 10:03:18AM -0500, Chris J Arges wrote:
> BugLink: http://launchpad.net/bugs/903853
> 
> Precise SRU Justification:
> 
> Impact:
> IdeaPad U300s's microphone is quiet/noisy.
> 
> Fix:
> These patches by David Henningsson in Quantal were backported to Precise.
> 
> Testcase:
> Using the IdeaPad U300s, try capturing audio using the microphone and
> ensure it works properly.
> 
> 2 Patches Attached.
> 
> Thanks,
> --chris j arges

>  static const struct snd_pci_quirk cxt5051_fixups[] = {
>  	SND_PCI_QUIRK(0x17aa, 0x20f2, "Lenovo X200", CXT_PINCFG_LENOVO_X200),
> +	SND_PCI_QUIRK(0x17aa, 0x3975, "Lenovo U300s", CXT_FIXUP_STEREO_DMIC),
>  	{}
>  };

FYI, I noticed a problem in this hunk when applying 3.2.32 stable
update to Precise. The quirk should have gone to cxt5066_fixups array.
Checking against the original report and seeing the first posted
alsa-info, indeed that codec should fall in the 'default:' in case below on
patch_conexant_auto, so the patch we applied had a problem.

>  
> @@ -4441,10 +4503,10 @@ static int patch_conexant_auto(struct hda_codec *codec)
>  		break;
>  	case 0x14f15051:
>  		add_cx5051_fake_mutes(codec);
> -		apply_pin_fixup(codec, cxt5051_fixups, cxt_pincfg_tbl);
> +		apply_fixup(codec, cxt5051_fixups, cxt_pincfg_tbl);
>  		break;
>  	default:
> -		apply_pin_fixup(codec, cxt5066_fixups, cxt_pincfg_tbl);
> +		apply_fixup(codec, cxt5066_fixups, cxt_pincfg_tbl);
>  		break;
>  	}
>  
> 

Looking at bug 903853, it seems no one in the end tested, and I'm not
sure how it was verified, but it shouldn't have worked at least for the
original U300 reported there. So when applying 3.2.32 stable, I just
fixed the code to match the correct 3.2.32 stable patch and upstream
code. Fix commited in master-next.

-- 
[]'s
Herton




More information about the kernel-team mailing list