]> git.ipfire.org Git - thirdparty/kernel/stable-queue.git/blame - releases/4.14.117/input-snvs_pwrkey-initialize-necessary-driver-data-before-enabling-irq.patch
Fixes for 5.10
[thirdparty/kernel/stable-queue.git] / releases / 4.14.117 / input-snvs_pwrkey-initialize-necessary-driver-data-before-enabling-irq.patch
CommitLineData
c728510a
GKH
1From bf2a7ca39fd3ab47ef71c621a7ee69d1813b1f97 Mon Sep 17 00:00:00 2001
2From: Anson Huang <anson.huang@nxp.com>
3Date: Wed, 3 Apr 2019 15:14:44 -0700
4Subject: Input: snvs_pwrkey - initialize necessary driver data before enabling IRQ
5
6From: Anson Huang <anson.huang@nxp.com>
7
8commit bf2a7ca39fd3ab47ef71c621a7ee69d1813b1f97 upstream.
9
10SNVS IRQ is requested before necessary driver data initialized,
11if there is a pending IRQ during driver probe phase, kernel
12NULL pointer panic will occur in IRQ handler. To avoid such
13scenario, just initialize necessary driver data before enabling
14IRQ. This patch is inspired by NXP's internal kernel tree.
15
16Fixes: d3dc6e232215 ("input: keyboard: imx: add snvs power key driver")
17Signed-off-by: Anson Huang <Anson.Huang@nxp.com>
18Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
19Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
20
21---
22 drivers/input/keyboard/snvs_pwrkey.c | 6 +++---
23 1 file changed, 3 insertions(+), 3 deletions(-)
24
25--- a/drivers/input/keyboard/snvs_pwrkey.c
26+++ b/drivers/input/keyboard/snvs_pwrkey.c
27@@ -156,6 +156,9 @@ static int imx_snvs_pwrkey_probe(struct
28 return error;
29 }
30
31+ pdata->input = input;
32+ platform_set_drvdata(pdev, pdata);
33+
34 error = devm_request_irq(&pdev->dev, pdata->irq,
35 imx_snvs_pwrkey_interrupt,
36 0, pdev->name, pdev);
37@@ -171,9 +174,6 @@ static int imx_snvs_pwrkey_probe(struct
38 return error;
39 }
40
41- pdata->input = input;
42- platform_set_drvdata(pdev, pdata);
43-
44 device_init_wakeup(&pdev->dev, pdata->wakeup);
45
46 return 0;