diff options
author | Xin Li <delphij@google.com> | 2022-02-11 06:57:34 +0000 |
---|---|---|
committer | Xin Li <delphij@google.com> | 2022-02-11 06:57:34 +0000 |
commit | 2c24f4a322e7ecc617781ff63714cc717b75ba01 (patch) | |
tree | c850c28edd5f546d66f5ceb6aa4d403f6dfad3b7 | |
parent | 03d8601ae64fbb77d07f2dcd8bf23c893ecdfd7f (diff) | |
parent | 9ca612f2946e327ddf2b9855e73425a8a1ee8c4c (diff) | |
download | wpa_supplicant_8-2c24f4a322e7ecc617781ff63714cc717b75ba01.tar.gz |
Merge sc-v2-dev-plus-aosp-without-vendor@8084891
Bug: 214455710
Merged-In: Id9937724a397d74c070a0b176c5ec0c18b71c9d1
Change-Id: I449466c496fca1fefe77d8669f36fce573c37bde
-rw-r--r-- | hostapd/hidl/1.3/hostapd.cpp | 10 | ||||
-rw-r--r-- | src/ap/drv_callbacks.c | 3 | ||||
-rw-r--r-- | wpa_supplicant/hidl/1.4/supplicant.cpp | 4 | ||||
-rw-r--r-- | wpa_supplicant/hidl/1.4/supplicant.h | 1 |
4 files changed, 17 insertions, 1 deletions
diff --git a/hostapd/hidl/1.3/hostapd.cpp b/hostapd/hidl/1.3/hostapd.cpp index f9d26474..72efd3fe 100644 --- a/hostapd/hidl/1.3/hostapd.cpp +++ b/hostapd/hidl/1.3/hostapd.cpp @@ -919,7 +919,15 @@ V1_2::HostapdStatus Hostapd::addSingleAccessPoint( iface_hapd->own_addr); } } - }; + else if (os_strncmp(txt, AP_EVENT_DISABLED, + strlen(AP_EVENT_DISABLED)) == 0) { + // Invoke the failure callback on all registered clients. + for (const auto& callback : callbacks_) { + callback->onFailure(strlen(iface_hapd->conf->bridge) > 0 ? + iface_hapd->conf->bridge : iface_hapd->conf->iface); + } + } + }; // Setup callback iface_hapd->setup_complete_cb = onAsyncSetupCompleteCb; diff --git a/src/ap/drv_callbacks.c b/src/ap/drv_callbacks.c index 53082f53..de517729 100644 --- a/src/ap/drv_callbacks.c +++ b/src/ap/drv_callbacks.c @@ -1673,6 +1673,9 @@ static void hostapd_event_iface_unavailable(struct hostapd_data *hapd) hostapd_switch_channel_fallback(hapd->iface, &hapd->cs_freq_params); } + + // inform framework that interface is unavailable + hostapd_disable_iface(hapd->iface); } diff --git a/wpa_supplicant/hidl/1.4/supplicant.cpp b/wpa_supplicant/hidl/1.4/supplicant.cpp index a65b70e7..d8b18bba 100644 --- a/wpa_supplicant/hidl/1.4/supplicant.cpp +++ b/wpa_supplicant/hidl/1.4/supplicant.cpp @@ -365,6 +365,10 @@ Supplicant::addInterfaceInternal(const IfaceInfo& iface_info) if (!wpa_s) { return {{SupplicantStatusCode::FAILURE_UNKNOWN, ""}, {}}; } + //Request the current scan results from the driver and updates + //the local BSS list wpa_s->bss. This is to avoid a full scan + //while processing the connect request on newly created interface. + wpa_supplicant_update_scan_results(wpa_s); } // The supplicant core creates a corresponding hidl object via // HidlManager when |wpa_supplicant_add_iface| is called. diff --git a/wpa_supplicant/hidl/1.4/supplicant.h b/wpa_supplicant/hidl/1.4/supplicant.h index 2944c50b..c2b172c5 100644 --- a/wpa_supplicant/hidl/1.4/supplicant.h +++ b/wpa_supplicant/hidl/1.4/supplicant.h @@ -23,6 +23,7 @@ extern "C" #include "utils/includes.h" #include "utils/wpa_debug.h" #include "wpa_supplicant_i.h" +#include "scan.h" } namespace android { |