[Bugfix]fix supplicant bug

Change-Id: Ia343eda506155ef56b361987e0e2fa750d040c2c
diff --git a/lib/liblynq-wifi6/libwifi6.c b/lib/liblynq-wifi6/libwifi6.c
index d959554..53c0112 100755
--- a/lib/liblynq-wifi6/libwifi6.c
+++ b/lib/liblynq-wifi6/libwifi6.c
@@ -30,12 +30,12 @@
 char g_wifi_channel[8]="";
 char g_wifi_bandwidth[8]="";
 char g_max_sta_num[24]="";
+
 int lynq_wifi_enable(void)
 {
 	char *lynq_wifi_enable[]={"insmod /lib/modules/4.19.98/kernel/drivers/net/wireless/bcmdhd/bcmdhd.ko "
 			"firmware_path=/system/etc/firmware/wifi/wg870/w870_rtecdc_mfg.trxs "
-			"nvram_path=/system/etc/firmware/wifi/wg870/cyw955572fcipa_rev2.52.txt"};
-
+			"nvram_path=/system/etc/firmware/wifi/wg870/cyw955572fcipa_rev2.52.txt\n"};
 	if(system(lynq_wifi_enable[0])==-1){
 		return -1;
 		}
@@ -801,21 +801,37 @@
 
 	return 0;
 }
-
-
 int lynq_wifi_wpa_start(void){
+	int ret;
 	FILE *fp;
-	fp=popen("wpa_supplicant -iwlan0 -Dnl80211 -c /data/wifi/wg870/wpa_supplicant.conf -g/var/run/wpa_wlan0_cmd  -dd -t -B","r");
-	if(fp==NULL){
-		perror("start wpa_supplicant faild!");
-		return -1;
-		}
+	char LYNQ_CMD_RET[MAX_RET];
+	system("wpa_supplicant -iwlan0 -Dnl80211 -c /data/wifi/wg870/wpa_supplicant.conf -g/var/run/wpa_wlan0_cmd  -dd -t -B");
+	
+	while(1)
+	{  
+	   fp=popen("ps -ef | grep wpa_supplicant","r");
+	   if(fp==NULL){
+	       perror("start wpa_supplicant faild!");
+		   return -1;
+	     }
+	   memset(LYNQ_CMD_RET,'\0',sizeof(LYNQ_CMD_RET));		
+	   fgets(LYNQ_CMD_RET,sizeof(LYNQ_CMD_RET),fp);
+	   if(strlen(LYNQ_CMD_RET) > 85){
+	      ret=pclose(fp);
+	      if(ret==-1){
+	         perror("close faild");
+			 return -1;
+	        }
+	      break;
+	   }
+	   ret=pclose(fp);
+	   if(ret==-1){
+	       perror("close faild");
+		   return -1;
+	    }
 
-	int ret=pclose(fp);
-	if(ret==-1){
-		perror("close file faild");
-		return -1;
-		}
+	}
+
 	return 0;
 }