diff options
| -rw-r--r-- | MAINTAINERS | 2 | ||||
| -rw-r--r-- | drivers/acpi/processor_idle.c | 2 | ||||
| -rw-r--r-- | drivers/cpuidle/cpuidle.c | 5 |
3 files changed, 6 insertions, 3 deletions
diff --git a/MAINTAINERS b/MAINTAINERS index 0a2e44ce077a..2dcfca850639 100644 --- a/MAINTAINERS +++ b/MAINTAINERS | |||
| @@ -228,7 +228,7 @@ M: Len Brown <lenb@kernel.org> | |||
| 228 | L: linux-acpi@vger.kernel.org | 228 | L: linux-acpi@vger.kernel.org |
| 229 | W: http://www.lesswatts.org/projects/acpi/ | 229 | W: http://www.lesswatts.org/projects/acpi/ |
| 230 | Q: http://patchwork.kernel.org/project/linux-acpi/list/ | 230 | Q: http://patchwork.kernel.org/project/linux-acpi/list/ |
| 231 | T: git git://git.kernel.org/pub/scm/linux/kernel/git/lenb/linux-acpi-2.6.git | 231 | T: git git://git.kernel.org/pub/scm/linux/kernel/git/lenb/linux |
| 232 | S: Supported | 232 | S: Supported |
| 233 | F: drivers/acpi/ | 233 | F: drivers/acpi/ |
| 234 | F: drivers/pnp/pnpacpi/ | 234 | F: drivers/pnp/pnpacpi/ |
diff --git a/drivers/acpi/processor_idle.c b/drivers/acpi/processor_idle.c index b3447f63e46b..f3decb30223f 100644 --- a/drivers/acpi/processor_idle.c +++ b/drivers/acpi/processor_idle.c | |||
| @@ -786,7 +786,7 @@ static int acpi_idle_play_dead(struct cpuidle_device *dev, int index) | |||
| 786 | while (1) { | 786 | while (1) { |
| 787 | 787 | ||
| 788 | if (cx->entry_method == ACPI_CSTATE_HALT) | 788 | if (cx->entry_method == ACPI_CSTATE_HALT) |
| 789 | halt(); | 789 | safe_halt(); |
| 790 | else if (cx->entry_method == ACPI_CSTATE_SYSTEMIO) { | 790 | else if (cx->entry_method == ACPI_CSTATE_SYSTEMIO) { |
| 791 | inb(cx->address); | 791 | inb(cx->address); |
| 792 | /* See comment in acpi_idle_do_entry() */ | 792 | /* See comment in acpi_idle_do_entry() */ |
diff --git a/drivers/cpuidle/cpuidle.c b/drivers/cpuidle/cpuidle.c index 87411cebc577..2f0083a51a9a 100644 --- a/drivers/cpuidle/cpuidle.c +++ b/drivers/cpuidle/cpuidle.c | |||
| @@ -74,7 +74,7 @@ static cpuidle_enter_t cpuidle_enter_ops; | |||
| 74 | /** | 74 | /** |
| 75 | * cpuidle_play_dead - cpu off-lining | 75 | * cpuidle_play_dead - cpu off-lining |
| 76 | * | 76 | * |
| 77 | * Only returns in case of an error | 77 | * Returns in case of an error or no driver |
| 78 | */ | 78 | */ |
| 79 | int cpuidle_play_dead(void) | 79 | int cpuidle_play_dead(void) |
| 80 | { | 80 | { |
| @@ -83,6 +83,9 @@ int cpuidle_play_dead(void) | |||
| 83 | int i, dead_state = -1; | 83 | int i, dead_state = -1; |
| 84 | int power_usage = -1; | 84 | int power_usage = -1; |
| 85 | 85 | ||
| 86 | if (!drv) | ||
| 87 | return -ENODEV; | ||
| 88 | |||
| 86 | /* Find lowest-power state that supports long-term idle */ | 89 | /* Find lowest-power state that supports long-term idle */ |
| 87 | for (i = CPUIDLE_DRIVER_STATE_START; i < drv->state_count; i++) { | 90 | for (i = CPUIDLE_DRIVER_STATE_START; i < drv->state_count; i++) { |
| 88 | struct cpuidle_state *s = &drv->states[i]; | 91 | struct cpuidle_state *s = &drv->states[i]; |
