Set CONNECTED state back when Device is GC and discovery is stopped 44/262444/1
authorRahul Jain <rahul.jain@samsung.com>
Wed, 11 Aug 2021 04:53:40 +0000 (10:23 +0530)
committerRahul Jain <rahul.jain@samsung.com>
Wed, 11 Aug 2021 04:53:40 +0000 (10:23 +0530)
Change-Id: I9400b751fea929055f807e8ddd1a689c1f5228d4

src/wifi-direct-event.c
src/wifi-direct-manager.c
src/wifi-direct-session.c

index 53cb24c..bbd9645 100755 (executable)
@@ -58,6 +58,9 @@ static void _wfd_event_reset_state(wfd_manager_s *manager)
        if (manager->local->dev_role == WFD_DEV_ROLE_GO) {
                wfd_state_set(manager, WIFI_DIRECT_STATE_GROUP_OWNER);
                wfd_util_set_wifi_direct_state(WIFI_DIRECT_STATE_GROUP_OWNER);
+       } else if (manager->local->dev_role == WFD_DEV_ROLE_GC) {
+               wfd_state_set(manager, WIFI_DIRECT_STATE_CONNECTED);
+               wfd_util_set_wifi_direct_state(WIFI_DIRECT_STATE_CONNECTED);
        } else {
                wfd_state_set(manager, WIFI_DIRECT_STATE_ACTIVATED);
                wfd_util_set_wifi_direct_state(WIFI_DIRECT_STATE_ACTIVATED);
index 497b536..a9042dd 100644 (file)
@@ -1745,6 +1745,9 @@ int wfd_manager_cancel_discovery(wfd_manager_s *manager)
        if (manager->local->dev_role == WFD_DEV_ROLE_GO) {
                wfd_state_set(manager, WIFI_DIRECT_STATE_GROUP_OWNER);
                wfd_util_set_wifi_direct_state(WIFI_DIRECT_STATE_GROUP_OWNER);
+       } else if (manager->local->dev_role == WFD_DEV_ROLE_GC) {
+               wfd_state_set(manager, WIFI_DIRECT_STATE_CONNECTED);
+               wfd_util_set_wifi_direct_state(WIFI_DIRECT_STATE_CONNECTED);
        } else {
                wfd_state_set(manager, WIFI_DIRECT_STATE_ACTIVATED);
                wfd_util_set_wifi_direct_state(WIFI_DIRECT_STATE_ACTIVATED);
index 6b294b7..52c046c 100644 (file)
@@ -295,8 +295,6 @@ int wfd_destroy_session(void *data)
        manager->local->wps_mode = WFD_WPS_MODE_PBC;
        manager->autoconnection = 0;
        memset(manager->auto_pin, 0x0, PINSTR_LEN);
-       if (manager->local->dev_role == WFD_DEV_ROLE_GC)
-               manager->local->dev_role = WFD_DEV_ROLE_NONE;
 
        __WDS_LOG_FUNC_EXIT__;//LCOV_EXCL_LINE
        return 0;