diff options
-rw-r--r-- | src/ap/ieee802_1x.c | 5 | ||||
-rw-r--r-- | src/drivers/driver_nl80211.c | 6 | ||||
-rw-r--r-- | wpa_supplicant/ctrl_iface_unix.c | 2 | ||||
-rw-r--r-- | wpa_supplicant/p2p_supplicant.c | 13 |
4 files changed, 20 insertions, 6 deletions
diff --git a/src/ap/ieee802_1x.c b/src/ap/ieee802_1x.c index dd0df1d..9bbd1ff 100644 --- a/src/ap/ieee802_1x.c +++ b/src/ap/ieee802_1x.c @@ -2193,7 +2193,12 @@ static void ieee802_1x_finished(struct hostapd_data *hapd, * 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 } } diff --git a/src/drivers/driver_nl80211.c b/src/drivers/driver_nl80211.c index e099a67..b9503f1 100644 --- a/src/drivers/driver_nl80211.c +++ b/src/drivers/driver_nl80211.c @@ -2566,9 +2566,8 @@ broken_combination: 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]) { @@ -2646,9 +2645,8 @@ static int wpa_driver_nl80211_capa(struct wpa_driver_nl80211_data *drv) 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; diff --git a/wpa_supplicant/ctrl_iface_unix.c b/wpa_supplicant/ctrl_iface_unix.c index 8dba46d..31600fc 100644 --- a/wpa_supplicant/ctrl_iface_unix.c +++ b/wpa_supplicant/ctrl_iface_unix.c @@ -184,8 +184,8 @@ static void wpa_supplicant_ctrl_iface_receive(int sock, void *eloop_ctx, 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); diff --git a/wpa_supplicant/p2p_supplicant.c b/wpa_supplicant/p2p_supplicant.c index f4df4b0..3dc633c 100644 --- a/wpa_supplicant/p2p_supplicant.c +++ b/wpa_supplicant/p2p_supplicant.c @@ -3004,7 +3004,17 @@ static void wpas_p2p_join_scan_req(struct wpa_supplicant *wpa_s, int freq) 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 */ @@ -4384,7 +4394,7 @@ static void wpas_p2p_set_group_idle_timeout(struct wpa_supplicant *wpa_s) "during provisioning"); return; } - +#ifndef ANDROID_P2P if (wpa_s->show_group_started) { /* * Use the normal group formation timeout between the end of @@ -4397,6 +4407,7 @@ static void wpas_p2p_set_group_idle_timeout(struct wpa_supplicant *wpa_s) "complete"); return; } +#endif wpa_printf(MSG_DEBUG, "P2P: Set P2P group idle timeout to %u seconds", timeout); |