From 3f8f4acdca761a703bc4e85b4e9b8c4e17f4cf09 Mon Sep 17 00:00:00 2001 From: haojl2 Date: Wed, 26 Sep 2018 12:01:55 +0800 Subject: [PATCH] himax_mmi: Fix tracking ID -1 missed issue. pre_finger_mask is overwritten to 0 when all finger leave. So input_mt_report_slot_state will not called in himax_finger_leave func Use old_finger instead. Change-Id: Ic2db89273ea8fd91e88d1ce0dd9774f6b276d051 Signed-off-by: haojl2 Reviewed-on: https://gerrit.mot.com/1246456 SLTApproved: Slta Waiver SME-Granted: SME Approvals Granted Tested-by: Jira Key Reviewed-by: Jianqi Yang Submit-Approved: Jira Key --- drivers/input/touchscreen/himax_mmi/himax_common.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/input/touchscreen/himax_mmi/himax_common.c b/drivers/input/touchscreen/himax_mmi/himax_common.c index f7450b0ff0f4..da8c28066820 100644 --- a/drivers/input/touchscreen/himax_mmi/himax_common.c +++ b/drivers/input/touchscreen/himax_mmi/himax_common.c @@ -1935,7 +1935,7 @@ static void himax_finger_leave(struct himax_ts_data *ts) #endif for (loop_i = 0; loop_i < ts->nFinger_support; loop_i++) { - if (((ts->pre_finger_mask >> loop_i) & 1) == 1) { + if (((ts->old_finger >> loop_i) & 1) == 1) { input_mt_slot(ts->input_dev, loop_i); input_mt_report_slot_state(ts->input_dev, MT_TOOL_FINGER, 0); }