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 */
}
}
-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;
* 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;
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,
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;
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.
#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
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;