From: Rafael J. Wysocki Date: Sun, 6 Nov 2011 13:21:38 +0000 (+0100) Subject: thermal: Prevent polling from happening during system suspend X-Git-Url: http://git.lede-project.org./?a=commitdiff_plain;h=51e20d0e3a60cf46b52ee1af598a35834919ed27;p=openwrt%2Fstaging%2Fblogic.git 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 Signed-off-by: Len Brown --- 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)); }