From: David Henningsson Date: Wed, 1 Apr 2015 10:43:00 +0000 (+0200) Subject: ALSA: hda - Fix subsystem ID read regression X-Git-Url: https://git.stricted.de/?a=commitdiff_plain;h=ffda568e8b4979c6a04bbdd92acfd93b5dc5e163;p=GitHub%2FLineageOS%2FG12%2Fandroid_kernel_amlogic_linux-4.9.git ALSA: hda - Fix subsystem ID read regression A regression was introduced in 7639a06c23c7d4cda3: if AC_PAR_SUBSYSTEM_ID reads as zero, one should retry using AC_VERB_GET_SUBSYSTEM_ID. This seems to hit many codecs (my own laptop included), and causes quirks for some machines not to apply correctly. Reported-by: TienFu Chen Signed-off-by: David Henningsson Signed-off-by: Takashi Iwai --- diff --git a/sound/hda/hdac_device.c b/sound/hda/hdac_device.c index 6e8ee1d6974a..53b6b95ff8cd 100644 --- a/sound/hda/hdac_device.c +++ b/sound/hda/hdac_device.c @@ -91,7 +91,7 @@ int snd_hdac_device_init(struct hdac_device *codec, struct hdac_bus *bus, codec->power_caps = snd_hdac_read_parm(codec, fg, AC_PAR_POWER_STATE); /* reread ssid if not set by parameter */ - if (codec->subsystem_id == -1) + if (codec->subsystem_id == -1 || codec->subsystem_id == 0) snd_hdac_read(codec, fg, AC_VERB_GET_SUBSYSTEM_ID, 0, &codec->subsystem_id);