diff options
author | Rafael J. Wysocki <rjw@sisk.pl> | 2011-11-06 08:21:38 -0500 |
---|---|---|
committer | Len Brown <len.brown@intel.com> | 2011-11-06 20:38:49 -0500 |
commit | 51e20d0e3a60cf46b52ee1af598a35834919ed27 (patch) | |
tree | 88cc982dbe78035d8c58e90f02f86cf100c7bd0a | |
parent | 4505a2015f4c4b2f21137cc3a6b7400b0f3e073e (diff) |
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>
-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, | |||
678 | return; | 678 | return; |
679 | 679 | ||
680 | if (delay > 1000) | 680 | if (delay > 1000) |
681 | schedule_delayed_work(&(tz->poll_queue), | 681 | queue_delayed_work(system_freezable_wq, &(tz->poll_queue), |
682 | round_jiffies(msecs_to_jiffies(delay))); | 682 | round_jiffies(msecs_to_jiffies(delay))); |
683 | else | 683 | else |
684 | schedule_delayed_work(&(tz->poll_queue), | 684 | queue_delayed_work(system_freezable_wq, &(tz->poll_queue), |
685 | msecs_to_jiffies(delay)); | 685 | msecs_to_jiffies(delay)); |
686 | } | 686 | } |
687 | 687 | ||