From b2f2f14d56da34c442127a0351ccd7dc3061a5c9 Mon Sep 17 00:00:00 2001
From: "daehan.wi" <daehan.wi@samsung.com>
Date: Wed, 17 Dec 2014 22:17:07 +0900
Subject: [PATCH] sprat: sensors: Fixed error to generate data for
 noncontinuous sensor

Bug: 18764637

Change-Id: I899c5396848c527324cf5ce0afc01ec848bf4f61
Signed-off-by: daehan.wi <daehan.wi@samsung.com>
---
 drivers/sensorhub/stm/ssp_data.c | 12 ++++++++----
 1 file 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);
+		}
 	}
 }
 
-- 
GitLab