85298df7eab38a745ac17977d8225e963e3448ca
[openwrt/staging/jow.git] / package / network / services / hostapd / patches / 350-nl80211_del_beacon_bss.patch
1 --- a/src/drivers/driver_nl80211.c
2 +++ b/src/drivers/driver_nl80211.c
3 @@ -2938,11 +2938,11 @@ static int wpa_driver_nl80211_del_beacon
4 struct wpa_driver_nl80211_data *drv = bss->drv;
5
6 wpa_printf(MSG_DEBUG, "nl80211: Remove beacon (ifindex=%d)",
7 - drv->ifindex);
8 + bss->ifindex);
9 bss->beacon_set = 0;
10 bss->freq = 0;
11 nl80211_put_wiphy_data_ap(bss);
12 - msg = nl80211_drv_msg(drv, 0, NL80211_CMD_DEL_BEACON);
13 + msg = nl80211_bss_msg(drv, 0, NL80211_CMD_DEL_BEACON);
14 return send_and_recv_msgs(drv, msg, NULL, NULL, NULL, NULL);
15 }
16
17 @@ -5661,7 +5661,7 @@ static void nl80211_teardown_ap(struct i
18 nl80211_mgmt_unsubscribe(bss, "AP teardown");
19
20 nl80211_put_wiphy_data_ap(bss);
21 - bss->beacon_set = 0;
22 + wpa_driver_nl80211_del_beacon(bss);
23 }
24
25
26 @@ -8120,8 +8120,6 @@ static int wpa_driver_nl80211_if_remove(
27 } else {
28 wpa_printf(MSG_DEBUG, "nl80211: First BSS - reassign context");
29 nl80211_teardown_ap(bss);
30 - if (!bss->added_if && !drv->first_bss->next)
31 - wpa_driver_nl80211_del_beacon(bss);
32 nl80211_destroy_bss(bss);
33 if (!bss->added_if)
34 i802_set_iface_flags(bss, 0);