Przeglądaj źródła

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>
Rafael J. Wysocki 13 lat temu
rodzic
commit
51e20d0e3a
1 zmienionych plików z 2 dodań i 2 usunięć
  1. 2 2
      drivers/thermal/thermal_sys.c

+ 2 - 2
drivers/thermal/thermal_sys.c

@@ -678,10 +678,10 @@ static void thermal_zone_device_set_polling(struct thermal_zone_device *tz,
 		return;
 		return;
 
 
 	if (delay > 1000)
 	if (delay > 1000)
-		schedule_delayed_work(&(tz->poll_queue),
+		queue_delayed_work(system_freezable_wq, &(tz->poll_queue),
 				      round_jiffies(msecs_to_jiffies(delay)));
 				      round_jiffies(msecs_to_jiffies(delay)));
 	else
 	else
-		schedule_delayed_work(&(tz->poll_queue),
+		queue_delayed_work(system_freezable_wq, &(tz->poll_queue),
 				      msecs_to_jiffies(delay));
 				      msecs_to_jiffies(delay));
 }
 }