提交 760eea43 编写于 作者: G Geert Uytterhoeven 提交者: Eduardo Valentin

thermal: da9062/61: Prevent hardware access during system suspend

The workqueue used for monitoring the hardware may run while the device
is already suspended.  Fix this by using the freezable system workqueue
instead, cfr. commit 51e20d0e ("thermal: Prevent polling from
happening during system suspend").

Fixes: 608567aa ("thermal: da9062/61: Thermal junction temperature monitoring driver")
Signed-off-by: NGeert Uytterhoeven <geert+renesas@glider.be>
Acked-by: NSteve Twiss <stwiss.opensource@diasemi.com>
Signed-off-by: NEduardo Valentin <edubezval@gmail.com>
上级 697ee786
......@@ -106,7 +106,7 @@ static void da9062_thermal_poll_on(struct work_struct *work)
THERMAL_EVENT_UNSPECIFIED);
delay = msecs_to_jiffies(thermal->zone->passive_delay);
schedule_delayed_work(&thermal->work, delay);
queue_delayed_work(system_freezable_wq, &thermal->work, delay);
return;
}
......@@ -125,7 +125,7 @@ static irqreturn_t da9062_thermal_irq_handler(int irq, void *data)
struct da9062_thermal *thermal = data;
disable_irq_nosync(thermal->irq);
schedule_delayed_work(&thermal->work, 0);
queue_delayed_work(system_freezable_wq, &thermal->work, 0);
return IRQ_HANDLED;
}
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册