int is_connected = 0;
static gint tdls_timer_id = 0;
int is_discover_broadcast = 0;
+int is_timer_expired = 0;
#define TDLS_DISCOVER_TIMOUT 4 /*TDLS Unicast Discovery Timeout*/
#define TDLS_DISCOVER_BROADCAST_TIMOUT 8 /*TDLS Broadcast Discovery Timeout*/
__netconfig_wifi_notify_tdls_discover_event("00:00:00:00:00:00", is_discover_broadcast);
is_discover_broadcast = 0;
stop_tdls_timer();
+ is_timer_expired = 1;
+
return FALSE;
}
int discover_timeout = 0;
GVariant *message = NULL;
+
message = __netconfig_wifi_tdls_send_dbus_str("TDLSDiscover", (const char*)peer_mac_Addr);
if (message == NULL) {
discover_timeout = TDLS_DISCOVER_TIMOUT;
}
+ is_timer_expired = 0;
tdls_timer_id = g_timeout_add_seconds(discover_timeout,
_tdls_timer_discover_event, NULL);
void netconfig_wifi_tdls_peer_found_event(GVariant *message)
{
- DBG("WiFi TDLS Discovery EVENT");
+ DBG("WiFi TDLS Discovery EVENT Received !!");
const gchar *peer_mac_addr = NULL;
- g_variant_get(message, "(s)", &peer_mac_addr);
- INFO("Discover Peer Mac Address: [%s]", peer_mac_addr);
+ if (!is_timer_expired) {
+ g_variant_get(message, "(s)", &peer_mac_addr);
+ INFO("Discover Peer Mac Address: [%s]", peer_mac_addr);
- if (is_discover_broadcast == 0)
- stop_tdls_timer();
+ if (is_discover_broadcast == 0)
+ stop_tdls_timer();
- __netconfig_wifi_notify_tdls_discover_event(peer_mac_addr, is_discover_broadcast);
+ __netconfig_wifi_notify_tdls_discover_event(peer_mac_addr, is_discover_broadcast);
+ } else
+ DBG("Timer expired: Do not process the TDLS Discovery Event");
}