memcpy(peer->intf_addr, edata->bssid, MACADDR_LEN);
wfd_update_peer_time(manager, event->dev_addr);
- session = wfd_create_session(manager, event->dev_addr,
- manager->req_wps_mode, SESSION_DIRECTION_INCOMING);
+ if (edata->go_dev_addr)
+ session = wfd_create_session(manager, edata->go_dev_addr,
+ manager->req_wps_mode,
+ SESSION_DIRECTION_INCOMING);
+ else
+ session = wfd_create_session(manager, event->dev_addr,
+ manager->req_wps_mode,
+ SESSION_DIRECTION_INCOMING);
if (!session) {
WDS_LOGE("Failed to create session");
__WDS_LOG_FUNC_EXIT__;
return;
}
- g_snprintf(peer_mac_address, MACSTR_LEN, MACSTR, MAC2STR(event->dev_addr));
+ if (edata->go_dev_addr)
+ g_snprintf(peer_mac_address, MACSTR_LEN, MACSTR,
+ MAC2STR(edata->go_dev_addr));
+ else
+ g_snprintf(peer_mac_address, MACSTR_LEN, MACSTR,
+ MAC2STR(event->dev_addr));
+
wfd_manager_dbus_emit_signal(WFD_MANAGER_MANAGE_INTERFACE,
"Connection",
g_variant_new("(iis)", WIFI_DIRECT_ERROR_NONE,