diff --git a/drivers/input/touchscreen/synaptics_mmi/synaptics_dsx_i2c.c b/drivers/input/touchscreen/synaptics_mmi/synaptics_dsx_i2c.c index a2bdb3d6c2df..30d49b4d2780 100644 --- a/drivers/input/touchscreen/synaptics_mmi/synaptics_dsx_i2c.c +++ b/drivers/input/touchscreen/synaptics_mmi/synaptics_dsx_i2c.c @@ -2888,11 +2888,13 @@ static void synaptics_dsx_sensor_state(struct synaptics_rmi4_data *rmi4_data, case STATE_SUSPEND: synaptics_dsx_wait_for_idle(rmi4_data); - if (!rmi4_data->in_bootloader) + if (!rmi4_data->in_bootloader) { synaptics_dsx_apply_modifiers(rmi4_data, STATE_SUSPEND); + } - if (!rmi4_data->suspend_is_wakeable) + if (!rmi4_data->suspend_is_wakeable) { synaptics_rmi4_irq_enable(rmi4_data, false); + } break; case STATE_ACTIVE: @@ -2906,8 +2908,9 @@ static void synaptics_dsx_sensor_state(struct synaptics_rmi4_data *rmi4_data, pr_err("Active state without input device\n"); } - if (gStat.enabled) + if (gStat.enabled) { statistics_start_timekeeping(rmi4_data); + } break; case STATE_STANDBY: @@ -2948,8 +2951,9 @@ static void synaptics_dsx_sensor_state(struct synaptics_rmi4_data *rmi4_data, pr_notice("failed to clear interrupt\n"); } - if (gStat.enabled) + if (gStat.enabled) { statistics_stop_timekeeping(); + } break; }