wifi: Check return value of hostapd AIDL callback
Check the return status of hostapd AIDL callback and
log error message when the callback fails.
Change-Id: Ic474252cf45e1c030271bd47674b1c2646e6b2a0
Bug: 330246715
Test: Manual - SoftAp ON/OFF
diff --git a/hostapd/aidl/hostapd.cpp b/hostapd/aidl/hostapd.cpp
index e060e06..afb4147 100644
--- a/hostapd/aidl/hostapd.cpp
+++ b/hostapd/aidl/hostapd.cpp
@@ -1108,9 +1108,13 @@
// Invoke the failure callback on all registered
// clients.
for (const auto& callback : callbacks_) {
- callback->onFailure(strlen(iface_hapd->conf->bridge) > 0 ?
+ auto status = callback->onFailure(
+ strlen(iface_hapd->conf->bridge) > 0 ?
iface_hapd->conf->bridge : iface_hapd->conf->iface,
iface_hapd->conf->iface);
+ if (!status.isOk()) {
+ wpa_printf(MSG_ERROR, "Failed to invoke onFailure");
+ }
}
}
};
@@ -1129,7 +1133,10 @@
info.clientAddress.assign(mac_addr, mac_addr + ETH_ALEN);
info.isConnected = authorized;
for (const auto &callback : callbacks_) {
- callback->onConnectedClientsChanged(info);
+ auto status = callback->onConnectedClientsChanged(info);
+ if (!status.isOk()) {
+ wpa_printf(MSG_ERROR, "Failed to invoke onConnectedClientsChanged");
+ }
}
};
@@ -1153,16 +1160,23 @@
info.apIfaceInstanceMacAddress.assign(iface_hapd->own_addr,
iface_hapd->own_addr + ETH_ALEN);
for (const auto &callback : callbacks_) {
- callback->onApInstanceInfoChanged(info);
+ auto status = callback->onApInstanceInfoChanged(info);
+ if (!status.isOk()) {
+ wpa_printf(MSG_ERROR,
+ "Failed to invoke onApInstanceInfoChanged");
+ }
}
} else if (os_strncmp(txt, AP_EVENT_DISABLED, strlen(AP_EVENT_DISABLED)) == 0
|| os_strncmp(txt, INTERFACE_DISABLED, strlen(INTERFACE_DISABLED)) == 0)
{
// Invoke the failure callback on all registered clients.
for (const auto& callback : callbacks_) {
- callback->onFailure(strlen(iface_hapd->conf->bridge) > 0 ?
+ auto status = callback->onFailure(strlen(iface_hapd->conf->bridge) > 0 ?
iface_hapd->conf->bridge : iface_hapd->conf->iface,
iface_hapd->conf->iface);
+ if (!status.isOk()) {
+ wpa_printf(MSG_ERROR, "Failed to invoke onFailure");
+ }
}
}
};