On Tue, 06 Dec 2016 07:39:41 +0100, Kai-Heng Feng wrote: > > 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. So you are ignoring *both* assoc and seq numbers? Or did you intend to ignore only assoc number? In anyway, it'd be better to use a macro like if ((t_pins->val & ~AC_DEFCFGDEF_ASSOC) == (cfg & ~AC_DEFCFG_ASSOC)) thanks, Takashi > > Thanks to Hui Wang for the analysis. > > Signed-off-by: Kai-Heng Feng <kai.heng.feng@xxxxxxxxxxxxx> > --- > 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; > -- > 2.10.2 > > _______________________________________________ Alsa-devel mailing list Alsa-devel@xxxxxxxxxxxxxxxx http://mailman.alsa-project.org/mailman/listinfo/alsa-devel