aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTakashi Iwai <tiwai@suse.de>2014-02-12 10:32:45 -0500
committerMatthew Garrett <matthew.garrett@nebula.com>2014-04-06 12:58:13 -0400
commit119f449866ad18785b0445adaf0d2859c6dbdaa3 (patch)
tree09e215e9f862d4c8ab2fcf0c645644d5616a7e41
parent57dcf020f406e430050ed4153c03ce904ede07bc (diff)
thinkpad_acpi: Fix inconsistent mute LED after resume
The mute LED states have to be restored after resume. Bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=70351 Cc: <stable@vger.kernel.org> [v3.13+] Signed-off-by: Takashi Iwai <tiwai@suse.de> Signed-off-by: Matthew Garrett <matthew.garrett@nebula.com>
-rw-r--r--drivers/platform/x86/thinkpad_acpi.c12
1 files changed, 12 insertions, 0 deletions
diff --git a/drivers/platform/x86/thinkpad_acpi.c b/drivers/platform/x86/thinkpad_acpi.c
index 94bb6157c957..dcc833a0b2fd 100644
--- a/drivers/platform/x86/thinkpad_acpi.c
+++ b/drivers/platform/x86/thinkpad_acpi.c
@@ -8447,9 +8447,21 @@ static void mute_led_exit(void)
8447 tpacpi_led_set(i, false); 8447 tpacpi_led_set(i, false);
8448} 8448}
8449 8449
8450static void mute_led_resume(void)
8451{
8452 int i;
8453
8454 for (i = 0; i < TPACPI_LED_MAX; i++) {
8455 struct tp_led_table *t = &led_tables[i];
8456 if (t->state >= 0)
8457 mute_led_on_off(t, t->state);
8458 }
8459}
8460
8450static struct ibm_struct mute_led_driver_data = { 8461static struct ibm_struct mute_led_driver_data = {
8451 .name = "mute_led", 8462 .name = "mute_led",
8452 .exit = mute_led_exit, 8463 .exit = mute_led_exit,
8464 .resume = mute_led_resume,
8453}; 8465};
8454 8466
8455/**************************************************************************** 8467/****************************************************************************