[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20190423061218.29705-3-jiada_wang@mentor.com>
Date: Tue, 23 Apr 2019 15:12:18 +0900
From: Jiada Wang <jiada_wang@...tor.com>
To: <rui.zhang@...el.com>, <edubezval@...il.com>,
<daniel.lezcano@...aro.org>
CC: <linux-pm@...r.kernel.org>, <linux-kernel@...r.kernel.org>,
<erosca@...adit-jv.com>, <joshua_frkuska@...tor.com>,
<jiada_wang@...tor.com>, <horms+renesas@...ge.net.au>,
<niklas.soderlund+renesas@...natech.se>, <geert+renesas@...der.be>,
<sergei.shtylyov@...entembedded.com>,
<marek.vasut+renesas@...il.com>,
<kuninori.morimoto.gx@...esas.com>, <hien.dang.eb@...esas.com>,
<fabrizio.castro@...renesas.com>, <dien.pham.ry@...esas.com>,
<biju.das@...renesas.com>
Subject: [PATCH v2 2/2] thermal: rcar_gen3_thermal: disable interrupt in .remove
Currently IRQ is remain enabled after .remove, later if device is probed,
IRQ is requested before .thermal_init, this may cause IRQ function be
called before device is initialized.
this patch by disable interrupt in .remove, to ensure irq function
only be called after device is fully initialized.
Signed-off-by: Jiada Wang <jiada_wang@...tor.com>
---
drivers/thermal/rcar_gen3_thermal.c | 3 +++
1 file changed, 3 insertions(+)
diff --git a/drivers/thermal/rcar_gen3_thermal.c b/drivers/thermal/rcar_gen3_thermal.c
index a11032e42f36..eb4e65b7ad8b 100644
--- a/drivers/thermal/rcar_gen3_thermal.c
+++ b/drivers/thermal/rcar_gen3_thermal.c
@@ -318,6 +318,9 @@ MODULE_DEVICE_TABLE(of, rcar_gen3_thermal_dt_ids);
static int rcar_gen3_thermal_remove(struct platform_device *pdev)
{
struct device *dev = &pdev->dev;
+ struct rcar_gen3_thermal_priv *priv = dev_get_drvdata(dev);
+
+ rcar_thermal_irq_set(priv, false);
pm_runtime_put(dev);
pm_runtime_disable(dev);
--
2.19.2
Powered by blists - more mailing lists