From d2404c28dc884e3ab2e6601228cb10223fcbacd0 Mon Sep 17 00:00:00 2001 From: Rahul Jain Date: Wed, 11 Aug 2021 10:23:40 +0530 Subject: [PATCH] Set CONNECTED state back when Device is GC and discovery is stopped Change-Id: I9400b751fea929055f807e8ddd1a689c1f5228d4 --- src/wifi-direct-event.c | 3 +++ src/wifi-direct-manager.c | 3 +++ src/wifi-direct-session.c | 2 -- 3 files changed, 6 insertions(+), 2 deletions(-) diff --git a/src/wifi-direct-event.c b/src/wifi-direct-event.c index 53cb24c..bbd9645 100755 --- a/src/wifi-direct-event.c +++ b/src/wifi-direct-event.c @@ -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); diff --git a/src/wifi-direct-manager.c b/src/wifi-direct-manager.c index 497b536..a9042dd 100644 --- a/src/wifi-direct-manager.c +++ b/src/wifi-direct-manager.c @@ -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); diff --git a/src/wifi-direct-session.c b/src/wifi-direct-session.c index 6b294b7..52c046c 100644 --- a/src/wifi-direct-session.c +++ b/src/wifi-direct-session.c @@ -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; -- 2.7.4