Commit [64047d7f4912 ALSA: hda - ignore the assoc and seq when comparing pin configurations] may still fail to match pins on some machines, because the bitmask it used only ignore seq but not assoc. Change the bitmask to also ignore assoc.
Thanks to Hui Wang for the analysis.
Signed-off-by: Kai-Heng Feng kai.heng.feng@canonical.com --- sound/pci/hda/hda_auto_parser.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/sound/pci/hda/hda_auto_parser.c b/sound/pci/hda/hda_auto_parser.c index 4ad29f8..fdc30d0 100644 --- a/sound/pci/hda/hda_auto_parser.c +++ b/sound/pci/hda/hda_auto_parser.c @@ -901,7 +901,7 @@ static bool pin_config_match(struct hda_codec *codec, for (; t_pins->nid; t_pins++) { if (t_pins->nid == nid) { found = 1; - if ((t_pins->val & 0xfffffff0) == (cfg & 0xfffffff0)) + if ((t_pins->val & 0xffffff00) == (cfg & 0xffffff00)) break; else if ((cfg & 0xf0000000) == 0x40000000 && (t_pins->val & 0xf0000000) == 0x40000000) break;