ALSA: hda - add a new condition to check if it is thinkpad
authorHui Wang <hui.wang@canonical.com>
Thu, 10 Nov 2016 05:20:05 +0000 (13:20 +0800)
committerBen Hutchings <ben@decadent.org.uk>
Thu, 23 Feb 2017 03:54:31 +0000 (03:54 +0000)
commit 2ecb704a1290edb5e3d53a75529192e7ed2a1a28 upstream.

Latest Thinkpad laptops use the HKEY_HID LEN0268 instead of the
LEN0068, as a result neither audio mute led nor mic mute led can work
any more.

After adding the new HKEY_HID into the is_thinkpad(), both of them
works well as before.

Signed-off-by: Hui Wang <hui.wang@canonical.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
[bwh: Backported to 3.16: use acpi_get_devices() instead of acpi_dev_found()]
Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
sound/pci/hda/thinkpad_helper.c

index 6ba0b5517c407fdb015a8ca366440b32128a92c6..f233e90fa614f57603ac9b59933dc3f3d9fb9650 100644 (file)
@@ -26,6 +26,9 @@ static bool is_thinkpad(struct hda_codec *codec)
        if (ACPI_SUCCESS(acpi_get_devices("LEN0068", acpi_check_cb, &found, NULL)) && found)
                return true;
        found = false;
+       if (ACPI_SUCCESS(acpi_get_devices("LEN0268", acpi_check_cb, &found, NULL)) && found)
+               return true;
+       found = false;
        return ACPI_SUCCESS(acpi_get_devices("IBM0068", acpi_check_cb, &found, NULL)) && found;
 }