P2P: Simplify code in wpas_p2p_connect()
There's some duplicated code there that can be simplified with just a single new variable. Signed-hostap: Johannes Berg <johannes.berg@intel.com>
This commit is contained in:
parent
98ac6763ff
commit
6cad95db72
1 changed files with 20 additions and 29 deletions
|
@ -2670,6 +2670,7 @@ int wpas_p2p_connect(struct wpa_supplicant *wpa_s, const u8 *peer_addr,
|
|||
u8 bssid[ETH_ALEN];
|
||||
int ret = 0;
|
||||
enum wpa_driver_if_type iftype;
|
||||
const u8 *if_addr;
|
||||
|
||||
if (wpa_s->global->p2p_disabled || wpa_s->global->p2p == NULL)
|
||||
return -1;
|
||||
|
@ -2765,44 +2766,34 @@ int wpas_p2p_connect(struct wpa_supplicant *wpa_s, const u8 *peer_addr,
|
|||
|
||||
wpa_s->create_p2p_iface = wpas_p2p_create_iface(wpa_s);
|
||||
|
||||
if (!wpa_s->create_p2p_iface) {
|
||||
if (auth) {
|
||||
if (wpas_p2p_auth_go_neg(wpa_s, peer_addr, wps_method,
|
||||
go_intent, wpa_s->own_addr,
|
||||
force_freq, persistent_group)
|
||||
< 0)
|
||||
return -1;
|
||||
return ret;
|
||||
}
|
||||
if (wpas_p2p_start_go_neg(wpa_s, peer_addr, wps_method,
|
||||
go_intent, wpa_s->own_addr,
|
||||
force_freq, persistent_group) < 0)
|
||||
if (wpa_s->create_p2p_iface) {
|
||||
/* Prepare to add a new interface for the group */
|
||||
iftype = WPA_IF_P2P_GROUP;
|
||||
if (go_intent == 15)
|
||||
iftype = WPA_IF_P2P_GO;
|
||||
if (wpas_p2p_add_group_interface(wpa_s, iftype) < 0) {
|
||||
wpa_printf(MSG_ERROR, "P2P: Failed to allocate a new "
|
||||
"interface for the group");
|
||||
return -1;
|
||||
return ret;
|
||||
}
|
||||
}
|
||||
|
||||
/* Prepare to add a new interface for the group */
|
||||
iftype = WPA_IF_P2P_GROUP;
|
||||
if (go_intent == 15)
|
||||
iftype = WPA_IF_P2P_GO;
|
||||
if (wpas_p2p_add_group_interface(wpa_s, iftype) < 0) {
|
||||
wpa_printf(MSG_ERROR, "P2P: Failed to allocate a new "
|
||||
"interface for the group");
|
||||
return -1;
|
||||
}
|
||||
if_addr = wpa_s->pending_interface_addr;
|
||||
} else
|
||||
if_addr = wpa_s->own_addr;
|
||||
|
||||
if (auth) {
|
||||
if (wpas_p2p_auth_go_neg(wpa_s, peer_addr, wps_method,
|
||||
go_intent,
|
||||
wpa_s->pending_interface_addr,
|
||||
go_intent, if_addr,
|
||||
force_freq, persistent_group) < 0)
|
||||
return -1;
|
||||
return ret;
|
||||
}
|
||||
if (wpas_p2p_start_go_neg(wpa_s, peer_addr, wps_method, go_intent,
|
||||
wpa_s->pending_interface_addr,
|
||||
force_freq, persistent_group) < 0) {
|
||||
wpas_p2p_remove_pending_group_interface(wpa_s);
|
||||
|
||||
if (wpas_p2p_start_go_neg(wpa_s, peer_addr, wps_method,
|
||||
go_intent, if_addr, force_freq,
|
||||
persistent_group) < 0) {
|
||||
if (wpa_s->create_p2p_iface)
|
||||
wpas_p2p_remove_pending_group_interface(wpa_s);
|
||||
return -1;
|
||||
}
|
||||
return ret;
|
||||
|
|
Loading…
Reference in a new issue