Ignoring unexpected disconnection event from supplicant when no peer connected and... 87/56287/1
authorNishant Chaprana <n.chaprana@samsung.com>
Wed, 6 Jan 2016 04:52:48 +0000 (10:22 +0530)
committerNishant Chaprana <n.chaprana@samsung.com>
Wed, 6 Jan 2016 04:52:48 +0000 (10:22 +0530)
Change-Id: I8aa6be4175aa401c2d2a4d6c9d68ffdb220d9a16
Signed-off-by: Nishant Chaprana <n.chaprana@samsung.com>
packaging/wifi-direct-manager.spec
src/wifi-direct-event.c

index fc724b6..7fcb844 100755 (executable)
@@ -1,6 +1,6 @@
 Name:          wifi-direct-manager
 Summary:       Wi-Fi Direct manger
-Version:       1.2.112
+Version:       1.2.113
 Release:       1
 Group:      Network & Connectivity/Wireless
 License:    Apache-2.0
index 0c58ebc..6ac4aee 100644 (file)
@@ -1126,6 +1126,21 @@ static int _wfd_event_update_peer(wfd_manager_s *manager, wfd_oem_dev_data_s *da
                        __WDS_LOG_FUNC_EXIT__;
                        return;
                }
+
+#ifdef CTRL_IFACE_DBUS
+               /**
+                * If no peer connected and
+                * disconnected event is not for connecting peer
+                * then event should be ignored.
+                * This situation can arrise when TV is GO and
+                * some connected peer sent disassociation.
+                */
+               if (memcmp(peer_addr, event->dev_addr, MACADDR_LEN)) {
+                       WDS_LOGE("Unexpected event, Ignore it...");
+                       __WDS_LOG_FUNC_EXIT__;
+                       return;
+               }
+#endif /* CTRL_DBUS_IFACE */
        }
        memcpy(peer_addr, peer->dev_addr, MACADDR_LEN);
        memset(&noti, 0x0, sizeof(wifi_direct_client_noti_s));