diff --git a/drivers/input/touchscreen/stmicro_mmi/fts.c b/drivers/input/touchscreen/stmicro_mmi/fts.c index 899ff9ad1363..e8ab4db8c7d4 100644 --- a/drivers/input/touchscreen/stmicro_mmi/fts.c +++ b/drivers/input/touchscreen/stmicro_mmi/fts.c @@ -150,7 +150,7 @@ void release_all_touches(struct fts_ts_info *info) #endif input_mt_slot(info->input_dev, i); input_mt_report_slot_state(info->input_dev, type, 0); - input_report_abs(info->input_dev, ABS_MT_TRACKING_ID, -1); + /* input_report_abs(info->input_dev, ABS_MT_TRACKING_ID, -1); */ } input_sync(info->input_dev); info->touch_id = 0; @@ -2226,8 +2226,10 @@ static void fts_leave_pointer_event_handler(struct fts_ts_info *info, unsigned /* logError(0, "%s %s : TouchID = %d, Touchcount = %d\n",tag,__func__, * touchId,touchcount); */ + /* no need to set ABS_MT_TRACKING_ID, input_mt_init_slots() already set it */ + /* input_report_abs(info->input_dev, ABS_MT_TRACKING_ID, -1); */ - input_report_abs(info->input_dev, ABS_MT_TRACKING_ID, -1); + input_report_key(info->input_dev, BTN_TOUCH, 0); /* logError(0, "%s %s : Event 0x%02x - release ID[%d]\n", tag, * __func__, event[0], touchId); */ }