sensors: brcm: fix not to send commands to not initialized mcu
authorHoegeun Kwon <hoegeun.kwon@samsung.com>
Tue, 4 Oct 2016 07:49:16 +0000 (16:49 +0900)
committerSeung-Woo Kim <sw0312.kim@samsung.com>
Wed, 14 Dec 2016 04:52:42 +0000 (13:52 +0900)
The suspend and resume errors happen when sensorhub mcu was not
initialized. So it needs to check the sensorhub mcu state.

Change-Id: I7d738d2316bbe20922df39c6ddfdf3573bc8984d
Signed-off-by: Hoegeun Kwon <hoegeun.kwon@samsung.com>
drivers/sensors/brcm/ssp_dev.c

index 3aab02f..2f58170 100644 (file)
@@ -491,6 +491,9 @@ static int ssp_suspend(struct device *dev)
        struct spi_device *spi = to_spi_device(dev);
        struct ssp_data *data = spi_get_drvdata(spi);
 
+       if (data->uSensorState == NORMAL_SENSOR_STATE_K)
+               return 0;
+
        func_dbg();
 
        if (SUCCESS != ssp_send_cmd(data, MSG2SSP_AP_STATUS_SUSPEND, 0))
@@ -511,6 +514,9 @@ static int ssp_resume(struct device *dev)
        struct spi_device *spi = to_spi_device(dev);
        struct ssp_data *data = spi_get_drvdata(spi);
 
+       if (data->uSensorState == NORMAL_SENSOR_STATE_K)
+               return 0;
+
        func_dbg();
        enable_debug_timer(data);