thermal: core: Allow orderly_poweroff to be called only once
authorKeerthy <j-keerthy@ti.com>
Tue, 18 Apr 2017 04:29:58 +0000 (09:59 +0530)
committerZhang Rui <rui.zhang@intel.com>
Fri, 5 May 2017 08:01:44 +0000 (16:01 +0800)
commite441fd68663e298e99a99e215e0144a0eda6250d
tree92b1077a0e5f8325bdd1f489a5af0e81fa37ddcd
parent39da7c509acff13fc8cb12ec1bb20337c988ed36
thermal: core: Allow orderly_poweroff to be called only once

thermal_zone_device_check --> thermal_zone_device_update -->
handle_thermal_trip --> handle_critical_trips --> orderly_poweroff

The above sequence happens every 250/500 mS based on the configuration.
The orderly_poweroff function is getting called every 250/500 mS.
With a full fledged file system it takes at least 5-10 Seconds to
power off gracefully.

In that period due to the thermal_zone_device_check triggering
periodically the thermal work queues bombard with
orderly_poweroff calls multiple times eventually leading to
failures in gracefully powering off the system.

Make sure that orderly_poweroff is called only once.

Signed-off-by: Keerthy <j-keerthy@ti.com>
Acked-by: Eduardo Valentin <edubezval@gmail.com>
Signed-off-by: Zhang Rui <rui.zhang@intel.com>
drivers/thermal/thermal_core.c