}
+void p2p_set_dev_addr(struct p2p_data *p2p, const u8 *addr)
+{
+ if (p2p && addr)
+ os_memcpy(p2p->cfg->dev_addr, addr, ETH_ALEN);
+}
+
+
static void p2p_pairing_info_deinit(struct p2p_data *p2p)
{
#ifdef CONFIG_PASN
void p2p_set_comeback_after(struct p2p_data *p2p, int comeback_after);
void p2p_set_reg_info(struct p2p_data *p2p, u8 val);
void p2p_set_twt_power_mgmt(struct p2p_data *p2p, int val);
+void p2p_set_dev_addr(struct p2p_data *p2p, const u8 *addr);
int p2p_get_listen_freq(struct p2p_data *p2p, const u8 *peer_addr);
int p2p_initiate_pasn_auth(struct p2p_data *p2p, const u8 *addr, int freq);
}
#endif /* CONFIG_PASN */
+
+
+void wpas_p2p_update_dev_addr(struct wpa_supplicant *wpa_s)
+{
+ os_memcpy(wpa_s->global->p2p_dev_addr, wpa_s->own_addr, ETH_ALEN);
+ p2p_set_dev_addr(wpa_s->global->p2p, wpa_s->own_addr);
+}
int wpas_p2p_lo_stop(struct wpa_supplicant *wpa_s);
int wpas_p2p_mac_setup(struct wpa_supplicant *wpa_s);
struct wpabuf * wpas_p2p_usd_elems(struct wpa_supplicant *wpa_s);
+void wpas_p2p_update_dev_addr(struct wpa_supplicant *wpa_s);
int wpas_p2p_pasn_auth_rx(struct wpa_supplicant *wpa_s,
const struct ieee80211_mgmt *mgmt, size_t len,
int freq);
return NULL;
}
+static inline void wpas_p2p_update_dev_addr(struct wpa_supplicant *wpa_s)
+{
+}
+
#endif /* CONFIG_P2P */
#endif /* P2P_SUPPLICANT_H */
return -1;
}
+ wpas_p2p_update_dev_addr(wpa_s);
+
wpa_msg(wpa_s, MSG_DEBUG, "Using random MAC address " MACSTR,
MAC2STR(addr));
"Could not update MAC address information");
return -1;
}
+
+ wpas_p2p_update_dev_addr(wpa_s);
+
wpa_msg(wpa_s, MSG_DEBUG, "Using permanent MAC address");
return 0;
}