Home Home > GIT Browse > SLE15
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTakashi Iwai <tiwai@suse.de>2019-06-19 15:18:26 +0200
committerTakashi Iwai <tiwai@suse.de>2019-06-19 15:18:38 +0200
commit8e9ff58b64c2afc67be0ad6d174aa776c90beec4 (patch)
tree870f2562d6a6d1d7c4162481d545ff60bd49fc97
parenta8ef02495d0b0bb373a80508f589e023c1c2c7e7 (diff)
thermal: rcar_gen3_thermal: disable interrupt in .remove
(bsc#1051510).
-rw-r--r--patches.fixes/thermal-rcar_gen3_thermal-disable-interrupt-in-.remo.patch42
-rw-r--r--series.conf1
2 files changed, 43 insertions, 0 deletions
diff --git a/patches.fixes/thermal-rcar_gen3_thermal-disable-interrupt-in-.remo.patch b/patches.fixes/thermal-rcar_gen3_thermal-disable-interrupt-in-.remo.patch
new file mode 100644
index 0000000000..d10e892240
--- /dev/null
+++ b/patches.fixes/thermal-rcar_gen3_thermal-disable-interrupt-in-.remo.patch
@@ -0,0 +1,42 @@
+From 63f55fcea50c25ae5ad45af92d08dae3b84534c2 Mon Sep 17 00:00:00 2001
+From: Jiada Wang <jiada_wang@mentor.com>
+Date: Wed, 24 Apr 2019 14:11:45 +0900
+Subject: [PATCH] thermal: rcar_gen3_thermal: disable interrupt in .remove
+Git-commit: 63f55fcea50c25ae5ad45af92d08dae3b84534c2
+Patch-mainline: v5.2-rc1
+References: bsc#1051510
+
+Currently IRQ remains 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 disables interrupt in .remove, to ensure irq function
+only be called after device is fully initialized.
+
+Signed-off-by: Jiada Wang <jiada_wang@mentor.com>
+Reviewed-by: Simon Horman <horms+renesas@verge.net.au>
+Reviewed-by: Daniel Lezcano <daniel.lezcano@linaro.org>
+Signed-off-by: Eduardo Valentin <edubezval@gmail.com>
+Acked-by: Takashi Iwai <tiwai@suse.de>
+
+---
+ 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 cf5ae8f6e8ed..e6727bd09f86 100644
+--- a/drivers/thermal/rcar_gen3_thermal.c
++++ b/drivers/thermal/rcar_gen3_thermal.c
+@@ -307,6 +307,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.16.4
+
diff --git a/series.conf b/series.conf
index 5619594843..248d98e71d 100644
--- a/series.conf
+++ b/series.conf
@@ -22468,6 +22468,7 @@
patches.drm/drm-i915-fbc-disable-framebuffer-compression-on-Gemi.patch
patches.drm/drm-bridge-adv7511-Fix-low-refresh-rate-selection.patch
patches.fixes/drivers-thermal-tsens-Don-t-print-error-message-on-E.patch
+ patches.fixes/thermal-rcar_gen3_thermal-disable-interrupt-in-.remo.patch
patches.drivers/thermal-cpu_cooling-Actually-trace-CPU-load-in-therm.patch
patches.drivers/soc-mediatek-pwrap-Zero-initialize-rdata-in-pwrap_in.patch
patches.drivers/soc-rockchip-Set-the-proper-PWM-for-rk3288.patch