aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTreeHugger Robot <treehugger-gerrit@google.com>2017-04-01 02:34:53 +0000
committerAndroid (Google) Code Review <android-gerrit@google.com>2017-04-01 02:34:54 +0000
commit1118034c1c7435138d13f20d232c84ec7bc13c8f (patch)
tree6c4e56092a3916792ea3d7d3c0fc725dfb048386
parenta4f38dba0146b8057c2a403991e099e0ad4ed62d (diff)
parent73d28fd8e60d757c8f648bae6f884fc799a077c1 (diff)
downloadwpa_supplicant_8-1118034c1c7435138d13f20d232c84ec7bc13c8f.tar.gz
Merge "wpa_supplicant(hidl): Invoke onDeviceFound for all cases" into oc-dev
-rw-r--r--wpa_supplicant/hidl/hidl.cpp2
-rw-r--r--wpa_supplicant/hidl/hidl_manager.cpp19
2 files changed, 14 insertions, 7 deletions
diff --git a/wpa_supplicant/hidl/hidl.cpp b/wpa_supplicant/hidl/hidl.cpp
index 753c87b2..3acc7e24 100644
--- a/wpa_supplicant/hidl/hidl.cpp
+++ b/wpa_supplicant/hidl/hidl.cpp
@@ -370,7 +370,7 @@ void wpas_hidl_notify_p2p_device_found(
const struct p2p_peer_info *info, const u8 *peer_wfd_device_info,
u8 peer_wfd_device_info_len)
{
- if (!wpa_s || !addr || !info || !peer_wfd_device_info)
+ if (!wpa_s || !addr || !info)
return;
wpa_printf(
diff --git a/wpa_supplicant/hidl/hidl_manager.cpp b/wpa_supplicant/hidl/hidl_manager.cpp
index a6749e8f..a2eb101b 100644
--- a/wpa_supplicant/hidl/hidl_manager.cpp
+++ b/wpa_supplicant/hidl/hidl_manager.cpp
@@ -1058,17 +1058,24 @@ void HidlManager::notifyP2pDeviceFound(
const struct p2p_peer_info *info, const u8 *peer_wfd_device_info,
u8 peer_wfd_device_info_len)
{
- if (!wpa_s || !addr || !info || !peer_wfd_device_info)
+ if (!wpa_s || !addr || !info)
return;
if (p2p_iface_object_map_.find(wpa_s->ifname) ==
p2p_iface_object_map_.end())
return;
- if (peer_wfd_device_info_len != kWfdDeviceInfoLen) {
- wpa_printf(
- MSG_ERROR, "Unexpected WFD device info len: %d",
- peer_wfd_device_info_len);
+ std::array<uint8_t, kWfdDeviceInfoLen> hidl_peer_wfd_device_info{};
+ if (peer_wfd_device_info) {
+ if (peer_wfd_device_info_len != kWfdDeviceInfoLen) {
+ wpa_printf(
+ MSG_ERROR, "Unexpected WFD device info len: %d",
+ peer_wfd_device_info_len);
+ } else {
+ os_memcpy(
+ hidl_peer_wfd_device_info.data(),
+ peer_wfd_device_info, kWfdDeviceInfoLen);
+ }
}
callWithEachP2pIfaceCallback(
@@ -1077,7 +1084,7 @@ void HidlManager::notifyP2pDeviceFound(
&ISupplicantP2pIfaceCallback::onDeviceFound,
std::placeholders::_1, addr, info->p2p_device_addr,
info->pri_dev_type, info->device_name, info->config_methods,
- info->dev_capab, info->group_capab, peer_wfd_device_info));
+ info->dev_capab, info->group_capab, hidl_peer_wfd_device_info));
}
void HidlManager::notifyP2pDeviceLost(