diff options
Diffstat (limited to 'power')
-rw-r--r-- | power/rk3399.c | 11 |
1 files changed, 6 insertions, 5 deletions
diff --git a/power/rk3399.c b/power/rk3399.c index dd76f5ef74..720ec09151 100644 --- a/power/rk3399.c +++ b/power/rk3399.c @@ -314,14 +314,15 @@ static void power_button_changed(void) /* Power up from off */ chipset_exit_hard_off(); - else if (!chipset_in_state(CHIPSET_STATE_ON)) + else if (!chipset_in_state(CHIPSET_STATE_ON)) { /* Power down immediately from S3 */ force_shutdown(); + return; + } - else - /* Delayed power down from S0 */ - hook_call_deferred(&force_shutdown_data, - FORCED_SHUTDOWN_DELAY); + /* Delayed power down from S0, cancel on PB release */ + hook_call_deferred(&force_shutdown_data, + FORCED_SHUTDOWN_DELAY); } else { /* Power button released, cancel deferred shutdown */ hook_call_deferred(&force_shutdown_data, -1); |