From c9071057e8fa3e36d55760da5ca02bf41688bf5a Mon Sep 17 00:00:00 2001 From: Jaehyoung Choi Date: Mon, 17 Jun 2019 16:11:22 +0900 Subject: [PATCH] [RAMEN9610-19587][COMMON] touchscreen: synaptics: Fix prevent issue Change-Id: I56071262458b93028ffa703e7eba1094ae229c34 Signed-off-by: Jaehyoung Choi Signed-off-by: Kim Gunho --- .../touchscreen/synaptics_dsx/synaptics_i2c_rmi.c | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/drivers/input/touchscreen/synaptics_dsx/synaptics_i2c_rmi.c b/drivers/input/touchscreen/synaptics_dsx/synaptics_i2c_rmi.c index 13a8914dab01..5947803e995e 100644 --- a/drivers/input/touchscreen/synaptics_dsx/synaptics_i2c_rmi.c +++ b/drivers/input/touchscreen/synaptics_dsx/synaptics_i2c_rmi.c @@ -2918,6 +2918,7 @@ static void synaptics_rmi4_free_fh(struct synaptics_rmi4_data *rmi4_data, { #ifdef PROXIMITY_MODE struct synaptics_rmi4_f51_handle *f51 = rmi4_data->f51; + static int is_f51_free = 0; #endif if (fhandler->fn_number == SYNAPTICS_RMI4_F1A) { @@ -2925,8 +2926,13 @@ static void synaptics_rmi4_free_fh(struct synaptics_rmi4_data *rmi4_data, } else { #ifdef PROXIMITY_MODE if (fhandler->fn_number == SYNAPTICS_RMI4_F51) { - kfree(f51); - f51 = NULL; + if (!is_f51_free) { + kfree(f51); + f51 = NULL; + is_f51_free = 1; + } + else + f51 = NULL; } #endif kfree(fhandler->data); -- 2.20.1