[BugFix][API-1210] fix get lynq_wifi_sta_scan_list return no device info or one device info
Only Configure
Affected branch:MR3.0-xx && GSW3.0
Affected module:wifi
Is it addected on both ZXIC and MTK: only MTK
Self-test: Yes
Doc Update: YES
Change-Id: Iafe7c14d1e81c671068da436686de5f310afd121
diff --git a/lib/liblynq-wifi6/libwifi6.c b/lib/liblynq-wifi6/libwifi6.c
index 9d8812b..feb33f9 100755
--- a/lib/liblynq-wifi6/libwifi6.c
+++ b/lib/liblynq-wifi6/libwifi6.c
@@ -54,6 +54,7 @@
volatile int g_sta_watcher_stop_flag = 0;
volatile int g_sta_scan_finish_flag = 1;
volatile int g_sta_watcher_started_flag = 0;
+volatile int g_sta_conncet_status_flag = 0;
pthread_t g_sta_auto_watcher_pid = 0;
volatile int g_sta_auto_watcher_stop_flag = 0;
@@ -786,10 +787,19 @@
return;
}
+ if (strstr(modify, "Trying to associate") != NULL)
+ {
+ RLOGD("Current sta is Trying to associate");
+ *state = LYNQ_WIFI_STATUS_EGNORE;
+ g_sta_conncet_status_flag = 1;
+ return;
+ }
+
if (strstr(modify, "CTRL-EVENT-CONNECTED") != NULL)
{
*state = LYNQ_WIFI_STA_STATUS_CONNECT;
RLOGD("CTRL-EVENT-CONNECTED state:%d,error:%d\n",*state,*error);
+ g_sta_conncet_status_flag = 0;
return;
}
@@ -831,6 +841,7 @@
*error = LYNQ_UNSPECIFIED_REASON;
}
RLOGD("CTRL-EVENT-SSID-TEMP-DISABLED state:%d,error:%d,tmpnetid:%d",*state,*error,tmpdisid);
+ g_sta_conncet_status_flag = 0;
return;
}
@@ -840,6 +851,7 @@
*error = LYNQ_NOT_FIND_AP;
*state = LYNQ_WIFI_STA_STATUS_DISCONNECT;
RLOGD("CTRL-EVENT-NETWORK-NOT-FOUND state:%d,error:%d\n",*state,*error);
+ g_sta_conncet_status_flag = 0;
return;
}
@@ -866,6 +878,7 @@
*state = LYNQ_WIFI_STA_STATUS_DISCONNECT;
RLOGD("CTRL-EVENT-ASSOC-REJECT BUT NOT STATUS_CODE NOT 1 or 17 state:%d,error:%d\n",*state,*error);
+ g_sta_conncet_status_flag = 0;
return;
}
else
@@ -3506,7 +3519,6 @@
// const char *lynq_reconnect_cmd = "RECONNECT";
const char *lynq_enable_sta_cmd = "wpa_cli -iwpa_wlan0_cmd -p/var/run/ IFNAME=wlan0 enable_net all";
const char *lynq_reconnect_cmd = "wpa_cli -iwpa_wlan0_cmd -p/var/run/ IFNAME=wlan0 reconnect";
-// const char *lynq_first_sta_cmd = "wpa_cli -iwpa_wlan0_cmd -p/var/run/ IFNAME=wlan0 remove_net all";
CHECK_IDX(idx, CTRL_STA);
CHECK_WPA_CTRL(CTRL_STA);
@@ -3882,6 +3894,11 @@
int lynq_wifi_sta_start_scan(lynq_wifi_index_e idx)
{
+ if ( g_sta_conncet_status_flag != 0 )
+ {
+ RLOGD("current sta is connecting dest ap");
+ return -1;
+ }
const char *clean_last_re ="wpa_cli -iwpa_wlan0_cmd -p/var/run/ IFNAME=wlan0 bss_flush";
const char *lynq_scan_cmd = "SCAN";