Merge branch 'release' of git://git.kernel.org/pub/scm/linux/kernel/git/lenb/linux
Pull ACPI & Power Management patches from Len Brown: "Two fixes for cpuidle merge-window changes, plus a URL fix in MAINTAINERS" * 'release' of git://git.kernel.org/pub/scm/linux/kernel/git/lenb/linux: MAINTAINERS: Update git url for ACPI cpuidle: Fix panic in CPU off-lining with no idle driver ACPI processor: Use safe_halt() rather than halt() in acpi_idle_play_dead()
This commit is contained in:
Коммит
f21fec96ea
|
@ -228,7 +228,7 @@ M: Len Brown <lenb@kernel.org>
|
||||||
L: linux-acpi@vger.kernel.org
|
L: linux-acpi@vger.kernel.org
|
||||||
W: http://www.lesswatts.org/projects/acpi/
|
W: http://www.lesswatts.org/projects/acpi/
|
||||||
Q: http://patchwork.kernel.org/project/linux-acpi/list/
|
Q: http://patchwork.kernel.org/project/linux-acpi/list/
|
||||||
T: git git://git.kernel.org/pub/scm/linux/kernel/git/lenb/linux-acpi-2.6.git
|
T: git git://git.kernel.org/pub/scm/linux/kernel/git/lenb/linux
|
||||||
S: Supported
|
S: Supported
|
||||||
F: drivers/acpi/
|
F: drivers/acpi/
|
||||||
F: drivers/pnp/pnpacpi/
|
F: drivers/pnp/pnpacpi/
|
||||||
|
|
|
@ -786,7 +786,7 @@ static int acpi_idle_play_dead(struct cpuidle_device *dev, int index)
|
||||||
while (1) {
|
while (1) {
|
||||||
|
|
||||||
if (cx->entry_method == ACPI_CSTATE_HALT)
|
if (cx->entry_method == ACPI_CSTATE_HALT)
|
||||||
halt();
|
safe_halt();
|
||||||
else if (cx->entry_method == ACPI_CSTATE_SYSTEMIO) {
|
else if (cx->entry_method == ACPI_CSTATE_SYSTEMIO) {
|
||||||
inb(cx->address);
|
inb(cx->address);
|
||||||
/* See comment in acpi_idle_do_entry() */
|
/* See comment in acpi_idle_do_entry() */
|
||||||
|
|
|
@ -74,7 +74,7 @@ static cpuidle_enter_t cpuidle_enter_ops;
|
||||||
/**
|
/**
|
||||||
* cpuidle_play_dead - cpu off-lining
|
* cpuidle_play_dead - cpu off-lining
|
||||||
*
|
*
|
||||||
* Only returns in case of an error
|
* Returns in case of an error or no driver
|
||||||
*/
|
*/
|
||||||
int cpuidle_play_dead(void)
|
int cpuidle_play_dead(void)
|
||||||
{
|
{
|
||||||
|
@ -83,6 +83,9 @@ int cpuidle_play_dead(void)
|
||||||
int i, dead_state = -1;
|
int i, dead_state = -1;
|
||||||
int power_usage = -1;
|
int power_usage = -1;
|
||||||
|
|
||||||
|
if (!drv)
|
||||||
|
return -ENODEV;
|
||||||
|
|
||||||
/* Find lowest-power state that supports long-term idle */
|
/* Find lowest-power state that supports long-term idle */
|
||||||
for (i = CPUIDLE_DRIVER_STATE_START; i < drv->state_count; i++) {
|
for (i = CPUIDLE_DRIVER_STATE_START; i < drv->state_count; i++) {
|
||||||
struct cpuidle_state *s = &drv->states[i];
|
struct cpuidle_state *s = &drv->states[i];
|
||||||
|
|
Загрузка…
Ссылка в новой задаче