From bd10d93891c3f8191b2e5c7d82ca227875cfe89d Mon Sep 17 00:00:00 2001 From: Jouni Malinen Date: Sun, 15 Jun 2014 19:31:53 +0300 Subject: [PATCH] P2P: Clean up by moving ifdef CONFIG_P2P to p2p_suppplicant.h This removes number of unnecessary #ifdef CONFIG_P2P blocks from generic code by hiding the conditional build into p2p_supplicant.h with empty inline functions. Signed-off-by: Jouni Malinen --- wpa_supplicant/ap.c | 12 +-- wpa_supplicant/events.c | 14 --- wpa_supplicant/notify.c | 4 - wpa_supplicant/p2p_supplicant.c | 25 ++++- wpa_supplicant/p2p_supplicant.h | 182 ++++++++++++++++++++++++++------ wpa_supplicant/scan.c | 2 - wpa_supplicant/wpa_supplicant.c | 23 +--- wpa_supplicant/wps_supplicant.c | 6 -- 8 files changed, 173 insertions(+), 95 deletions(-) diff --git a/wpa_supplicant/ap.c b/wpa_supplicant/ap.c index d10583b22..f9aa8078c 100644 --- a/wpa_supplicant/ap.c +++ b/wpa_supplicant/ap.c @@ -455,23 +455,17 @@ static int ap_probe_req_rx(void *ctx, const u8 *sa, const u8 *da, const u8 *bssid, const u8 *ie, size_t ie_len, int ssi_signal) { -#ifdef CONFIG_P2P struct wpa_supplicant *wpa_s = ctx; return wpas_p2p_probe_req_rx(wpa_s, sa, da, bssid, ie, ie_len, ssi_signal); -#else /* CONFIG_P2P */ - return 0; -#endif /* CONFIG_P2P */ } static void ap_wps_reg_success_cb(void *ctx, const u8 *mac_addr, const u8 *uuid_e) { -#ifdef CONFIG_P2P struct wpa_supplicant *wpa_s = ctx; wpas_p2p_wps_success(wpa_s, mac_addr, 1); -#endif /* CONFIG_P2P */ } @@ -668,11 +662,7 @@ void wpa_supplicant_ap_deinit(struct wpa_supplicant *wpa_s) wpa_s->current_ssid = NULL; eapol_sm_notify_config(wpa_s->eapol, NULL, NULL); wpa_s->assoc_freq = 0; -#ifdef CONFIG_P2P - if (wpa_s->ap_iface->bss) - wpa_s->ap_iface->bss[0]->p2p_group = NULL; - wpas_p2p_group_deinit(wpa_s); -#endif /* CONFIG_P2P */ + wpas_p2p_ap_deinit(wpa_s); wpa_s->ap_iface->driver_ap_teardown = !!(wpa_s->drv_flags & WPA_DRIVER_FLAGS_AP_TEARDOWN_SUPPORT); diff --git a/wpa_supplicant/events.c b/wpa_supplicant/events.c index 36293c7ad..eda40ecbc 100644 --- a/wpa_supplicant/events.c +++ b/wpa_supplicant/events.c @@ -2766,9 +2766,7 @@ static void wpa_supplicant_update_channel_list( wpa_s->hw.modes = wpa_drv_get_hw_feature_data( wpa_s, &wpa_s->hw.num_modes, &wpa_s->hw.flags); -#ifdef CONFIG_P2P wpas_p2p_update_channel_list(wpa_s); -#endif /* CONFIG_P2P */ /* * Check other interfaces to see if they share the same radio. If @@ -2864,10 +2862,8 @@ static void wpas_event_rx_mgmt_action(struct wpa_supplicant *wpa_s, } #endif /* CONFIG_INTERWORKING */ -#ifdef CONFIG_P2P wpas_p2p_rx_action(wpa_s, mgmt->da, mgmt->sa, mgmt->bssid, category, payload, plen, freq); -#endif /* CONFIG_P2P */ } @@ -3268,14 +3264,12 @@ void wpa_supplicant_event(void *ctx, enum wpa_event_type event, break; } #endif /* CONFIG_AP */ -#ifdef CONFIG_P2P wpas_p2p_probe_req_rx(wpa_s, data->rx_probe_req.sa, data->rx_probe_req.da, data->rx_probe_req.bssid, data->rx_probe_req.ie, data->rx_probe_req.ie_len, data->rx_probe_req.ssi_signal); -#endif /* CONFIG_P2P */ break; case EVENT_REMAIN_ON_CHANNEL: #ifdef CONFIG_OFFCHANNEL @@ -3283,21 +3277,17 @@ void wpa_supplicant_event(void *ctx, enum wpa_event_type event, wpa_s, data->remain_on_channel.freq, data->remain_on_channel.duration); #endif /* CONFIG_OFFCHANNEL */ -#ifdef CONFIG_P2P wpas_p2p_remain_on_channel_cb( wpa_s, data->remain_on_channel.freq, data->remain_on_channel.duration); -#endif /* CONFIG_P2P */ break; case EVENT_CANCEL_REMAIN_ON_CHANNEL: #ifdef CONFIG_OFFCHANNEL offchannel_cancel_remain_on_channel_cb( wpa_s, data->remain_on_channel.freq); #endif /* CONFIG_OFFCHANNEL */ -#ifdef CONFIG_P2P wpas_p2p_cancel_remain_on_channel_cb( wpa_s, data->remain_on_channel.freq); -#endif /* CONFIG_P2P */ break; case EVENT_EAPOL_RX: wpa_supplicant_rx_eapol(wpa_s, data->eapol_rx.src, @@ -3382,9 +3372,7 @@ void wpa_supplicant_event(void *ctx, enum wpa_event_type event, wpa_s, &data->channel_list_changed); break; case EVENT_INTERFACE_UNAVAILABLE: -#ifdef CONFIG_P2P wpas_p2p_interface_unavailable(wpa_s); -#endif /* CONFIG_P2P */ break; case EVENT_BEST_CHANNEL: wpa_dbg(wpa_s, MSG_DEBUG, "Best channel event received " @@ -3394,11 +3382,9 @@ void wpa_supplicant_event(void *ctx, enum wpa_event_type event, wpa_s->best_24_freq = data->best_chan.freq_24; wpa_s->best_5_freq = data->best_chan.freq_5; wpa_s->best_overall_freq = data->best_chan.freq_overall; -#ifdef CONFIG_P2P wpas_p2p_update_best_channels(wpa_s, data->best_chan.freq_24, data->best_chan.freq_5, data->best_chan.freq_overall); -#endif /* CONFIG_P2P */ break; case EVENT_UNPROT_DEAUTH: wpa_supplicant_event_unprot_deauth(wpa_s, diff --git a/wpa_supplicant/notify.c b/wpa_supplicant/notify.c index 2db1d5441..d096357c2 100644 --- a/wpa_supplicant/notify.c +++ b/wpa_supplicant/notify.c @@ -79,12 +79,10 @@ void wpas_notify_state_changed(struct wpa_supplicant *wpa_s, /* notify the new DBus API */ wpas_dbus_signal_prop_changed(wpa_s, WPAS_DBUS_PROP_STATE); -#ifdef CONFIG_P2P if (new_state == WPA_COMPLETED) wpas_p2p_notif_connected(wpa_s); else if (old_state >= WPA_ASSOCIATED && new_state < WPA_ASSOCIATED) wpas_p2p_notif_disconnected(wpa_s); -#endif /* CONFIG_P2P */ sme_state_changed(wpa_s); @@ -258,9 +256,7 @@ void wpas_notify_network_removed(struct wpa_supplicant *wpa_s, wpa_sm_pmksa_cache_flush(wpa_s->wpa, ssid); if (!ssid->p2p_group && wpa_s->global->p2p_group_formation != wpa_s) wpas_dbus_unregister_network(wpa_s, ssid->id); -#ifdef CONFIG_P2P wpas_p2p_network_removed(wpa_s, ssid); -#endif /* CONFIG_P2P */ } diff --git a/wpa_supplicant/p2p_supplicant.c b/wpa_supplicant/p2p_supplicant.c index b1c13dab8..6b85efecf 100644 --- a/wpa_supplicant/p2p_supplicant.c +++ b/wpa_supplicant/p2p_supplicant.c @@ -122,6 +122,7 @@ static void wpas_p2p_fallback_to_go_neg(struct wpa_supplicant *wpa_s, static int wpas_p2p_stop_find_oper(struct wpa_supplicant *wpa_s); static void wpas_stop_listen(void *ctx); static void wpas_p2p_psk_failure_removal(void *eloop_ctx, void *timeout_ctx); +static void wpas_p2p_group_deinit(struct wpa_supplicant *wpa_s); /* @@ -4016,7 +4017,7 @@ void wpas_p2p_deinit(struct wpa_supplicant *wpa_s) * * This function deinitializes the global (per device) P2P module. */ -void wpas_p2p_deinit_global(struct wpa_global *global) +static void wpas_p2p_deinit_global(struct wpa_global *global) { struct wpa_supplicant *wpa_s, *tmp; @@ -5807,7 +5808,7 @@ void wpas_p2p_scan_ie(struct wpa_supplicant *wpa_s, struct wpabuf *ies) } -void wpas_p2p_group_deinit(struct wpa_supplicant *wpa_s) +static void wpas_p2p_group_deinit(struct wpa_supplicant *wpa_s) { p2p_group_deinit(wpa_s->p2p_group); wpa_s->p2p_group = NULL; @@ -7830,3 +7831,23 @@ void wpas_p2p_indicate_state_change(struct wpa_supplicant *wpa_s) wpas_p2p_optimize_listen_channel(wpa_s, freqs, num); os_free(freqs); } + + +void wpas_p2p_deinit_iface(struct wpa_supplicant *wpa_s) +{ + if (wpa_s == wpa_s->parent) + wpas_p2p_group_remove(wpa_s, "*"); + if (wpa_s == wpa_s->global->p2p_init_wpa_s && wpa_s->global->p2p) { + wpa_dbg(wpa_s, MSG_DEBUG, "P2P: Disable P2P since removing " + "the management interface is being removed"); + wpas_p2p_deinit_global(wpa_s->global); + } +} + + +void wpas_p2p_ap_deinit(struct wpa_supplicant *wpa_s) +{ + if (wpa_s->ap_iface->bss) + wpa_s->ap_iface->bss[0]->p2p_group = NULL; + wpas_p2p_group_deinit(wpa_s); +} diff --git a/wpa_supplicant/p2p_supplicant.h b/wpa_supplicant/p2p_supplicant.h index da67e0f76..cb4bf25a1 100644 --- a/wpa_supplicant/p2p_supplicant.h +++ b/wpa_supplicant/p2p_supplicant.h @@ -16,19 +16,12 @@ struct p2p_peer_info; struct p2p_channels; struct wps_event_fail; -int wpas_p2p_init(struct wpa_global *global, struct wpa_supplicant *wpa_s); -void wpas_p2p_deinit(struct wpa_supplicant *wpa_s); -void wpas_p2p_deinit_global(struct wpa_global *global); int wpas_p2p_add_p2pdev_interface(struct wpa_supplicant *wpa_s); int wpas_p2p_connect(struct wpa_supplicant *wpa_s, const u8 *peer_addr, const char *pin, enum p2p_wps_method wps_method, int persistent_group, int auto_join, int join, int auth, int go_intent, int freq, int persistent_id, int pd, int ht40, int vht); -void wpas_p2p_remain_on_channel_cb(struct wpa_supplicant *wpa_s, - unsigned int freq, unsigned int duration); -void wpas_p2p_cancel_remain_on_channel_cb(struct wpa_supplicant *wpa_s, - unsigned int freq); int wpas_p2p_handle_frequency_conflicts(struct wpa_supplicant *wpa_s, int freq, struct wpa_ssid *ssid); int wpas_p2p_group_remove(struct wpa_supplicant *wpa_s, const char *ifname); @@ -41,8 +34,6 @@ int wpas_p2p_group_add_persistent(struct wpa_supplicant *wpa_s, int connection_timeout); struct p2p_group * wpas_p2p_group_init(struct wpa_supplicant *wpa_s, struct wpa_ssid *ssid); -void wpas_p2p_wps_success(struct wpa_supplicant *wpa_s, const u8 *peer_addr, - int registrar); enum wpas_p2p_prov_disc_use { WPAS_P2P_PD_FOR_GO_NEG, WPAS_P2P_PD_FOR_JOIN, @@ -65,15 +56,7 @@ void wpas_p2p_stop_find(struct wpa_supplicant *wpa_s); int wpas_p2p_listen(struct wpa_supplicant *wpa_s, unsigned int timeout); int wpas_p2p_assoc_req_ie(struct wpa_supplicant *wpa_s, struct wpa_bss *bss, u8 *buf, size_t len, int p2p_group); -int wpas_p2p_probe_req_rx(struct wpa_supplicant *wpa_s, const u8 *addr, - const u8 *dst, const u8 *bssid, - const u8 *ie, size_t ie_len, - int ssi_signal); -void wpas_p2p_rx_action(struct wpa_supplicant *wpa_s, const u8 *da, - const u8 *sa, const u8 *bssid, - u8 category, const u8 *data, size_t len, int freq); void wpas_p2p_scan_ie(struct wpa_supplicant *wpa_s, struct wpabuf *ies); -void wpas_p2p_group_deinit(struct wpa_supplicant *wpa_s); void wpas_p2p_group_formation_failed(struct wpa_supplicant *wpa_s); u64 wpas_p2p_sd_request(struct wpa_supplicant *wpa_s, const u8 *dst, const struct wpabuf *tlvs); @@ -101,7 +84,6 @@ int wpas_p2p_invite(struct wpa_supplicant *wpa_s, const u8 *peer_addr, int ht40, int vht, int pref_freq); int wpas_p2p_invite_group(struct wpa_supplicant *wpa_s, const char *ifname, const u8 *peer_addr, const u8 *go_dev_addr); -void wpas_p2p_completed(struct wpa_supplicant *wpa_s); int wpas_p2p_presence_req(struct wpa_supplicant *wpa_s, u32 duration1, u32 interval1, u32 duration2, u32 interval2); int wpas_p2p_ext_listen(struct wpa_supplicant *wpa_s, unsigned int period, @@ -112,26 +94,12 @@ int wpas_p2p_deauth_notif(struct wpa_supplicant *wpa_s, const u8 *bssid, void wpas_p2p_disassoc_notif(struct wpa_supplicant *wpa_s, const u8 *bssid, u16 reason_code, const u8 *ie, size_t ie_len, int locally_generated); -void wpas_p2p_update_config(struct wpa_supplicant *wpa_s); int wpas_p2p_set_noa(struct wpa_supplicant *wpa_s, u8 count, int start, int duration); int wpas_p2p_set_cross_connect(struct wpa_supplicant *wpa_s, int enabled); -void wpas_p2p_notif_connected(struct wpa_supplicant *wpa_s); -void wpas_p2p_notif_disconnected(struct wpa_supplicant *wpa_s); -int wpas_p2p_notif_pbc_overlap(struct wpa_supplicant *wpa_s); -void wpas_p2p_update_channel_list(struct wpa_supplicant *wpa_s); int wpas_p2p_cancel(struct wpa_supplicant *wpa_s); -void wpas_p2p_interface_unavailable(struct wpa_supplicant *wpa_s); -void wpas_p2p_update_best_channels(struct wpa_supplicant *wpa_s, - int freq_24, int freq_5, int freq_overall); int wpas_p2p_unauthorize(struct wpa_supplicant *wpa_s, const char *addr); int wpas_p2p_disconnect(struct wpa_supplicant *wpa_s); -void wpas_p2p_wps_failed(struct wpa_supplicant *wpa_s, - struct wps_event_fail *fail); -int wpas_p2p_wps_eapol_cb(struct wpa_supplicant *wpa_s); -int wpas_p2p_in_progress(struct wpa_supplicant *wpa_s); -void wpas_p2p_network_removed(struct wpa_supplicant *wpa_s, - struct wpa_ssid *ssid); struct wpa_ssid * wpas_p2p_get_persistent(struct wpa_supplicant *wpa_s, const u8 *addr, const u8 *ssid, size_t ssid_len); @@ -160,12 +128,125 @@ int wpas_p2p_nfc_report_handover(struct wpa_supplicant *wpa_s, int init, int wpas_p2p_nfc_tag_enabled(struct wpa_supplicant *wpa_s, int enabled); void wpas_p2p_pbc_overlap_cb(void *eloop_ctx, void *timeout_ctx); -void wpas_p2p_indicate_state_change(struct wpa_supplicant *wpa_s); - #ifdef CONFIG_P2P + +int wpas_p2p_init(struct wpa_global *global, struct wpa_supplicant *wpa_s); +void wpas_p2p_deinit(struct wpa_supplicant *wpa_s); +void wpas_p2p_completed(struct wpa_supplicant *wpa_s); +void wpas_p2p_update_config(struct wpa_supplicant *wpa_s); +int wpas_p2p_probe_req_rx(struct wpa_supplicant *wpa_s, const u8 *addr, + const u8 *dst, const u8 *bssid, + const u8 *ie, size_t ie_len, + int ssi_signal); +void wpas_p2p_wps_success(struct wpa_supplicant *wpa_s, const u8 *peer_addr, + int registrar); +void wpas_p2p_update_channel_list(struct wpa_supplicant *wpa_s); +void wpas_p2p_update_best_channels(struct wpa_supplicant *wpa_s, + int freq_24, int freq_5, int freq_overall); +void wpas_p2p_rx_action(struct wpa_supplicant *wpa_s, const u8 *da, + const u8 *sa, const u8 *bssid, + u8 category, const u8 *data, size_t len, int freq); +void wpas_p2p_remain_on_channel_cb(struct wpa_supplicant *wpa_s, + unsigned int freq, unsigned int duration); +void wpas_p2p_cancel_remain_on_channel_cb(struct wpa_supplicant *wpa_s, + unsigned int freq); +void wpas_p2p_interface_unavailable(struct wpa_supplicant *wpa_s); +void wpas_p2p_notif_connected(struct wpa_supplicant *wpa_s); +void wpas_p2p_notif_disconnected(struct wpa_supplicant *wpa_s); +int wpas_p2p_notif_pbc_overlap(struct wpa_supplicant *wpa_s); int wpas_p2p_4way_hs_failed(struct wpa_supplicant *wpa_s); void wpas_p2p_ap_setup_failed(struct wpa_supplicant *wpa_s); +void wpas_p2p_indicate_state_change(struct wpa_supplicant *wpa_s); +void wpas_p2p_deinit_iface(struct wpa_supplicant *wpa_s); +void wpas_p2p_ap_deinit(struct wpa_supplicant *wpa_s); +void wpas_p2p_network_removed(struct wpa_supplicant *wpa_s, + struct wpa_ssid *ssid); +int wpas_p2p_in_progress(struct wpa_supplicant *wpa_s); +int wpas_p2p_wps_eapol_cb(struct wpa_supplicant *wpa_s); +void wpas_p2p_wps_failed(struct wpa_supplicant *wpa_s, + struct wps_event_fail *fail); + #else /* CONFIG_P2P */ + +static inline int +wpas_p2p_init(struct wpa_global *global, struct wpa_supplicant *wpa_s) +{ + return 0; +} + +static inline void wpas_p2p_deinit(struct wpa_supplicant *wpa_s) +{ +} + +static inline void wpas_p2p_completed(struct wpa_supplicant *wpa_s) +{ +} + +static inline void wpas_p2p_update_config(struct wpa_supplicant *wpa_s) +{ +} + +static inline int wpas_p2p_probe_req_rx(struct wpa_supplicant *wpa_s, + const u8 *addr, + const u8 *dst, const u8 *bssid, + const u8 *ie, size_t ie_len, + int ssi_signal) +{ + return 0; +} + +static inline void wpas_p2p_wps_success(struct wpa_supplicant *wpa_s, + const u8 *peer_addr, int registrar) +{ +} + +static inline void wpas_p2p_update_channel_list(struct wpa_supplicant *wpa_s) +{ +} + +static inline void wpas_p2p_update_best_channels(struct wpa_supplicant *wpa_s, + int freq_24, int freq_5, + int freq_overall) +{ +} + +static inline void wpas_p2p_rx_action(struct wpa_supplicant *wpa_s, + const u8 *da, + const u8 *sa, const u8 *bssid, + u8 category, const u8 *data, size_t len, + int freq) +{ +} + +static inline void wpas_p2p_remain_on_channel_cb(struct wpa_supplicant *wpa_s, + unsigned int freq, + unsigned int duration) +{ +} + +static inline void +wpas_p2p_cancel_remain_on_channel_cb(struct wpa_supplicant *wpa_s, + unsigned int freq) +{ +} + +static inline void wpas_p2p_interface_unavailable(struct wpa_supplicant *wpa_s) +{ +} + +static inline void wpas_p2p_notif_connected(struct wpa_supplicant *wpa_s) +{ +} + +static inline void wpas_p2p_notif_disconnected(struct wpa_supplicant *wpa_s) +{ +} + +static inline int wpas_p2p_notif_pbc_overlap(struct wpa_supplicant *wpa_s) +{ + return 0; +} + static inline int wpas_p2p_4way_hs_failed(struct wpa_supplicant *wpa_s) { return 0; @@ -174,6 +255,39 @@ static inline int wpas_p2p_4way_hs_failed(struct wpa_supplicant *wpa_s) static inline void wpas_p2p_ap_setup_failed(struct wpa_supplicant *wpa_s) { } + +static inline void wpas_p2p_indicate_state_change(struct wpa_supplicant *wpa_s) +{ +} + +static inline void wpas_p2p_deinit_iface(struct wpa_supplicant *wpa_s) +{ +} + +static inline void wpas_p2p_ap_deinit(struct wpa_supplicant *wpa_s) +{ +} + +static inline void wpas_p2p_network_removed(struct wpa_supplicant *wpa_s, + struct wpa_ssid *ssid) +{ +} + +static inline int wpas_p2p_in_progress(struct wpa_supplicant *wpa_s) +{ + return 0; +} + +static inline int wpas_p2p_wps_eapol_cb(struct wpa_supplicant *wpa_s) +{ + return 0; +} + +static inline void wpas_p2p_wps_failed(struct wpa_supplicant *wpa_s, + struct wps_event_fail *fail) +{ +} + #endif /* CONFIG_P2P */ #endif /* P2P_SUPPLICANT_H */ diff --git a/wpa_supplicant/scan.c b/wpa_supplicant/scan.c index 4d96e82cd..aaef3c311 100644 --- a/wpa_supplicant/scan.c +++ b/wpa_supplicant/scan.c @@ -605,13 +605,11 @@ static void wpa_supplicant_scan(void *eloop_ctx, void *timeout_ctx) return; } -#ifdef CONFIG_P2P if (wpas_p2p_in_progress(wpa_s)) { wpa_dbg(wpa_s, MSG_DEBUG, "Delay station mode scan while P2P operation is in progress"); wpa_supplicant_req_scan(wpa_s, 5, 0); return; } -#endif /* CONFIG_P2P */ if (wpa_s->conf->ap_scan == 2) max_ssids = 1; diff --git a/wpa_supplicant/wpa_supplicant.c b/wpa_supplicant/wpa_supplicant.c index 88862b605..28d763ca0 100644 --- a/wpa_supplicant/wpa_supplicant.c +++ b/wpa_supplicant/wpa_supplicant.c @@ -447,9 +447,7 @@ static void wpa_supplicant_cleanup(struct wpa_supplicant *wpa_s) wpa_supplicant_ap_deinit(wpa_s); #endif /* CONFIG_AP */ -#ifdef CONFIG_P2P wpas_p2p_deinit(wpa_s); -#endif /* CONFIG_P2P */ #ifdef CONFIG_OFFCHANNEL offchannel_deinit(wpa_s); @@ -705,9 +703,7 @@ void wpa_supplicant_set_state(struct wpa_supplicant *wpa_s, #endif /* IEEE8021X_EAPOL */ wpa_s->after_wps = 0; wpa_s->known_wps_freq = 0; -#ifdef CONFIG_P2P wpas_p2p_completed(wpa_s); -#endif /* CONFIG_P2P */ sme_sched_obss_scan(wpa_s, 1); } else if (state == WPA_DISCONNECTED || state == WPA_ASSOCIATING || @@ -737,13 +733,11 @@ void wpa_supplicant_set_state(struct wpa_supplicant *wpa_s, if (wpa_s->wpa_state != old_state) { wpas_notify_state_changed(wpa_s, wpa_s->wpa_state, old_state); -#ifdef CONFIG_P2P /* * Notify the P2P Device interface about a state change in one * of the interfaces. */ wpas_p2p_indicate_state_change(wpa_s); -#endif /* CONFIG_P2P */ if (wpa_s->wpa_state == WPA_COMPLETED || old_state == WPA_COMPLETED) @@ -3733,12 +3727,10 @@ static int wpa_supplicant_init_iface(struct wpa_supplicant *wpa_s, return -1; } -#ifdef CONFIG_P2P if (iface->p2p_mgmt && wpas_p2p_init(wpa_s->global, wpa_s) < 0) { wpa_msg(wpa_s, MSG_ERROR, "Failed to init P2P"); return -1; } -#endif /* CONFIG_P2P */ if (wpa_bss_init(wpa_s) < 0) return -1; @@ -3789,16 +3781,7 @@ static void wpa_supplicant_deinit_iface(struct wpa_supplicant *wpa_s, } wpa_supplicant_cleanup(wpa_s); - -#ifdef CONFIG_P2P - if (wpa_s == wpa_s->parent) - wpas_p2p_group_remove(wpa_s, "*"); - if (wpa_s == wpa_s->global->p2p_init_wpa_s && wpa_s->global->p2p) { - wpa_dbg(wpa_s, MSG_DEBUG, "P2P: Disable P2P since removing " - "the management interface is being removed"); - wpas_p2p_deinit_global(wpa_s->global); - } -#endif /* CONFIG_P2P */ + wpas_p2p_deinit_iface(wpa_s); wpas_ctrl_radio_work_flush(wpa_s); radio_remove_interface(wpa_s); @@ -4227,11 +4210,7 @@ void wpa_supplicant_update_config(struct wpa_supplicant *wpa_s) #ifdef CONFIG_WPS wpas_wps_update_config(wpa_s); #endif /* CONFIG_WPS */ - -#ifdef CONFIG_P2P wpas_p2p_update_config(wpa_s); -#endif /* CONFIG_P2P */ - wpa_s->conf->changed_parameters = 0; } diff --git a/wpa_supplicant/wps_supplicant.c b/wpa_supplicant/wps_supplicant.c index de015eec5..fd0d14a87 100644 --- a/wpa_supplicant/wps_supplicant.c +++ b/wpa_supplicant/wps_supplicant.c @@ -73,10 +73,8 @@ static void wpas_wps_assoc_with_cred_cancel(struct wpa_supplicant *wpa_s) int wpas_wps_eapol_cb(struct wpa_supplicant *wpa_s) { -#ifdef CONFIG_P2P if (wpas_p2p_wps_eapol_cb(wpa_s) > 0) return 1; -#endif /* CONFIG_P2P */ if (!wpa_s->wps_success && wpa_s->current_ssid && @@ -576,9 +574,7 @@ static void wpa_supplicant_wps_event_fail(struct wpa_supplicant *wpa_s, eloop_register_timeout(0, 100000, wpas_wps_clear_timeout, wpa_s, NULL); wpas_notify_wps_event_fail(wpa_s, fail); -#ifdef CONFIG_P2P wpas_p2p_wps_failed(wpa_s, fail); -#endif /* CONFIG_P2P */ } @@ -637,9 +633,7 @@ static void wpa_supplicant_wps_event_success(struct wpa_supplicant *wpa_s) eloop_register_timeout(10, 0, wpas_wps_reenable_networks_cb, wpa_s, NULL); -#ifdef CONFIG_P2P wpas_p2p_wps_success(wpa_s, wpa_s->bssid, 0); -#endif /* CONFIG_P2P */ }