X-Git-Url: https://git.rohieb.name/openwrt.git/blobdiff_plain/92ca87f9e7ed1b52208366537d563a211f6680c1..e6052b47553809084175890592766b5c7be6ccf4:/package/hostapd/patches/150-mbss_driver_handling.patch diff --git a/package/hostapd/patches/150-mbss_driver_handling.patch b/package/hostapd/patches/150-mbss_driver_handling.patch index ccae4e6db..6c55b4095 100644 --- a/package/hostapd/patches/150-mbss_driver_handling.patch +++ b/package/hostapd/patches/150-mbss_driver_handling.patch @@ -735,7 +735,7 @@ NLA_PUT(msg, NL80211_ATTR_MAC, ETH_ALEN, addr); NLA_PUT_U32(msg, NL80211_ATTR_STA_VLAN, if_nametoindex(ifname)); -@@ -4181,10 +4174,11 @@ static int i802_set_sta_vlan(void *priv, +@@ -4181,18 +4174,19 @@ static int i802_set_sta_vlan(void *priv, static int i802_set_wds_sta(void *priv, const u8 *addr, int aid, int val) { @@ -747,9 +747,10 @@ - os_snprintf(name, sizeof(name), "%s.sta%d", drv->ifname, aid); + os_snprintf(name, sizeof(name), "%s.sta%d", bss->ifname, aid); if (val) { - if (nl80211_create_iface(priv, name, NL80211_IFTYPE_AP_VLAN, +- if (nl80211_create_iface(priv, name, NL80211_IFTYPE_AP_VLAN, ++ if (nl80211_create_iface(drv, name, NL80211_IFTYPE_AP_VLAN, NULL, 1) < 0) -@@ -4192,7 +4186,7 @@ static int i802_set_wds_sta(void *priv, + return -1; linux_set_iface_flags(drv->ioctl_sock, name, 1); return i802_set_sta_vlan(priv, addr, name, 0); } else { @@ -902,8 +903,12 @@ return -1; } -@@ -4484,9 +4483,12 @@ static int wpa_driver_nl80211_if_add(con - os_free(bss); +@@ -4481,12 +4480,15 @@ static int wpa_driver_nl80211_if_add(con + if (type == WPA_IF_AP_BSS) { + if (linux_set_iface_flags(drv->ioctl_sock, ifname, 1)) { + nl80211_remove_iface(drv, ifidx); +- os_free(bss); ++ os_free(new_bss); return -1; } - bss->ifindex = ifidx;