|
|
@@ -293,7 +293,7 @@ as adding/removing interfaces.
|
|
|
|
|
|
static struct nl_sock * nl_create_handle(struct nl_cb *cb, const char *dbg)
|
|
|
{
|
|
|
-@@ -435,6 +445,11 @@ static int no_seq_check(struct nl_msg *m
|
|
|
+@@ -437,6 +447,11 @@ static int no_seq_check(struct nl_msg *m
|
|
|
return NL_OK;
|
|
|
}
|
|
|
|
|
|
@@ -305,7 +305,7 @@ as adding/removing interfaces.
|
|
|
|
|
|
static void nl80211_nlmsg_clear(struct nl_msg *msg)
|
|
|
{
|
|
|
-@@ -509,6 +524,8 @@ int send_and_recv_glb(struct nl80211_glo
|
|
|
+@@ -511,6 +526,8 @@ int send_and_recv_glb(struct nl80211_glo
|
|
|
if (!msg)
|
|
|
return -ENOMEM;
|
|
|
|
|
|
@@ -314,7 +314,7 @@ as adding/removing interfaces.
|
|
|
err.err = -ENOMEM;
|
|
|
|
|
|
s_nl_cb = nl_socket_get_cb(nl_handle);
|
|
|
-@@ -550,6 +567,7 @@ int send_and_recv_glb(struct nl80211_glo
|
|
|
+@@ -552,6 +569,7 @@ int send_and_recv_glb(struct nl80211_glo
|
|
|
err.err_info = err_info;
|
|
|
err.drv = drv;
|
|
|
|
|
|
@@ -322,7 +322,7 @@ as adding/removing interfaces.
|
|
|
nl_cb_err(cb, NL_CB_CUSTOM, error_handler, &err);
|
|
|
nl_cb_set(cb, NL_CB_FINISH, NL_CB_CUSTOM, finish_handler, &err.err);
|
|
|
if (ack_handler_custom) {
|
|
|
-@@ -971,6 +989,7 @@ nl80211_get_wiphy_data_ap(struct i802_bs
|
|
|
+@@ -973,6 +991,7 @@ nl80211_get_wiphy_data_ap(struct i802_bs
|
|
|
os_free(w);
|
|
|
return NULL;
|
|
|
}
|
|
|
@@ -330,7 +330,7 @@ as adding/removing interfaces.
|
|
|
nl_cb_set(w->nl_cb, NL_CB_SEQ_CHECK, NL_CB_CUSTOM,
|
|
|
no_seq_check, NULL);
|
|
|
nl_cb_set(w->nl_cb, NL_CB_VALID, NL_CB_CUSTOM,
|
|
|
-@@ -1399,7 +1418,7 @@ static void wpa_driver_nl80211_event_rtm
|
|
|
+@@ -1401,7 +1420,7 @@ static void wpa_driver_nl80211_event_rtm
|
|
|
}
|
|
|
wpa_printf(MSG_DEBUG, "nl80211: Interface down (%s/%s)",
|
|
|
namebuf, ifname);
|
|
|
@@ -339,7 +339,7 @@ as adding/removing interfaces.
|
|
|
wpa_printf(MSG_DEBUG,
|
|
|
"nl80211: Not the main interface (%s) - do not indicate interface down",
|
|
|
drv->first_bss->ifname);
|
|
|
-@@ -1435,7 +1454,7 @@ static void wpa_driver_nl80211_event_rtm
|
|
|
+@@ -1437,7 +1456,7 @@ static void wpa_driver_nl80211_event_rtm
|
|
|
}
|
|
|
wpa_printf(MSG_DEBUG, "nl80211: Interface up (%s/%s)",
|
|
|
namebuf, ifname);
|
|
|
@@ -348,7 +348,7 @@ as adding/removing interfaces.
|
|
|
wpa_printf(MSG_DEBUG,
|
|
|
"nl80211: Not the main interface (%s) - do not indicate interface up",
|
|
|
drv->first_bss->ifname);
|
|
|
-@@ -2128,6 +2147,7 @@ static int wpa_driver_nl80211_init_nl_gl
|
|
|
+@@ -2130,6 +2149,7 @@ static int wpa_driver_nl80211_init_nl_gl
|
|
|
genl_family_put(family);
|
|
|
nl_cache_free(cache);
|
|
|
|
|
|
@@ -356,7 +356,7 @@ as adding/removing interfaces.
|
|
|
nl_cb_set(global->nl_cb, NL_CB_SEQ_CHECK, NL_CB_CUSTOM,
|
|
|
no_seq_check, NULL);
|
|
|
nl_cb_set(global->nl_cb, NL_CB_VALID, NL_CB_CUSTOM,
|
|
|
-@@ -2298,6 +2318,7 @@ static int nl80211_init_bss(struct i802_
|
|
|
+@@ -2300,6 +2320,7 @@ static int nl80211_init_bss(struct i802_
|
|
|
if (!bss->nl_cb)
|
|
|
return -1;
|
|
|
|
|
|
@@ -364,7 +364,7 @@ as adding/removing interfaces.
|
|
|
nl_cb_set(bss->nl_cb, NL_CB_SEQ_CHECK, NL_CB_CUSTOM,
|
|
|
no_seq_check, NULL);
|
|
|
nl_cb_set(bss->nl_cb, NL_CB_VALID, NL_CB_CUSTOM,
|
|
|
-@@ -8849,6 +8870,7 @@ static void *i802_init(struct hostapd_da
|
|
|
+@@ -8851,6 +8872,7 @@ static void *i802_init(struct hostapd_da
|
|
|
char master_ifname[IFNAMSIZ];
|
|
|
int ifindex, br_ifindex = 0;
|
|
|
int br_added = 0;
|
|
|
@@ -372,7 +372,7 @@ as adding/removing interfaces.
|
|
|
|
|
|
bss = wpa_driver_nl80211_drv_init(hapd, params->ifname,
|
|
|
params->global_priv, 1,
|
|
|
-@@ -8909,21 +8931,17 @@ static void *i802_init(struct hostapd_da
|
|
|
+@@ -8911,21 +8933,17 @@ static void *i802_init(struct hostapd_da
|
|
|
(params->num_bridge == 0 || !params->bridge[0]))
|
|
|
add_ifidx(drv, br_ifindex, drv->ifindex);
|
|
|
|
|
|
@@ -404,7 +404,7 @@ as adding/removing interfaces.
|
|
|
}
|
|
|
|
|
|
if (drv->capa.flags2 & WPA_DRIVER_FLAGS2_CONTROL_PORT_RX) {
|
|
|
-@@ -9302,6 +9320,50 @@ static int wpa_driver_nl80211_if_remove(
|
|
|
+@@ -9304,6 +9322,50 @@ static int wpa_driver_nl80211_if_remove(
|
|
|
return 0;
|
|
|
}
|
|
|
|
|
|
@@ -455,7 +455,7 @@ as adding/removing interfaces.
|
|
|
|
|
|
static int cookie_handler(struct nl_msg *msg, void *arg)
|
|
|
{
|
|
|
-@@ -11180,6 +11242,37 @@ static bool nl80211_is_drv_shared(void *
|
|
|
+@@ -11182,6 +11244,37 @@ static bool nl80211_is_drv_shared(void *
|
|
|
#endif /* CONFIG_IEEE80211BE */
|
|
|
|
|
|
|
|
|
@@ -493,7 +493,7 @@ as adding/removing interfaces.
|
|
|
static int driver_nl80211_send_mlme(void *priv, const u8 *data,
|
|
|
size_t data_len, int noack,
|
|
|
unsigned int freq,
|
|
|
-@@ -14999,6 +15092,8 @@ const struct wpa_driver_ops wpa_driver_n
|
|
|
+@@ -15001,6 +15094,8 @@ const struct wpa_driver_ops wpa_driver_n
|
|
|
.set_acl = wpa_driver_nl80211_set_acl,
|
|
|
.if_add = wpa_driver_nl80211_if_add,
|
|
|
.if_remove = driver_nl80211_if_remove,
|