* driver reorder operations.
*/
os_sleep(0, 10000);
+#ifndef ANDROID_P2P
+ /* We need not do this for driver. For AP-SME flags if we send this disassoc,
+ * the p2p_client is gettig disassoc after it has completed the assoc
+ */
ap_sta_disconnect(hapd, sta, sta->addr,
WLAN_REASON_IEEE_802_1X_AUTH_FAILED);
+#endif
}
}
WPA_DRIVER_FLAGS_TDLS_EXTERNAL_SETUP;
}
}
-#ifndef ANDROID_P2P
+
if (tb[NL80211_ATTR_DEVICE_AP_SME])
-#endif
info->device_ap_sme = 1;
if (tb[NL80211_ATTR_FEATURE_FLAGS]) {
drv->capa.flags |= WPA_DRIVER_FLAGS_SANE_ERROR_CODES;
drv->capa.flags |= WPA_DRIVER_FLAGS_SET_KEYS_AFTER_ASSOC_DONE;
drv->capa.flags |= WPA_DRIVER_FLAGS_EAPOL_TX_STATUS;
-#ifndef ANDROID_P2P
+
if (!info.device_ap_sme)
-#endif
drv->capa.flags |= WPA_DRIVER_FLAGS_DEAUTH_TX_STATUS;
drv->device_ap_sme = info.device_ap_sme;
wpa_s = eloop_ctx;
}
os_memmove(ifname, ifend, strlen(ifend) + 1);
- wpa_printf(MSG_DEBUG, "wpa_s %p cmd %s", wpa_s, buf);
}
+ wpa_printf(MSG_INFO, "wpa_s %p cmd %s", wpa_s, buf);
#endif /* defined CONFIG_P2P && defined ANDROID_P2P */
reply = wpa_supplicant_ctrl_iface_process(wpa_s, buf,
&reply_len);
struct wpabuf *wps_ie, *ies;
size_t ielen;
int freqs[2] = { 0, 0 };
+#ifdef ANDROID_P2P
+ int oper_freq;
+ /* If freq is not provided, check the operating freq of the GO and do a
+ * a directed scan to save time
+ */
+ if(!freq) {
+ freq = (oper_freq = p2p_get_oper_freq(wpa_s->global->p2p,
+ wpa_s->pending_join_iface_addr) == -1) ? 0 : oper_freq;
+ }
+#endif
os_memset(¶ms, 0, sizeof(params));
/* P2P Wildcard SSID */
"during provisioning");
return;
}
-
+#ifndef ANDROID_P2P
if (wpa_s->show_group_started) {
/*
* Use the normal group formation timeout between the end of
"complete");
return;
}
+#endif
wpa_printf(MSG_DEBUG, "P2P: Set P2P group idle timeout to %u seconds",
timeout);