aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/acpi/processor_idle.c
diff options
context:
space:
mode:
authorVenki Pallipadi <venkatesh.pallipadi@intel.com>2008-03-24 14:24:10 -0700
committerLen Brown <len.brown@intel.com>2008-03-26 00:40:41 -0400
commit996520c1fdd2948addb629be56c9febf2967e02b (patch)
tree8b8ed0f056985f26eaf2baef9970943520af75e6 /drivers/acpi/processor_idle.c
parenta4083c9271e0a697278e089f2c0b9a95363ada0a (diff)
downloadkernel_samsung_smdk4412-996520c1fdd2948addb629be56c9febf2967e02b.zip
kernel_samsung_smdk4412-996520c1fdd2948addb629be56c9febf2967e02b.tar.gz
kernel_samsung_smdk4412-996520c1fdd2948addb629be56c9febf2967e02b.tar.bz2
ACPI: fix mis-merge -- invoke acpi_unlazy_tlb() only on C3 entry
This original patch http://ussg.iu.edu/hypermail/linux/kernel/0712.2/1451.html was intending to add acpi_unlazy_tlb() to acpi_idle_enter_bm(), which is used for C3 entry. But it was merged incorrectly as commmit bde6f5f59c2b2b48a7a849c129d5b48838fe77ee 'x86: voluntary leave_mm before entering ACPI C3' so the call was instead added to acpi_idle_enter_simple() (which is C2 entry routine), probably due to identical context in that function. Move the call back to acpi_idle_enter_bm(). Signed-off-by: Venkatesh Pallipadi <venkatesh.pallipadi@intel.com> Signed-off-by: Len Brown <len.brown@intel.com>
Diffstat (limited to 'drivers/acpi/processor_idle.c')
-rw-r--r--drivers/acpi/processor_idle.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/drivers/acpi/processor_idle.c b/drivers/acpi/processor_idle.c
index e8e2d88..1468f1e 100644
--- a/drivers/acpi/processor_idle.c
+++ b/drivers/acpi/processor_idle.c
@@ -1487,7 +1487,6 @@ static int acpi_idle_enter_simple(struct cpuidle_device *dev,
return 0;
}
- acpi_unlazy_tlb(smp_processor_id());
/*
* Must be done before busmaster disable as we might need to
* access HPET !
@@ -1577,6 +1576,8 @@ static int acpi_idle_enter_bm(struct cpuidle_device *dev,
return 0;
}
+ acpi_unlazy_tlb(smp_processor_id());
+
/* Tell the scheduler that we are going deep-idle: */
sched_clock_idle_sleep_event();
/*