diff options
author | Rafael J. Wysocki <rjw@sisk.pl> | 2011-11-06 14:21:38 +0100 |
---|---|---|
committer | Len Brown <len.brown@intel.com> | 2011-11-06 20:38:49 -0500 |
commit | 51e20d0e3a60cf46b52ee1af598a35834919ed27 (patch) | |
tree | 88cc982dbe78035d8c58e90f02f86cf100c7bd0a /drivers/thermal | |
parent | 4505a2015f4c4b2f21137cc3a6b7400b0f3e073e (diff) | |
download | linux-51e20d0e3a60cf46b52ee1af598a35834919ed27.tar.gz linux-51e20d0e3a60cf46b52ee1af598a35834919ed27.tar.bz2 linux-51e20d0e3a60cf46b52ee1af598a35834919ed27.zip |
thermal: Prevent polling from happening during system suspend
The thermal driver should use a freezable workqueue to schedule
polling to prevent thermal_zone_device_update() from being run
during system suspend, when the devices it relies on may be inactive.
Make it use the system freezable workqueue for this purpose.
Signed-off-by: Rafael J. Wysocki <rjw@sisk.pl>
Signed-off-by: Len Brown <len.brown@intel.com>
Diffstat (limited to 'drivers/thermal')
-rw-r--r-- | drivers/thermal/thermal_sys.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/drivers/thermal/thermal_sys.c b/drivers/thermal/thermal_sys.c index 708f8e92771a..dd9a5743fa99 100644 --- a/drivers/thermal/thermal_sys.c +++ b/drivers/thermal/thermal_sys.c @@ -678,10 +678,10 @@ static void thermal_zone_device_set_polling(struct thermal_zone_device *tz, return; if (delay > 1000) - schedule_delayed_work(&(tz->poll_queue), + queue_delayed_work(system_freezable_wq, &(tz->poll_queue), round_jiffies(msecs_to_jiffies(delay))); else - schedule_delayed_work(&(tz->poll_queue), + queue_delayed_work(system_freezable_wq, &(tz->poll_queue), msecs_to_jiffies(delay)); } |