diff options
author | Takashi Iwai <tiwai@suse.de> | 2014-02-12 10:32:45 -0500 |
---|---|---|
committer | Matthew Garrett <matthew.garrett@nebula.com> | 2014-04-06 12:58:13 -0400 |
commit | 119f449866ad18785b0445adaf0d2859c6dbdaa3 (patch) | |
tree | 09e215e9f862d4c8ab2fcf0c645644d5616a7e41 | |
parent | 57dcf020f406e430050ed4153c03ce904ede07bc (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.c | 12 |
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 | ||
8450 | static 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 | |||
8450 | static struct ibm_struct mute_led_driver_data = { | 8461 | static 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 | /**************************************************************************** |