P2P: Do not add ctrl interface for P2P_DEVICE (p2p-dev-*)
Adding a new wpa_supplicant control interface for the dedicated P2P_DEVICE would be quite confusing for programs that manage P2P operations. Remove this control interface and require the global control interface to be used since it will provide consistent interface for both the new dedicated P2P_DEVICE (non-netdev) and old style P2P management through a netdev. Signed-hostap: Jouni Malinen <j@w1.fi>
This commit is contained in:
parent
441d6d23b2
commit
78f79fe5fc
2 changed files with 13 additions and 2 deletions
|
@ -1092,7 +1092,13 @@ wpas_p2p_init_group_interface(struct wpa_supplicant *wpa_s, int go)
|
|||
os_memset(&iface, 0, sizeof(iface));
|
||||
iface.ifname = wpa_s->pending_interface_name;
|
||||
iface.driver = wpa_s->driver->name;
|
||||
iface.ctrl_interface = wpa_s->conf->ctrl_interface;
|
||||
if (wpa_s->conf->ctrl_interface == NULL &&
|
||||
wpa_s->parent != wpa_s &&
|
||||
wpa_s->p2p_mgmt &&
|
||||
(wpa_s->drv_flags & WPA_DRIVER_FLAGS_DEDICATED_P2P_DEVICE))
|
||||
iface.ctrl_interface = wpa_s->parent->conf->ctrl_interface;
|
||||
else
|
||||
iface.ctrl_interface = wpa_s->conf->ctrl_interface;
|
||||
iface.driver_param = wpa_s->conf->driver_param;
|
||||
group_wpa_s = wpa_supplicant_add_iface(wpa_s->global, &iface);
|
||||
if (group_wpa_s == NULL) {
|
||||
|
@ -3015,7 +3021,6 @@ int wpas_p2p_add_p2pdev_interface(struct wpa_supplicant *wpa_s)
|
|||
iface.p2p_mgmt = 1;
|
||||
iface.ifname = wpa_s->pending_interface_name;
|
||||
iface.driver = wpa_s->driver->name;
|
||||
iface.ctrl_interface = wpa_s->conf->ctrl_interface;
|
||||
iface.driver_param = wpa_s->conf->driver_param;
|
||||
iface.confname = wpa_s->confname;
|
||||
p2pdev_wpa_s = wpa_supplicant_add_iface(wpa_s->global, &iface);
|
||||
|
@ -3023,6 +3028,7 @@ int wpas_p2p_add_p2pdev_interface(struct wpa_supplicant *wpa_s)
|
|||
wpa_printf(MSG_DEBUG, "P2P: Failed to add P2P Device interface");
|
||||
return -1;
|
||||
}
|
||||
p2pdev_wpa_s->parent = wpa_s;
|
||||
|
||||
wpa_s->pending_interface_name[0] = '\0';
|
||||
return 0;
|
||||
|
|
|
@ -2838,6 +2838,11 @@ static int wpa_supplicant_init_iface(struct wpa_supplicant *wpa_s,
|
|||
wpa_s->conf->driver_param =
|
||||
os_strdup(iface->driver_param);
|
||||
}
|
||||
|
||||
if (iface->p2p_mgmt && !iface->ctrl_interface) {
|
||||
os_free(wpa_s->conf->ctrl_interface);
|
||||
wpa_s->conf->ctrl_interface = NULL;
|
||||
}
|
||||
} else
|
||||
wpa_s->conf = wpa_config_alloc_empty(iface->ctrl_interface,
|
||||
iface->driver_param);
|
||||
|
|
Loading…
Reference in a new issue