[Bugfix][API-1395]the patch from MTK to modify gps_state_intent's state only from UNKNOWN to INIT,then it can be ensured retry machine-made within progression

Only Configure:No
Affected branch:GSW3.0-No-Connman
Affected module:GNSS
Is it affected on both ZXIC and MTK:only MTK,
Self-test:Yes,
Doc Update:NO.

Change-Id: Iedfb532ea86c6856614ad43b71bf6d2973581c1d
diff --git a/src/connectivity/gps/2.0/gps_hal/src/gpsinf.c b/src/connectivity/gps/2.0/gps_hal/src/gpsinf.c
index 88e1b2b..1dc85f0 100644
--- a/src/connectivity/gps/2.0/gps_hal/src/gpsinf.c
+++ b/src/connectivity/gps/2.0/gps_hal/src/gpsinf.c
@@ -338,6 +338,10 @@
 // Thread: BackgroundThread
 static int gpsinf_start(void) {
     // GPSHAL_DEBUG_FUNC_SCOPE2(g_gpshal_ctx.mutex_gps_state_intent);
+    if (GPSHAL_STATE_UNKNOWN == g_gpshal_ctx.gps_state_intent){
+        LOGE("gpsinf_start failed: gps_state_intent=UNKNOWN");
+        return -1;
+    }
     memset(&mnlDebugData, 0, sizeof(DebugData));//clear debug data every session
     gpshal_set_gps_state_intent(GPSHAL_STATE_START);
     gpshal2mnl_gps_start();
@@ -347,6 +351,10 @@
 // Thread: BackgroundThread
 static int gpsinf_stop(void) {
     // GPSHAL_DEBUG_FUNC_SCOPE2(g_gpshal_ctx.mutex_gps_state_intent);
+    if (GPSHAL_STATE_UNKNOWN == g_gpshal_ctx.gps_state_intent){
+        LOGE("gpsinf_stop failed: gps_state_intent=UNKNOWN");
+        return -1;
+    }
     gpshal_set_gps_state_intent(GPSHAL_STATE_STOP);
     gpshal2mnl_gps_stop();
     return 0;  // OK to stop
@@ -354,6 +362,10 @@
 
 // Thread: BackgroundThread
 static void gpsinf_cleanup(void) {
+    if (GPSHAL_STATE_UNKNOWN == g_gpshal_ctx.gps_state_intent){
+        LOGE("gpsinf_cleanup failed: gps_state_intent=UNKNOWN");
+        return -1;
+    }
     timer_t retry_timer;
     // GPSHAL_DEBUG_FUNC_SCOPE2(g_gpshal_ctx.mutex_gps_state_intent);
     gpshal_set_gps_state_intent(GPSHAL_STATE_CLEANUP);