From 0fb4da9875d0420619bbf58c95fd41db6fd75e86 Mon Sep 17 00:00:00 2001 From: Surya Teja Kudiri Date: Mon, 19 Sep 2022 15:17:27 +0530 Subject: [PATCH] touch: fix parade driver deinit sequence driver context is freed before calling power off sequence, which is resulting invalid memory access causing system crash. complete power off sequence before free up driver context. Change-Id: Ib6665d904d2747ec87a62b47cfadcb91f713ffe6 Signed-off-by: Surya Teja Kudiri --- pt/pt_core.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pt/pt_core.c b/pt/pt_core.c index 9a46b1747c..46856bed98 100644 --- a/pt/pt_core.c +++ b/pt/pt_core.c @@ -17344,7 +17344,6 @@ error_detect: if (cd->cpdata->setup_power) cd->cpdata->setup_power(cd->cpdata, PT_MT_POWER_OFF, dev); sysfs_remove_group(&dev->kobj, &early_attr_group); - kfree(cd); error_enable_regulator: pt_del_core(dev); dev_set_drvdata(dev, NULL); @@ -17352,6 +17351,7 @@ error_enable_regulator: error_get_regulator: pt_get_regulator(cd, false); error_alloc_data: + kfree(cd); error_no_pdata: pr_err("%s failed.\n", __func__); return rc;