]> git.ipfire.org Git - thirdparty/hostap.git/commitdiff
Clean up setting of iface->p2p_mgmt flag
authorVasyl Vavrychuk <vvavrychuk@gmail.com>
Mon, 12 Feb 2018 19:29:06 +0000 (21:29 +0200)
committerJouni Malinen <j@w1.fi>
Mon, 2 Apr 2018 09:13:59 +0000 (12:13 +0300)
Previously we set this flag to one in wpa_supplicant_init_iface() if
Wi-Fi controller does not have a dedicated P2P-interface.

This setting had effect only in scope of wpa_supplicant_init_iface() and
it contradicts with comment to struct wpa_interface::p2p_mgmt field.
This comment says that this flag is used only if Wi-Fi controller has
dedicated P2P-device interface.

Also it contradicts with usage of similiar p2p_mgmt field in struct
wpa_supplicant. Again struct wpa_supplicant::p2p_mgmt is set only for
dedicated P2P-device interface.

After this change wpa_interface become input argument to
wpa_supplicant_init_iface() that we are not modifying.

Signed-off-by: Vasyl Vavrychuk <vvavrychuk@gmail.com>
wpa_supplicant/wpa_supplicant.c

index 68184dfdee6a156c169c57a07d448e221dc6f300..2a05ef910f95fd2fd0bed212864ce60f07ccd666 100644 (file)
@@ -5144,7 +5144,7 @@ radio_work_pending(struct wpa_supplicant *wpa_s, const char *type)
 
 
 static int wpas_init_driver(struct wpa_supplicant *wpa_s,
-                           struct wpa_interface *iface)
+                           const struct wpa_interface *iface)
 {
        const char *ifname, *driver, *rn;
 
@@ -5228,7 +5228,7 @@ static void wpas_gas_server_tx(void *ctx, int freq, const u8 *da,
 #endif /* CONFIG_GAS_SERVER */
 
 static int wpa_supplicant_init_iface(struct wpa_supplicant *wpa_s,
-                                    struct wpa_interface *iface)
+                                    const struct wpa_interface *iface)
 {
        struct wpa_driver_capa capa;
        int capa_res;
@@ -5429,8 +5429,6 @@ static int wpa_supplicant_init_iface(struct wpa_supplicant *wpa_s,
         */
        if (wpa_s->drv_flags & WPA_DRIVER_FLAGS_DEDICATED_P2P_DEVICE)
                wpa_s->p2p_mgmt = iface->p2p_mgmt;
-       else
-               iface->p2p_mgmt = 1;
 
        if (wpa_s->num_multichan_concurrent == 0)
                wpa_s->num_multichan_concurrent = 1;
@@ -5439,10 +5437,7 @@ static int wpa_supplicant_init_iface(struct wpa_supplicant *wpa_s,
                return -1;
 
 #ifdef CONFIG_TDLS
-       if ((!iface->p2p_mgmt ||
-            !(wpa_s->drv_flags &
-              WPA_DRIVER_FLAGS_DEDICATED_P2P_DEVICE)) &&
-           wpa_tdls_init(wpa_s->wpa))
+       if (!iface->p2p_mgmt && wpa_tdls_init(wpa_s->wpa))
                return -1;
 #endif /* CONFIG_TDLS */
 
@@ -5514,7 +5509,9 @@ static int wpa_supplicant_init_iface(struct wpa_supplicant *wpa_s,
                return -1;
        }
 
-       if (iface->p2p_mgmt && wpas_p2p_init(wpa_s->global, wpa_s) < 0) {
+       if ((!(wpa_s->drv_flags & WPA_DRIVER_FLAGS_DEDICATED_P2P_DEVICE) ||
+            wpa_s->p2p_mgmt) &&
+           wpas_p2p_init(wpa_s->global, wpa_s) < 0) {
                wpa_msg(wpa_s, MSG_ERROR, "Failed to init P2P");
                return -1;
        }