ALSA: hda: set mute led polarity for laptops with buggy BIOS based on SSID
authorGustavo Maciel Dias Vieira <gustavo@sagui.org>
Tue, 24 Jan 2012 15:27:56 +0000 (13:27 -0200)
committerTakashi Iwai <tiwai@suse.de>
Wed, 25 Jan 2012 09:00:12 +0000 (10:00 +0100)
HP laptop models with buggy BIOS are apparently frequent, including
machines with different codecs. Set the polarity of the mute led based
on the SSID and include an entry for the HP Mini 110-3100.

Signed-off-by: Gustavo Maciel Dias Vieira <gustavo@sagui.org>
Tested-by: Predrag Ivanovic <predivan@open.telekom.rs>
Cc: <stable@kernel.org> [v3.2+]
Signed-off-by: Takashi Iwai <tiwai@suse.de>
sound/pci/hda/patch_sigmatel.c

index 336cfcd324f9667b860f28d1f9b7c8ba07651113..948f0be2f4f3180261c25086126a8932fae87f62 100644 (file)
@@ -4870,7 +4870,14 @@ static int find_mute_led_cfg(struct hda_codec *codec, int default_polarity)
                        /* BIOS bug: unfilled OEM string */
                        if (strstr(dev->name, "HP_Mute_LED_P_G")) {
                                set_hp_led_gpio(codec);
-                               spec->gpio_led_polarity = 1;
+                               switch (codec->subsystem_id) {
+                               case 0x103c148a:
+                                       spec->gpio_led_polarity = 0;
+                                       break;
+                               default:
+                                       spec->gpio_led_polarity = 1;
+                                       break;
+                               }
                                return 1;
                        }
                }