diff --git a/wpa_supplicant/main.c b/wpa_supplicant/main.c index d2e839dcf..e59646845 100644 --- a/wpa_supplicant/main.c +++ b/wpa_supplicant/main.c @@ -331,7 +331,8 @@ int main(int argc, char *argv[]) if (wpa_s->global->p2p == NULL && (wpa_s->drv_flags & WPA_DRIVER_FLAGS_DEDICATED_P2P_DEVICE) && - wpas_p2p_add_p2pdev_interface(wpa_s) < 0) + wpas_p2p_add_p2pdev_interface(wpa_s, iface->conf_p2p_dev) < + 0) exitcode = -1; #endif /* CONFIG_P2P */ } diff --git a/wpa_supplicant/p2p_supplicant.c b/wpa_supplicant/p2p_supplicant.c index 1189a6d4b..70a638293 100644 --- a/wpa_supplicant/p2p_supplicant.c +++ b/wpa_supplicant/p2p_supplicant.c @@ -3786,7 +3786,8 @@ static void wpas_p2p_debug_print(void *ctx, int level, const char *msg) } -int wpas_p2p_add_p2pdev_interface(struct wpa_supplicant *wpa_s) +int wpas_p2p_add_p2pdev_interface(struct wpa_supplicant *wpa_s, + const char *conf_p2p_dev) { struct wpa_interface iface; struct wpa_supplicant *p2pdev_wpa_s; @@ -3817,8 +3818,8 @@ int wpas_p2p_add_p2pdev_interface(struct wpa_supplicant *wpa_s) * If a P2P Device configuration file was given, use it as the interface * configuration file (instead of using parent's configuration file. */ - if (wpa_s->conf_p2p_dev) { - iface.confname = wpa_s->conf_p2p_dev; + if (conf_p2p_dev) { + iface.confname = conf_p2p_dev; iface.ctrl_interface = NULL; } else { iface.confname = wpa_s->confname; diff --git a/wpa_supplicant/p2p_supplicant.h b/wpa_supplicant/p2p_supplicant.h index 841d6df88..b61d57ff5 100644 --- a/wpa_supplicant/p2p_supplicant.h +++ b/wpa_supplicant/p2p_supplicant.h @@ -16,7 +16,8 @@ struct p2p_peer_info; struct p2p_channels; struct wps_event_fail; -int wpas_p2p_add_p2pdev_interface(struct wpa_supplicant *wpa_s); +int wpas_p2p_add_p2pdev_interface(struct wpa_supplicant *wpa_s, + const char *conf_p2p_dev); struct wpa_supplicant * wpas_get_p2p_go_iface(struct wpa_supplicant *wpa_s, const u8 *ssid, size_t ssid_len); struct wpa_supplicant * wpas_get_p2p_client_iface(struct wpa_supplicant *wpa_s, diff --git a/wpa_supplicant/wpa_supplicant.c b/wpa_supplicant/wpa_supplicant.c index 3f60d2ba8..30d554041 100644 --- a/wpa_supplicant/wpa_supplicant.c +++ b/wpa_supplicant/wpa_supplicant.c @@ -403,11 +403,6 @@ static void wpa_supplicant_cleanup(struct wpa_supplicant *wpa_s) os_free(wpa_s->confanother); wpa_s->confanother = NULL; -#ifdef CONFIG_P2P - os_free(wpa_s->conf_p2p_dev); - wpa_s->conf_p2p_dev = NULL; -#endif /* CONFIG_P2P */ - wpa_sm_set_eapol(wpa_s->wpa, NULL); eapol_sm_deinit(wpa_s->eapol); wpa_s->eapol = NULL; @@ -3653,11 +3648,6 @@ static int wpa_supplicant_init_iface(struct wpa_supplicant *wpa_s, wpa_s->confanother = os_rel2abs_path(iface->confanother); wpa_config_read(wpa_s->confanother, wpa_s->conf); -#ifdef CONFIG_P2P - wpa_s->conf_p2p_dev = os_rel2abs_path(iface->conf_p2p_dev); - wpa_config_read(wpa_s->conf_p2p_dev, wpa_s->conf); -#endif /* CONFIG_P2P */ - /* * Override ctrl_interface and driver_param if set on command * line. diff --git a/wpa_supplicant/wpa_supplicant_i.h b/wpa_supplicant/wpa_supplicant_i.h index f94192394..f375486c6 100644 --- a/wpa_supplicant/wpa_supplicant_i.h +++ b/wpa_supplicant/wpa_supplicant_i.h @@ -67,7 +67,7 @@ struct wpa_interface { #ifdef CONFIG_P2P /** - * conf_p2p_dev - Additional configuration file used to hold the + * conf_p2p_dev - Configuration file used to hold the * P2P Device configuration parameters. * * This can also be %NULL. In such a case, if a P2P Device dedicated @@ -408,10 +408,6 @@ struct wpa_supplicant { char *confname; char *confanother; -#ifdef CONFIG_P2P - char *conf_p2p_dev; -#endif /* CONFIG_P2P */ - struct wpa_config *conf; int countermeasures; struct os_reltime last_michael_mic_error;