commit | 066e7b61f76778a4d3472ba92e8dc61be83890c1 | [log] [tgz] |
---|---|---|
author | Yu Ouyang <yuo@codeaurora.org> | Mon Nov 15 21:01:26 2021 +0000 |
committer | Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com> | Mon Nov 15 21:01:26 2021 +0000 |
tree | 55606e55e46d8146224bff6357929f3c23cb4717 | |
parent | ba287c1aad806757ce1000150fc9b7bb19129b6c [diff] | |
parent | 3ce898c8242b5a4d7b915c1cf3a479b9b6b1058b [diff] |
wifi: Inform framework HAPD_IFACE_DISABLED when AP iface unavailable am: 3ce898c824 Original change: https://googleplex-android-review.googlesource.com/c/platform/external/wpa_supplicant_8/+/16008406 Change-Id: I1358ebea6c50f6ac30d0d1dc84f1692e3a76d3b9
diff --git a/hostapd/hidl/1.3/hostapd.cpp b/hostapd/hidl/1.3/hostapd.cpp index f9d2647..72efd3f 100644 --- a/hostapd/hidl/1.3/hostapd.cpp +++ b/hostapd/hidl/1.3/hostapd.cpp
@@ -919,7 +919,15 @@ 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 53082f5..de51772 100644 --- a/src/ap/drv_callbacks.c +++ b/src/ap/drv_callbacks.c
@@ -1673,6 +1673,9 @@ hostapd_switch_channel_fallback(hapd->iface, &hapd->cs_freq_params); } + + // inform framework that interface is unavailable + hostapd_disable_iface(hapd->iface); }