[[OSBNB00182981][RDKB]enable/disable WPS,  WPS clients are not able to connect]

[Description]
refine wps handler in wifi_createVAP.
if wps_state change, hostapd_allif_restart is needed.

[Release-log]

diff --git a/src/logan_wifi/wifi_hal.c b/src/logan_wifi/wifi_hal.c
index 16dc7bb..398aed3 100644
--- a/src/logan_wifi/wifi_hal.c
+++ b/src/logan_wifi/wifi_hal.c
@@ -22535,6 +22535,7 @@
 	char bridge_name[WIFI_BRIDGE_NAME_LEN] = {0};
 	unsigned char hostapd_if_restart = 0, hostapd_allif_restart = 0;
 	struct params params[1];
+	BOOL enableWps = FALSE;
 
 	WIFI_ENTRY_EXIT_DEBUG("Inside %s:%d\n",__func__, __LINE__);
 	wifi_debug(DEBUG_OFF, "Entering %s radio[%d], map->num_vaps = %d\n", __func__, (int)index, map->num_vaps);
@@ -22620,9 +22621,15 @@
 			wifi_debug(DEBUG_ERROR, "wifi_setApSecurity return error\n");
 		}
 
-		ret = wifi_setApWpsEnable(vap_info->vap_index, vap_info->u.bss_info.wps.enable);
-		if (ret != RETURN_OK) {
-			wifi_debug(DEBUG_ERROR, "wifi_setApWpsEnable return error\n");
+		wifi_getApWpsEnable(vap_info->vap_index, &enableWps);
+		if (enableWps != vap_info->u.bss_info.wps.enable) {
+			if (wifi_setApWpsEnable(vap_info->vap_index, vap_info->u.bss_info.wps.enable) == RETURN_OK) {
+				if (!is_main_vap_index(vap_info->vap_index))
+					hostapd_if_restart = 1;
+				else
+					hostapd_allif_restart = 1;
+			} else
+				wifi_debug(DEBUG_ERROR, "wifi_setApWpsEnable return error\n");
 		}
 
 		if (vap_info->u.bss_info.enabled == TRUE) {