[Bugfix][API-630][Factory-test]The factory test set GPS mode for the second time, and the ELT interface card died

Change-Id: Id35ef3bd0deb87829a8a5d0f68ef51a3e3d57453
diff --git a/src/lynq/framework/lynq-ril-service/src/factory/lynq_factory.cpp b/src/lynq/framework/lynq-ril-service/src/factory/lynq_factory.cpp
index 9006096..e040eb4 100755
--- a/src/lynq/framework/lynq-ril-service/src/factory/lynq_factory.cpp
+++ b/src/lynq/framework/lynq-ril-service/src/factory/lynq_factory.cpp
@@ -71,7 +71,6 @@
 #define RIL_REQUEST_GET_SIM_STATUS 1
 int already_gps = 0;
 int enable_nema = 0;
-int sustain = 1;
 char rgmii[32] = {0};
 char sgmii[32] = {0};
 int gps_set = 2;
@@ -121,24 +120,30 @@
         lynq_factory_response_ttyGS3("popen errorn\n");
         return 0;
     }
-    while (sustain)
+    /*open vcom port*/
+    ttyGS0_fd = open("/dev/ttyGS0",O_RDWR);
+    if(ttyGS0_fd == -1)
     {
-        if(fgets(lynq_factory_buf,sizeof(lynq_factory_buf),fp)){
-            if(enable_nema == 1){
-                if(g_set_output == 0)
-                {
-                    lynq_factory_response_ttyGS3(lynq_factory_buf);
-                }
-                /*output nema into vcom port*/
-                if(g_set_output == 1)
-                {
-                    write(ttyGS0_fd,lynq_factory_buf,strlen(lynq_factory_buf));
-                }
-                /*output nema into vcom port*/
+        lynq_factory_response_ttyGS3("\n+open /dev/ttyGS0:ERROR\n");
+        return NULL;
+    }
+    /*open vcom port*/
+    while (NULL != fgets(lynq_factory_buf,sizeof(lynq_factory_buf),fp))
+    {
+        if(enable_nema == 1){
+            if(g_set_output == 0)
+            {
+                lynq_factory_response_ttyGS3(lynq_factory_buf);
             }
+            /*output nema into vcom port*/
+            if(g_set_output == 1)
+            {
+                write(ttyGS0_fd,lynq_factory_buf,strlen(lynq_factory_buf));
+            }
+            /*output nema into vcom port*/
         }
     }
-    close(ttyGS3_fd);
+    close(ttyGS0_fd);
     pclose(fp);
     return 0;
 }
@@ -307,7 +312,6 @@
 {
     already_gps = 0;
     enable_nema = 0;
-    sustain = 0;
     system("killall lynq-gnss-test");
     lynq_factory_response_ttyGS3("+GPS CLOSE:OK\n");
     return;
@@ -599,13 +603,6 @@
 
 void lynq_nema_set(char *choice)
 {
-    /*open vcom port*/
-    ttyGS0_fd = open("/dev/ttyGS0",O_RDWR);
-    if(ttyGS0_fd == -1)
-    {
-        lynq_factory_response_ttyGS3("\n+SET NEMA:ERROR\n");
-    }
-    /*open vcom port*/
     if(choice == NULL)
     {
         lynq_factory_response_ttyGS3("INPUT ERROR\n");