aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--drivers/sensorhub/stm/ssp_data.c12
1 files changed, 8 insertions, 4 deletions
diff --git a/drivers/sensorhub/stm/ssp_data.c b/drivers/sensorhub/stm/ssp_data.c
index 428c815cd193..2410a4f0a467 100644
--- a/drivers/sensorhub/stm/ssp_data.c
+++ b/drivers/sensorhub/stm/ssp_data.c
@@ -33,10 +33,14 @@ static void generate_data(struct ssp_data *data, struct sensor_value *sensorsdat
int iSensorData, u64 timestamp)
{
u64 move_timestamp = data->lastTimestamp[iSensorData];
- while ((move_timestamp * 10 + data->adDelayBuf[iSensorData] * 15) < (timestamp * 10)) {
- move_timestamp += data->adDelayBuf[iSensorData];
- sensorsdata->timestamp = move_timestamp;
- data->report_sensor_data[iSensorData](data, sensorsdata);
+ if ((iSensorData != PROXIMITY_SENSOR) && (iSensorData != GESTURE_SENSOR)
+ && (iSensorData != STEP_DETECTOR) && (iSensorData != SIG_MOTION_SENSOR)
+ && (iSensorData != STEP_COUNTER) && (iSensorData != TILT_TO_WAKE)) {
+ while ((move_timestamp * 10 + data->adDelayBuf[iSensorData] * 15) < (timestamp * 10)) {
+ move_timestamp += data->adDelayBuf[iSensorData];
+ sensorsdata->timestamp = move_timestamp;
+ data->report_sensor_data[iSensorData](data, sensorsdata);
+ }
}
}