diff options
Diffstat (limited to 'drivers/acpi')
-rw-r--r-- | drivers/acpi/sleep/main.c | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/drivers/acpi/sleep/main.c b/drivers/acpi/sleep/main.c index acfb01b8ec82..048295ec3707 100644 --- a/drivers/acpi/sleep/main.c +++ b/drivers/acpi/sleep/main.c | |||
@@ -257,6 +257,15 @@ static int acpi_hibernation_enter(void) | |||
257 | return ACPI_SUCCESS(status) ? 0 : -EFAULT; | 257 | return ACPI_SUCCESS(status) ? 0 : -EFAULT; |
258 | } | 258 | } |
259 | 259 | ||
260 | static void acpi_hibernation_leave(void) | ||
261 | { | ||
262 | /* | ||
263 | * If ACPI is not enabled by the BIOS and the boot kernel, we need to | ||
264 | * enable it here. | ||
265 | */ | ||
266 | acpi_enable(); | ||
267 | } | ||
268 | |||
260 | static void acpi_hibernation_finish(void) | 269 | static void acpi_hibernation_finish(void) |
261 | { | 270 | { |
262 | acpi_leave_sleep_state(ACPI_STATE_S4); | 271 | acpi_leave_sleep_state(ACPI_STATE_S4); |
@@ -288,6 +297,7 @@ static struct platform_hibernation_ops acpi_hibernation_ops = { | |||
288 | .finish = acpi_hibernation_finish, | 297 | .finish = acpi_hibernation_finish, |
289 | .prepare = acpi_hibernation_prepare, | 298 | .prepare = acpi_hibernation_prepare, |
290 | .enter = acpi_hibernation_enter, | 299 | .enter = acpi_hibernation_enter, |
300 | .leave = acpi_hibernation_leave, | ||
291 | .pre_restore = acpi_hibernation_pre_restore, | 301 | .pre_restore = acpi_hibernation_pre_restore, |
292 | .restore_cleanup = acpi_hibernation_restore_cleanup, | 302 | .restore_cleanup = acpi_hibernation_restore_cleanup, |
293 | }; | 303 | }; |