[Bugfix][T106BUG-398]when gnss not init,qser_Gnss_download_tle ret 0

Only Configure:No
Affected branch:master
Affected module:gnss
Is it affected on both ZXIC and MTK:only ZXIC
Self-test:Yes
Doc Update:NO

Change-Id: I9a7a7d8fc9c9c096a22285d63cf30b3dac7b18ad
diff --git a/cap/zx297520v3/src/lynq/lib/liblynq-qser-gnss/src/lynq_qser_gnss.cpp b/cap/zx297520v3/src/lynq/lib/liblynq-qser-gnss/src/lynq_qser_gnss.cpp
index 4b7bba9..c879eb5 100755
--- a/cap/zx297520v3/src/lynq/lib/liblynq-qser-gnss/src/lynq_qser_gnss.cpp
+++ b/cap/zx297520v3/src/lynq/lib/liblynq-qser-gnss/src/lynq_qser_gnss.cpp
@@ -44,6 +44,7 @@
 LYNQ_INJECT_TIME_INTO_T time_test;
 int g_gnss_sync_enable_flag = 0;
 int g_gnss_sync_done = 0;
+int inited = 0;
 
 int qser_Gnss_Init(uint32_t *h_gnss)
 {
@@ -58,17 +59,28 @@
         if(NULL == login_information_t)
         {
             ALOGE("malloc memory error\n");
+            ret = lynq_gnss_client_deinit(h_gnss);
+            if(ret)
+            {
+                ALOGE("Deinit faild\n");
+            }
             return -1;
         }
         login_information_t->host = NULL;
         login_information_t->id = NULL;
         login_information_t->password = NULL;
     }
+    inited = 1;
     return 0;
 }
 
 int qser_Gnss_Deinit(uint32_t h_gnss)
 {
+    if(!inited)
+    {
+        ALOGE("has not been initiated\n");
+        return -1;
+    }
     ret = lynq_gnss_client_deinit(h_gnss);
     if(ret)
     {
@@ -79,11 +91,17 @@
         free(login_information_t);
         login_information_t = NULL;
     }
+    inited = 0;
     return 0;
 }
 
 int qser_AddRxIndMsgHandler(gnss_handler_func_t handler_ptr,uint32_t h_gnss)
 {
+    if(!inited)
+    {
+        ALOGE("has not been initiated\n");
+        return -1;
+    }
     struct mbtk_gnss_handle_t *gnss_handle = (struct mbtk_gnss_handle_t *)h_gnss;
     if(0 == h_gnss && NULL == handler_ptr)
     {
@@ -106,6 +124,11 @@
 
 int qser_Set_Indications(uint32_t h_gnss,e_msg_id_t type)
 {
+    if(!inited)
+    {
+        ALOGE("has not been initiated\n");
+        return -1;
+    }
     struct mbtk_gnss_handle_t *gnss_handle = (struct mbtk_gnss_handle_t *)h_gnss;
     printf("type in\n");
     switch(type)
@@ -142,6 +165,11 @@
 /*need  set system time in advance*/
 int qser_Gnss_InjectTime(uint32_t h_gnss,LYNQ_INJECT_TIME_INTO_T *time_info)
 {
+    if(!inited)
+    {
+        ALOGE("has not been initiated\n");
+        return -1;
+    }
     time_t tNOW =time(NULL);
     struct timeb tmNOW;
     struct tm *ptm = {0};
@@ -170,8 +198,12 @@
 }
 int qser_Gnss_Start(uint32_t h_gnss)
 {
+    if(!inited)
+    {
+        ALOGE("has not been initiated\n");
+        return -1;
+    }
     struct mbtk_gnss_handle_t *gnss_handle = (struct mbtk_gnss_handle_t *)h_gnss;
-
     char gnss_sync_enable[24] = "";
     lynq_get_value("lynq_uci", "lynq_sync_time", "lynq_gnss_sync_time_enable" , gnss_sync_enable);
     g_gnss_sync_enable_flag = atoi(gnss_sync_enable);
@@ -184,7 +216,7 @@
         ret = set_baudrate(gnss_handle->dev_fd, B115200);
         if(-1 == ret)
         {
-            return  -2;
+            return -2;
         }
     }
     else if(gpio21_value == 0)
@@ -192,7 +224,7 @@
         ret = set_baudrate(gnss_handle->dev_fd, B9600);
         if(-1 == ret)
         {
-            return  -2;
+            return -2;
         }
     }
     return 0;
@@ -200,6 +232,11 @@
 
 int qser_Gnss_Stop(uint32_t h_gnss)
 {
+    if(!inited)
+    {
+        ALOGE("has not been initiated\n");
+        return -1;
+    }
     lynq_open_gps(0);
     return 0;
 }
@@ -222,6 +259,11 @@
     int ret;
     int buf_lenth;
     unsigned char *send_buf;
+    if(!inited)
+    {
+        ALOGE("has not been initiated\n");
+        return -1;
+    }
     struct mbtk_gnss_handle_t *gnss_handle = (struct mbtk_gnss_handle_t *)h_gnss;
     switch(frequency)
     {
@@ -275,6 +317,11 @@
 int qser_Gnss_Delete_Aiding_Data(uint32_t h_gnss,DELETE_AIDING_DATA_TYPE_T flags)
 {
     char send_buf[60] = {0};
+    if(!inited)
+    {
+        ALOGE("has not been initiated\n");
+        return -1;
+    }
     struct mbtk_gnss_handle_t *gnss_handle = (struct mbtk_gnss_handle_t *)h_gnss;
     switch(flags)
     {
@@ -381,6 +428,11 @@
 int qser_Gnss_download_tle()
 {
     int ret;
+    if(!inited)
+    {
+        ALOGE("has not been initiated\n");
+        return -1;
+    }
     if(gpio21_value == 0)
     {
         ret = mopen_gnss_download_tle();
@@ -413,6 +465,11 @@
 int qser_Gnss_injectEphemeris(uint32_t h_gnss)
 {
     int ret;
+    if(!inited)
+    {
+        ALOGE("has not been initiated\n");
+        return -1;
+    }
     if(gpio21_value == 0)
     {
         ret = mopen_gnss_injects_aidpos(h_gnss);