Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 760eea43 authored by Geert Uytterhoeven's avatar Geert Uytterhoeven Committed by Eduardo Valentin
Browse files

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: default avatarGeert Uytterhoeven <geert+renesas@glider.be>
Acked-by: default avatarSteve Twiss <stwiss.opensource@diasemi.com>
Signed-off-by: default avatarEduardo Valentin <edubezval@gmail.com>
parent 697ee786
Loading
Loading
Loading
Loading
+2 −2
Original line number Diff line number Diff line
@@ -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;
}