diff --git a/drivers/base/power/wakeup.c b/drivers/base/power/wakeup.c index 9fd5166a52ad..bca76e68e659 100755 --- a/drivers/base/power/wakeup.c +++ b/drivers/base/power/wakeup.c @@ -965,8 +965,8 @@ bool pm_wakeup_pending(void) void pm_system_wakeup(void) { - atomic_inc(&pm_abort_suspend); - s2idle_wake(); + if (atomic_inc_return_relaxed(&pm_abort_suspend) == 1) + s2idle_wake(); } EXPORT_SYMBOL_GPL(pm_system_wakeup);