Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 3b23cd28 authored by Takashi Iwai's avatar Takashi Iwai
Browse files

Merge branch 'fix/hda' into for-linus

parents b614e38e 01fdf180
Loading
Loading
Loading
Loading
+1 −0
Original line number Original line Diff line number Diff line
@@ -3641,6 +3641,7 @@ static struct snd_pci_quirk ad1984_cfg_tbl[] = {
	/* Lenovo Thinkpad T61/X61 */
	/* Lenovo Thinkpad T61/X61 */
	SND_PCI_QUIRK_VENDOR(0x17aa, "Lenovo Thinkpad", AD1984_THINKPAD),
	SND_PCI_QUIRK_VENDOR(0x17aa, "Lenovo Thinkpad", AD1984_THINKPAD),
	SND_PCI_QUIRK(0x1028, 0x0214, "Dell T3400", AD1984_DELL_DESKTOP),
	SND_PCI_QUIRK(0x1028, 0x0214, "Dell T3400", AD1984_DELL_DESKTOP),
	SND_PCI_QUIRK(0x1028, 0x0233, "Dell Latitude E6400", AD1984_DELL_DESKTOP),
	{}
	{}
};
};


+16 −6
Original line number Original line Diff line number Diff line
@@ -1594,12 +1594,22 @@ static void alc_auto_parse_digital(struct hda_codec *codec)
	}
	}
	if (spec->autocfg.dig_in_pin) {
	if (spec->autocfg.dig_in_pin) {
		hda_nid_t dig_nid;
		dig_nid = codec->start_nid;
		err = snd_hda_get_connections(codec,
		for (i = 0; i < codec->num_nodes; i++, dig_nid++) {
					      spec->autocfg.dig_in_pin,
			unsigned int wcaps = get_wcaps(codec, dig_nid);
					      &dig_nid, 1);
			if (get_wcaps_type(wcaps) != AC_WID_AUD_IN)
		if (err > 0)
				continue;
			if (!(wcaps & AC_WCAP_DIGITAL))
				continue;
			if (!(wcaps & AC_WCAP_CONN_LIST))
				continue;
			err = get_connection_index(codec, dig_nid,
						   spec->autocfg.dig_in_pin);
			if (err >= 0) {
				spec->dig_in_nid = dig_nid;
				spec->dig_in_nid = dig_nid;
				break;
			}
		}
	}
	}
}
}