timers/PM: Fix up tick_unfreeze()

A recent conflict resolution has left tick_resume() in
tick_unfreeze() which leads to an unbalanced execution of
tick_resume_broadcast() every time that function runs.

Fix that by replacing the tick_resume() in tick_unfreeze()
with tick_resume_local() as appropriate.

Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
Cc: boris.ostrovsky@oracle.com
Cc: david.vrabel@citrix.com
Cc: konrad.wilk@oracle.com
Cc: peterz@infradead.org
Cc: Thomas Gleixner <tglx@linutronix.de>
Link: http://lkml.kernel.org/r/8099075.V0LvN3pQAV@vostro.rjw.lan
Signed-off-by: Ingo Molnar <mingo@kernel.org>
This commit is contained in:
Rafael J. Wysocki 2015-04-03 15:21:51 +02:00 committed by Ingo Molnar
parent 347c6f6dda
commit 422fe7502e

View file

@ -482,7 +482,7 @@ void tick_unfreeze(void)
if (tick_freeze_depth == num_online_cpus()) if (tick_freeze_depth == num_online_cpus())
timekeeping_resume(); timekeeping_resume();
else else
tick_resume(); tick_resume_local();
tick_freeze_depth--; tick_freeze_depth--;