diff options
-rw-r--r-- | drivers/sensorhub/stm/ssp_data.c | 12 |
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); + } } } |