diff options
Diffstat (limited to 'drivers/acpi/wakeup.c')
-rw-r--r-- | drivers/acpi/wakeup.c | 18 |
1 files changed, 11 insertions, 7 deletions
diff --git a/drivers/acpi/wakeup.c b/drivers/acpi/wakeup.c index 388747a7ef4f..c80537bc3234 100644 --- a/drivers/acpi/wakeup.c +++ b/drivers/acpi/wakeup.c | |||
@@ -64,13 +64,14 @@ void acpi_enable_wakeup_device(u8 sleep_state) | |||
64 | struct acpi_device *dev = | 64 | struct acpi_device *dev = |
65 | container_of(node, struct acpi_device, wakeup_list); | 65 | container_of(node, struct acpi_device, wakeup_list); |
66 | 66 | ||
67 | if (!dev->wakeup.flags.valid || !dev->wakeup.state.enabled | 67 | if (!dev->wakeup.flags.valid |
68 | || !(dev->wakeup.state.enabled || dev->wakeup.prepare_count) | ||
68 | || sleep_state > (u32) dev->wakeup.sleep_state) | 69 | || sleep_state > (u32) dev->wakeup.sleep_state) |
69 | continue; | 70 | continue; |
70 | 71 | ||
71 | /* The wake-up power should have been enabled already. */ | 72 | /* The wake-up power should have been enabled already. */ |
72 | acpi_enable_gpe(dev->wakeup.gpe_device, dev->wakeup.gpe_number, | 73 | acpi_gpe_wakeup(dev->wakeup.gpe_device, dev->wakeup.gpe_number, |
73 | ACPI_GPE_TYPE_WAKE); | 74 | ACPI_GPE_ENABLE); |
74 | } | 75 | } |
75 | } | 76 | } |
76 | 77 | ||
@@ -89,13 +90,16 @@ void acpi_disable_wakeup_device(u8 sleep_state) | |||
89 | struct acpi_device *dev = | 90 | struct acpi_device *dev = |
90 | container_of(node, struct acpi_device, wakeup_list); | 91 | container_of(node, struct acpi_device, wakeup_list); |
91 | 92 | ||
92 | if (!dev->wakeup.flags.valid || !dev->wakeup.state.enabled | 93 | if (!dev->wakeup.flags.valid |
94 | || !(dev->wakeup.state.enabled || dev->wakeup.prepare_count) | ||
93 | || (sleep_state > (u32) dev->wakeup.sleep_state)) | 95 | || (sleep_state > (u32) dev->wakeup.sleep_state)) |
94 | continue; | 96 | continue; |
95 | 97 | ||
96 | acpi_disable_gpe(dev->wakeup.gpe_device, dev->wakeup.gpe_number, | 98 | acpi_gpe_wakeup(dev->wakeup.gpe_device, dev->wakeup.gpe_number, |
97 | ACPI_GPE_TYPE_WAKE); | 99 | ACPI_GPE_DISABLE); |
98 | acpi_disable_wakeup_device_power(dev); | 100 | |
101 | if (dev->wakeup.state.enabled) | ||
102 | acpi_disable_wakeup_device_power(dev); | ||
99 | } | 103 | } |
100 | } | 104 | } |
101 | 105 | ||