summaryrefslogtreecommitdiffstats
path: root/sound/pci/hda/thinkpad_helper.c
diff options
context:
space:
mode:
authorTakashi Iwai <tiwai@suse.de>2018-11-05 12:28:07 +0100
committerTakashi Iwai <tiwai@suse.de>2018-11-06 16:33:53 +0100
commit5e93a125f521efd00d71af31c2a301f3d46af48c (patch)
tree971bed0083a5fc4ed187da0b6db48c4dc2526046 /sound/pci/hda/thinkpad_helper.c
parentvga_switcheroo: Fix missing gpu_bound call at audio client registration (diff)
downloadlinux-5e93a125f521efd00d71af31c2a301f3d46af48c.tar.xz
linux-5e93a125f521efd00d71af31c2a301f3d46af48c.zip
ALSA: hda - Fix incorrect clearance of thinkpad_acpi hooks
Since the commit c647f806b8c2 ("ALSA: hda - Allow multiple ADCs for mic mute LED controls") we allow enabling the mic mute LED with multiple ADCs. The commit changed the function return value to be zero or a negative error, while this change was overlooked in the thinkpad_acpi helper code where it still expects a positive return value for success. This eventually leads to a NULL dereference on a system that has only a mic mute LED. This patch corrects the return value check in the corresponding code as well. Bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=201621 Fixes: c647f806b8c2 ("ALSA: hda - Allow multiple ADCs for mic mute LED controls") Cc: <stable@vger.kernel.org> Signed-off-by: Takashi Iwai <tiwai@suse.de>
Diffstat (limited to 'sound/pci/hda/thinkpad_helper.c')
-rw-r--r--sound/pci/hda/thinkpad_helper.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/sound/pci/hda/thinkpad_helper.c b/sound/pci/hda/thinkpad_helper.c
index 97f49b751e6e..568575b72f2f 100644
--- a/sound/pci/hda/thinkpad_helper.c
+++ b/sound/pci/hda/thinkpad_helper.c
@@ -58,8 +58,8 @@ static void hda_fixup_thinkpad_acpi(struct hda_codec *codec,
removefunc = false;
}
if (led_set_func(TPACPI_LED_MICMUTE, false) >= 0 &&
- snd_hda_gen_add_micmute_led(codec,
- update_tpacpi_micmute) > 0)
+ !snd_hda_gen_add_micmute_led(codec,
+ update_tpacpi_micmute))
removefunc = false;
}